我在产品详细信息页面顶部有以下代码
<?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调用完成,因此页面不应该再次加载
答案 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'];
}