2015-12-13 4 views
0

Я пытаюсь передать переменную note_id с страницы индекса на страницу view_note_2, но по какой-то причине переменная не проходит, я не совсем понимаю, что это может помочь мне здесь и объяснитьПередача переменных на другую страницу

index.php

$note_query = mysql_query("SELECT * FROM `notes` WHERE `user_id` ='$my_id'"); 
while ($run_note = mysql_fetch_assoc($note_query)) 
     { 
      $note_id = $run_note['id'];    
      echo "<a id='list_user' href='view_note_2.php?note=$note_id'><br>"; 
     } 

?> 

view_note_2.php

if(isset($_GET['note_id']) && !empty($_GET['note_id']))/* unable to get `note_id` */ 
     { 
      $note_id=$_GET['note_id']; 

      $note_query = mysql_query("SELECT * FROM `notes` WHERE `id` ='$note_id'"); 
+0

Возможно, в первом скрипте положить скобки {} вокруг строки $ note_id в выражении echo – SyntaxLAMP

ответ

1

Вы должны изменить $_GET['note_id'] на $_GET['note'].

Успехов

2

вы должны начать использовать отладчик (Xdebug?), но так как вы делаете PHP много сим pler, чтобы начать печатать некоторые переменные и посмотреть, что происходит.

Например, попробуйте запустить это и просмотреть выходные данные в журнале ошибок. Если вы не знаете, что это такое или где оно находится, вы можете захотеть об этом подумать.

$note_query = mysql_query("SELECT * FROM `notes` WHERE `user_id` = $my_id"); 
while ($run_note = mysql_fetch_assoc($note_query)) { 
    error_log('run_note:' . print_r($run_note, 1)); 
    $note_id = $run_note['id']; 
    error_log('note_id:' . $note_id); 
    echo "<a id='list_user' href='view_note_2.php?note=$note_id'><br>"; 
} 

Примечание: Как было отмечено другими пользователями, вы используете GET переменная note но вы имеете в виду это как note_id так же изменить свой код на этот

if(isset($_GET['note']) && !empty($_GET['note'])) { 
    $note_id=$_GET['note']; 
    $note_query = mysql_query("SELECT * FROM `notes` WHERE `id` =$note_id"); 
} 

пс: вы может захотеть избежать параметров, которые вы используете в запросах, иначе вы будете подвержены SQL-инъекциям. Вы можете найти больше информации с google, this one - хорошее начало

2

Имя параметра, что страница получает это «нота», в то время как в view_note_2.php вы ищите параметр с именем 'note_id. Кроме того, я бы посоветовал защитить ваши запросы от SQL-инъекций, так как теперь любой может добавить любое значение в параметр «note», который непосредственно используется в запросе.

Смежные вопросы