【问题标题】:Trying to Echo a value from a select drop down in PHP尝试从 PHP 中的选择下拉列表中回显一个值
【发布时间】:2015-03-16 12:51:12
【问题描述】:

我在学校学习网络开发,所以我显然还不是很了解。我正在尝试从选择中获取一个值,并将其输出到一个段落中。我知道这是关于 Browns 的,但其他一切都有效,但我似乎在 StackOverflow 或 Google 上找不到任何关于如何获取有效价值的信息。我收到以下错误:

注意:未定义变量:C:\wamp\www\lab 5\process.php 第 42 行中的草稿

这个错误出现在我的段落中,这让我觉得我在获取值,但它没有正确输出?我正在使用一个变量来显示我想要在段落中输出该值的位置。

这是我的 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>

这是我的 process.php 代码:

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

我所有的其他文本框都可以工作,但我似乎无法从选择中获取值,因此我可以在段落中显示它在文本中所说的内容。我也有一个获胜的选择,但是当我无法弄清楚如何抓住价值时就放弃了。我知道我可以使用单选按钮,但我正在尝试学习如何从下拉列表中获取值。任何帮助将不胜感激。

【问题讨论】:

  • basic html
  • 这是一些非常糟糕的 HTML。您有两个打开的 select 标签,只有 1 个关闭。您的所有选项标签都没有结束标签。用&lt;/option&gt; 替换所有&lt;/value&gt;,除了选择标签应该有一个名称属性。我建议您在继续使用 PHP 之前阅读 HTML。
  • 对不起各位,标签已关闭,表单方法是get。我有很多关于 html 和 php 的东西,我不想复制整个 html/php 代码并拥有两套大型代码。我只是忘了复制关闭标签,但它们就在那里。以及我没有列出的结束 标记。但我确实看到缺少选项关闭标签,不知道为什么我放入 标签而不是注意。谢谢。
  • @ScottF,我对你的问题投了赞成票。学生需要得到更好的对待。对另一个学生做同样的事情。提前付款。

标签: php select echo


【解决方案1】:

您需要为您的下拉菜单指定一个名称

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;
}  

【讨论】:

  • 谢谢 Loko 这解决了这个问题。感谢您没有对糟糕的 html 大谈特谈,虽然它是,但我相信每个人在开始时都会犯愚蠢的错误。非常感谢您的帮助。
  • 再次感谢,不知道我必须这样做。祝你好运。
  • @ScottF 祝你未来好运。
【解决方案2】:

第一个你有简单的 html 错误,提早关闭选择标签,选择没有名称并错误地关闭选项标签。应该是:

<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>

然后在php中,需要处理页面加载时的情况,所以没有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";  

这也可以用三元组来处理:

$draft = isset($_GET['uDraft'])? $_GET['uDraft'] : 'DEFAULT';

【讨论】:

  • 感谢史蒂夫的帮助。您的回答更具技术性,但我感谢您的帮助。希望我们将涵盖更多您提出的内容,以便我更好地理解它。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-30
  • 2016-04-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多