开发者

How to retrieve select value with method POST in a PHP from?

I am using this code in my form to create a drop down menu. (the list of options loads corrects from my sql database). Once the user hits submit, I should be able to retrieve the value selected with $_POST['field'].

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

 <?php 
$query = sprin开发者_如何学运维tf("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>";
?>
...

On the second page, I use this code:

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

But I get nothing a blank value, what am I doing wrong?

Thanks!


In your query you didn't selected the id, only the domaine. Change it to be like this:

<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>";
?>


This line is probably incorrect...

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

Should it be

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

You should also note that if none of the options are selected, then you won't get a value back. To ensure you get a value back, select one of them (eg the first one) by default, by adding selected="selected" to it...

I'd also recommend quoting values a little more clearly. For the sake of completeness...

<?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>';
?>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜