我在产品详细信息页面顶部有以下代码
<?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 调用完成表单提交,因此页面不应再次加载
从中删除int,不需要它。
$ID = $_REQUEST['id'];
表单中没有名为 ID 的元素
所以当你要抓住这个时,它发生了错误
$ID = $_REQUEST['id'];
^ provide actual form element's name here
当您从上一页进入此页面时,它没有显示错误
从它提交后显示错误。
如果是,请在表单中添加隐藏元素
<input type='hidden' name='id' value="<?php echo $ID; ?>">
它将解决问题
使用其他单词作为属性name
而不是将其命名为 id
您可以将其设置为 user_id
或其他您想要的东西,因为这不是一个好的做法
if(isset($_REQUEST['user_id'])){
$ID = $_REQUEST['user_id'];
}