无法提交表格

时间:2015-06-22 03:34:37

标签: javascript php

基本上我有一个带有5个单选按钮的表单。没有提交按钮。我希望在用户点击任何单选按钮时运行该表单,这就是我所做的。

<input id="5" type="radio" name="star" onchange="this.form.submit();" <?php if ($row["star"] =="5") echo "checked";?> value="5"/>

表单需要一个查询字符串,所以我正在使用像这样的表单操作

<form name="submit" action="http://example.com/page.php?id=<?php echo $urlid;?>&title=<?php echo $title;?>" method="POST">

我的php是

if ($_POST["submit"]) {
    $rating = $_POST['star'];
    $title = $_GET['title'];
    $verification = ($_GET['verification']);
} else {
    //run the page like usual
}

经过测试,我发现onclick,它运行表单操作,但在php端,它转到“else”,其中运行页面就像往常一样。有任何想法吗?

3 个答案:

答案 0 :(得分:2)

您的PHP正在检查$_POST['submit']是否包含值。您的表单不包含具有属性name="submit"的表单元素,因此它会失败并直接转到 else 语句。

如果您想检查表单是否已发布,那么您应该检查:

if (!empty($_POST)) {}

if ($_SERVER['REQUEST_METHOD'] == 'POST') {}

答案 1 :(得分:1)

表单元素似乎具有无效属性,缺少引号和空格 通常更容易编写更多代码,并使其更清晰

<?php
   $url = "http://example.com/page.php?id=". $urlid ."&title=". $title;
?>

<form name="submit" action="<?php echo $url; ?>" method="POST">

答案 2 :(得分:0)

由于您正在检查 -

if ($_POST["submit"]) { // this checks whether there is any item named 'submit' inside the POST or not
} else {
    //run the page like usual
}

最简单的方法是放置一个名为submit的隐藏项,以便检查验证为true-

<form .. >
     ....
     <input type='hidden' name='submit' value='submit' />
</form>