2015-06-15 4 views
0

Я пытаюсь передать идентификатор с одной страницы на другую. Я получаю этот идентификатор на другой странице, и я пытаюсь вставить этот идентификатор в другую таблицу. Подумайте, что у меня есть один вопрос в таблице, и я беру идентификатор вопроса из этой таблицы и передавая его на другую страницу. Я пытаюсь сохранить этот идентификатор в другой таблице «ответ» на следующей странице. Вот codes-Вставка идентификатора через PHP и MySQL

Первый PAGE-

<?php 

       require('connect_db.php'); 
       $strSQL = "SELECT * FROM question"; 
       $rs = mysqli_query($conn,$strSQL); 
       while($row = mysqli_fetch_array($rs,MYSQLI_ASSOC)) { 

        echo "<a href='AddAnswer.php?IsEdit=1&ID=" .$row['qu_title']. "'><h3 style='font-family: Georgia;margin-left: 3.8%'>".$row['qu_title']."</h3></a>"; 
        echo "<h5 style='font-family: Georgia;margin-left: 3.8%'>".$row['qu_text']."</h5>"; 
        echo "<hr>"; 
        } 

       mysqli_close($conn); 

      ?> 

Второй Page-

<?php 
    session_start(); 
    require('connect_db.php'); 
    if (isset($_SESSION['email']) and $_SESSION['loggedin'] == "true") { 

    global $id; 
$id = ($_GET['ID']); 
//echo $id; 
if (isset($_POST['answer'])) 
{ 
    $answer=$_POST['answer']; 
    mysqli_query($conn,"INSERT INTO answer(qu_id,ans_text)VALUES 
    ('$id','$answer')"); 
    header("location:Main.php?msg=success"); 
    mysqli_close($conn); 
    } 
} 

else { 
    header("location:Login.php?msg=try"); 
    } 
?> 

Но, как представляется, проблема в вставке этого идентификатора. Может ли кто-нибудь выяснить эту проблему?

+0

Не могли бы вы немного пояснить, в чем проблема? Вы получили сообщение об ошибке? – Burki

+0

Возможно, вы захотите добавить правильное пространство в «INSERT INTO answer (qu_id, ans_text) VALUES», если это не опечатка. –

+0

@Burki Я не получаю сообщение об ошибке. Но данные, то есть идентификатор, не попадают в таблицу «ответ». –

ответ

0

У вас не может быть POST и GET в том же кодовом блоке. Предполагая, что скрипт form/php также возвращает значения в формате GET, в этом случае либо вы должны сначала получить идентификатор, либо отправить ответ и идентификатор на вторую страницу. или передать ответ и идентификатор через метод get. Тем не менее, можно использовать как GET, так и POST, если скрипт form/php возвращает POST-данные, а URL-адрес содержит дополнительные данные GET.

+0

'У вас не может быть POST и GET в том же блоке кода.' Да, вы можете. Возможно, вы могли бы прояснить это утверждение? – Eborbob

1

Вы передаете значение с первой страницы на вторую страницу как метод get. Но на второй странице вы используете этот $ _POST ['ID'], чтобы вставить значение. Вы можете использовать $ _GET [ 'ID'] или $ _REQUEST [ 'ID']

+0

Вы имеете в виду это? $ id = ($ _GET ['ID']); \t if (isset ($ _ GET ['answer'])) \t {} –

+0

Что вы получаете при отображении $ id – Sivabalan

+0

Получаю идентификатор, который передается с первой страницы. Но проблема в том, что это значение не вставлено в таблицу «ответ»! –

0

Ваша первая страница этой

echo "<a href='AddAnswer.php?IsEdit=1&ID=" .$row['qu_title']. "'><h3 style='font-family: Georgia;margin-left: 3.8%'>".$row['qu_title']."</h3></a>"; 

что приведет к ссылке, которая выглядит следующим образом:

AddAnswer.php?IsEdit=1&ID=<qu_title> 

Если пользователь нажимает на эту ссылку, чтобы открыть вторую страницу, не будет доступных переменных POST (ничего не было POSTED), а значения IsEdit и ID доступны для GET.

В вашей второй странице, хотя вы пытаетесь получить переменную POST под названием answer:

if (isset($_POST['answer'])) 

Но это никогда не было установлено.

Я предлагаю вам прочитать о POST и GET, а затем, вероятно, изменить ссылки на $_POST в вашей второй страницы $_GET, и убедитесь, что вы установите значение answer в HREF по ссылке на первой странице, например, :

echo "<a href='AddAnswer.php?IsEdit=1&ID=" .$row['qu_title']. "&answer=$answer'><h3 style='font-family: Georgia;margin-left: 3.8%'>".$row['qu_title']."</h3></a>"; 
+0

& answer = $ answer. Но у меня нет значения $ answer на первой странице! Я беру значение из текстового поля на второй странице, поэтому метод _POST! –

+0

Вам нужно будет показать нам весь ваш код, в то время как вы не указали текстовое поле или как вы собираетесь получать данные от него. Тогда я предполагаю, что этот процесс похож на «[Сервер: отображение первой страницы] -> [Пользователь: нажмите ссылку] -> [Сервер: отображение второй страницы с текстовым полем] -> [Пользователь: отправить форму] -> [Сервер: handle submit] ' – Eborbob

+0

вы получили это правильно! –

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