尝试从PHP中的选择下拉菜单中回显值
I am in school for web development, so I clearly don't know a lot yet. I am trying to grab a value from a select, and output it in a paragraph. I know it's about the Browns, but everything else works, but I cannot seem to find anything on *, or Google on how to grab the value that works. I get the following error:
Notice: Undefined variable: draft in C:\wamp\www\lab 5\process.php on line 42
This error is in my paragraph, which makes me think I am grabbing the value, but it isn't outputting correctly? I am using a variable to show where I want to output that value in the paragraph.
This is my HTML:
<li><select id="uDraft"
<select>
<option value="Draft Offense">Draft Offense</value>
<option value="Draft Defense">Draft Defense</value>
<option value="Trade them, we can't pick good anyways">Trade them, we can't pick good anyways</value>
</select></li>
This is my process.php code:
if(isset($_GET["uDraft"])){
$draft= $_GET["uDraft"];
}
echo "I want to output **$draft var** as the value they choose so it shows the choice in a paragraph that is pre-written";
All of my other text boxes work, I just cannot seem to get the value from the select, so that I can show what it says in the text, into the paragraph. I also had a select for wins, but gave up when I couldn't figure out how to grab the value. I know I can use radio buttons, but I am trying to learn how to grab the value from the drop down. Any help would be greatly appreciated.
You need to give your dropdown a name:
HTML:
<li>
<select name="uDraft">
<option value="Draft Offense">Draft Offense</option>
<option value="Draft Defense">Draft Defense</option>
<option value="Trade them, we can't pick good anyways">Trade them, we can't pick good anyways</option>
</select>
</li>
PHP:
if(isset($_GET["uDraft"])){
$draft= $_GET["uDraft"];
echo $draft;
}
1st you have simple html errors, closing the select tag early, no name on select and closing the options tags incorrectly. It should be:
<select id="uDraft" name="uDraft">
<option value="Draft Offense">Draft Offense</option>
<option value="Draft Defense">Draft Defense</option>
<option value="Trade them, we can't pick good anyways">Trade them, we can't pick good anyways</option>
</select>
Then in php, you need to handle the case when the page loads, so there is no get data:
if(isset($_GET["uDraft"])){
$draft= $_GET["uDraft"];
}else{
$draft = 'DEFAULT VALUE GOES HERE';
}
echo "I want to output **$draft var** as the value they choose so it shows";
This could be handled with a ternary if as well:
$draft = isset($_GET['uDraft'])? $_GET['uDraft'] : 'DEFAULT';