Как получить значение выбора с помощью метода POST в PHP из? - PullRequest
0 голосов
/ 05 октября 2010

Я использую этот код в своей форме для создания выпадающего меню.(список загружаемых опций корректируется из моей базы данных sql).После того, как пользователь нажмет «Отправить», я смогу получить значение, выбранное с помощью $ _POST ['field'].

<form action="page2.php" method="post" name="form" id="form">

 <?php 
$query = sprintf("SELECT domaine FROM `domainema` WHERE userid='%s' ", $userid);
$result=mysql_query($query);
echo "<select name=domaine value=''>Domain </option>";

while($nt=mysql_fetch_array($result)){
echo "<option value=$nt[id]>$nt[domaine]</option>";
}
echo "</select>";
?>
...

На второй странице я использую этот код:

$domaine = strip_tags(substr($_POST['domaine'],0,32));
echo "You selected $domaine";

Но я ничего не понимаю, что я делаю не так?

Спасибо!

Ответы [ 2 ]

1 голос
/ 05 октября 2010

В вашем запросе вы не выбрали идентификатор, только домен.Измените это так:

<form action="page2.php" method="post" name="form" id="form">

 <?php 
$query = sprintf("SELECT id, domaine FROM `domainema` WHERE userid='%s' ", $userid);
$result=mysql_query($query);
echo '<select name="domaine">';

while($nt=mysql_fetch_array($result)){
echo '<option value="$nt[id]">$nt[domaine]</option>';
}
echo "</select>";
?>
1 голос
/ 05 октября 2010

Эта строка, вероятно, неверна ...

echo "<select name=domaine value=''>Domain </option>";

Если это будет

echo "<select name=domaine value=''>";

Вы также должны заметить, что если ни один из параметров не выбран, то вы не будетеполучить значение обратно.Чтобы убедиться, что вы вернете значение, выберите одно из них (например, первое) по умолчанию, добавив к нему selected="selected" ...

Я бы также рекомендовал процитировать значения чуть более четко.Ради полноты ...

<?php 
$query = sprintf("SELECT domaine FROM `domainema` WHERE userid='%s' ", $userid);
$result=mysql_query($query);

echo '<select name="domaine" value="">';

$isfirst = true;
while ($nt=mysql_fetch_array($result)) {
    echo '<option value="'.$nt[id].'"';
    if ($isfirst) 
        echo ' selected="selected"';
    echo '>'.$nt[domaine].'</option>';
    $isfirst = false;
}

echo '</select>';
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...