HTML / PHP Survery неправильно передает идентификатор из таблицы - PullRequest
1 голос
/ 15 июня 2011

Я постараюсь сделать это проще ... это код, который я использую для заполнения выпадающего меню из базы данных.Это правильно заполняет выпадающее меню.

<form action="formsubmit.php?team_id=6" method="post">
    <label> <br />What did they say?: <br />
        <textarea name="quotetext" rows="10" cols="26"></textarea></label>
    <select name='name'>
        <?php
            while ($temp = mysql_fetch_assoc($query)) {
                echo "<option value=" . $temp['id'] . ">".htmlspecialchars($temp['lastname']) . ", " . htmlspecialchars($temp['firstname']) . "</option>";
            }
        ?>
    </select>
    <input type="submit" value="Submit!" />
</form>

То, что я пытаюсь сделать, это передать идентификатор человека вместе с файлом formsubmit.php, который вызывается при отправке формы.Когда я использую $ die ($ sql) в своем запросе к базе данных в formsubmit.php, идентификатор этого человека остается пустым .... все остальное проходит просто отлично.Вот соответствующий код в formsubmit.php:

$quotetext = $_POST['quotetext'];
    $id = $_POST['id'];
    $team_id = $_GET['team_id'];
    $sql = "INSERT INTO quotes SET 
            speaker_id='$id',
            quotetext='$quotetext',
            game_id=2";
    die($sql);

РЕДАКТИРОВАТЬ: Исправлено, кредит Майкла.

<select name='name'>

Должно быть:

<select name='id'>

Ответы [ 5 ]

4 голосов
/ 15 июня 2011

На первый взгляд это выглядит как опечатка.Попробуйте:

$id = mysql_real_escape_string($_POST['name']);
2 голосов
/ 15 июня 2011

Проблема в том, что у вас нет переменной формы с именем "id". Мне кажется, что вам просто нужно изменить <select name='name'> на <select name='id'>.

2 голосов
/ 15 июня 2011

В вашей форме вы используете <select name='name'>, но в своем PHP-скрипте вы вызываете $_POST['id'].Измените его на:

<select name='id'>
1 голос
/ 15 июня 2011
$team_id = $_POST['name']

Ваш элемент select называется "name", а ваша форма - "POST".

0 голосов
/ 15 июня 2011

Вам нужно изменить

$id = $_POST['id'];

до

$id = $_POST['name']; // as name is what you gave your select element
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...