2013-09-07 3 views
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); 
?> 

здесь я получаю ошибку

Примечание: Undefined индекс: идентификатор в \ product_detail.php на линия 5

(который $ID = (int)$_REQUEST['id'];)

в основном я создаю форму оценки на продукте, пожалуйста, если кто-то может изменить код, так что форма представления может быть выполнена с помощью ajax jquery call, поэтому страница не должна снова загружаться

ответ

0

Используйте другое слово как атрибут name, а не называть его а id вы можете установить его на user_id или что-то еще, что вы хотите, потому что это не очень хорошая практика

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

его показ такой же ошибки –

+0

, что это ошибка –

4

удалить ИНТ с ней не нуждается.

$ID = $_REQUEST['id']; 
+0

не исправлена ​​ошибка. int используется, чтобы исключить только целочисленное значение, чтобы избежать внедрения sql –

+0

try $ _POST ['id'] это может помочь вам –

1

Там нет элемента с именем ID в вашей форме

Итак, когда вы собираетесь поймать этого произошла ошибка

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

Когда вы идете на эту страницу с предыдущей страницы она не показывая ошибку

после отправки с этого момента появляется ошибка.

Если, добавить скрытый элемент в вашей форме

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

Это позволит решить проблему

+0

Я думаю, что это не сработает, поскольку $ _REQUEST ['id'] поступает с предыдущей страницы. на этой странице отображается подробная информация о продукте с этим идентификатором –

+0

@MirzaSahaib: ответьте, как вы говорите. попробуйте сейчас – Salim

+0

теперь его не показывает ошибку, но когда я нажимаю на отправку только страниц, обновляется и ничего не происходит, значит, данные не вставлены в базу данных –