在产品详细信息页面上提交表单

时间:2013-09-07 13:19:58

标签: php mysql

我在产品详细信息页面顶部有以下代码

<?php
    include("include/connection.php");
    session_start();
    $ses_id = session_id();
    $ID = (int)$_REQUEST['id'];     

    if (!isset ($_POST['submit']))
    {
?>

<div class="row">
    <div class="span9">
        <div class="span6 ">
            <h4>Review(0)</h4>
            <p>There are no review for this product</p>
            <h4>Write a Review</h4>
        <form method="POST" action="<?php echo $_SERVER['PHP_SELF'];?>">
                <p>Your Name:</p>
                <input type="text" id="txtname" name="Rname" placeholder="write your name..." />
            <p>Your Review</p>
                Excelent<input type="radio" name="reviewbtn" class="radio" value="Excelent" />
            Good<input type="radio" class="radio" name="reviewbtn" value="Good" />
            Poor<input type="radio" class="radio" name="reviewbtn" value="Poor" /><br/>
                <textarea id="txtreview" name="txtbx" cols="50" rows="10" 
                            class="container-fluid"></textarea>
                <input type="submit" value="submit" class="btn" />
            </form>
        </div>
    </div>
</div>

<?php
    } else { 
        $Rname = mysql_real_escape_string(stripslashes(htmlentities($_POST["Rname"])));
        $Reviewbtn  = $_POST["reviewbtn"];
        $Txtbox= mysql_real_escape_string(stripslashes(htmlentities($_POST["txtbx"])));

        $sql=mysql_query ("INSERT INTO reviews (Name, Comments,Rating) VALUES('$Rname','$Reviewbtn','$Txtbox')", $con) or die (mysql_error());

        echo "Record added succesfully. You will be redirected to previous page in 5 seconds";
        header( "refresh:5;url= product_detail.php" );
    }
    mysql_close($con);
?>

这里我收到错误

  

注意:未定义的索引:第5行的\ product_detail.php中的id

$ID = (int)$_REQUEST['id'];

基本上我正在构建产品的评级表,如果有人可以修改代码,那么表单提交可以使用ajax jquery调用完成,因此页面不应该再次加载

3 个答案:

答案 0 :(得分:4)

从中删除int,不需要它。

$ID = $_REQUEST['id'];

答案 1 :(得分:1)

表单中没有名为ID的元素

所以,当你要抓住这个时,就会发生错误

 $ID = $_REQUEST['id']; 
                   ^ provide actual form element's name here 

当您从上一页访问此页面时,它没有显示错误

提交之后

显示错误。

如果是,请在表单中添加隐藏元素

<input type='hidden' name='id' value="<?php echo $ID; ?>">

它将解决问题

答案 2 :(得分:0)

使用其他单词作为name属性,而不是将其命名为id,您可以将其设置为user_id或其他您想要的内容,因为这不是一个好习惯

if(isset($_REQUEST['user_id'])){
    $ID = $_REQUEST['user_id'];
    }