1

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

<?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 调用完成表单提交,因此页面不应再次加载

4

3 回答 3

4

从中删除 int 不需要它。

$ID = $_REQUEST['id'];
于 2013-09-07T13:25:08.943 回答
1

您的表单中没有名为 ID 的元素

因此,当您要捕获此错误时

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

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

从它提交后显示错误。

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

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

它会解决问题

于 2013-09-07T13:46:14.910 回答
0

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

if(isset($_REQUEST['user_id'])){
    $ID = $_REQUEST['user_id'];
    }
于 2013-09-07T13:22:16.097 回答