2014-07-14 71 views
-2

我有一个下拉列表,如下所示。如果用户从列表中选择某个项目,我想将其捕获到我的php代码中并打印出来。以下代码无法捕获该值,并始终打印出“无法使用”。我是新来的HTML/PHP和任何帮助,将不胜感激。如何从HTML中的下拉菜单中获取值到php

<select id="selectype" name="cards"> 
<option value="WorkOrder">Work Order</option> 
<option value="FirstName">First Name</option> 
</select> 

<?php 
if (cards.value == "WorkOrder") 
    echo "WorkOrder selected"; 
else if (card.value == "FirstName") 
    echo "FirstName selected"; 
else 
    echo "Doesn't work"; 
?> 
+0

请在这里提问之前了解php的基础知识。 *您缺少变量的$符号 *选择somthing不能触发php代码,除非您提交表单并使用$ _GET和$ _POST的值 – gries

+0

您可能想要从PHP入门教程开始。 'cards'和'card'是不同的标识符,它们不是PHP变量(PHP变量以'$'开始),并且你没有在任何地方定义它们或者将它们初始化为从'$ _POST' 。老实说,它甚至不应该打印出“不工作”,因为你编写的代码甚至不可解析。 – David

+0

你可以从字面上谷歌搜索你的标题,你会得到答案。相反,你浪费了你生命中潜在的5分钟等待你在几秒钟内完成的事情:D谷歌,先生。谷歌福。 –

回答

1

尝试在自提交表单包裹你的HTML ..

<form action="" method="POST"> 

    <select id="selectype" name="cards"> 
     <option value="WorkOrder">Work Order</option> 
     <option value="FirstName">First Name</option> 
    </select> 

    <input type="submit" /> 

</form> 

<?php 

    $cards = $_POST['cards']; 

    if ($cards == "WorkOrder") 
     echo "WorkOrder selected"; 

    else if ($cards == "FirstName") 
     echo "FirstName selected"; 

    else 
     echo "Doesn't work"; 
?> 
+0

您有2个语法错误。 –

+0

刚刚更正,谢谢。 – OllyBarca

+1

谢谢你给我举一个例子。现在我理解了POST概念以及如何通过php访问它。 –

0

您必须在您的PHP代码中使用您的元素名称。首先,你必须创建一个表单,它将把你的变量发送到你的PHP代码中。或者,如果您不想使用表单,您可以通过jQuery执行此操作,但更困难。

你有下拉,这被称为cards,它只能包含1个值,所以我编辑你的代码下面。现在,您将从名为cards的元素中获得价值,然后与您的IF(切换会更好,也许),您可以识别,设置为值。

<form action="" method="POST"> 
    <select id="selectype" name="cards"> 
    <option value="WorkOrder">Work Order</option> 
    <option value="FirstName">First Name</option> 
    </select> 
</form> 

<?php 
$cards = $_POST['cards']; 
if ($cards == "WorkOrder") 
    echo "WorkOrder selected"; 
else if ($cards == "FirstName") 
    echo "FirstName selected"; 
else 
    echo "Doesn't work"; 
?> 
+3

你甚至是PHP吗? –

+0

是的,我的代码有什么问题? – pes502

+0

预先删除和预编辑它不会工作。 – rlemon

-1

试试这个:

<?php 
if ($_REQUEST['cards'] == "WorkOrder") 
    echo "WorkOrder selected"; 
else if ($_REQUEST['cards'] == "FirstName") 
    echo "FirstName selected"; 
else 
    echo "Doesn't work"; 
?> 
+1

如果表单方法是明确定义的,就像这样使用它。当您不知道将要传入的请求类型时,最好使用“$ _REQUEST”。 –

0

你不能在你的PHP这样的一个HTML的字段的值办法。当你看到该网站出现时,PHP早已消失。 PHP正在服务器上执行,并在执行后,页面呈现并“放”在浏览器上。

所以,如果你想拥有一个字段的值,你必须将这个值“放回”到服务器。你至少需要这样的:

<form action="yourphpcode.php" method="post"> 
    <select id="selectype" name="cards"> 
    <option value="WorkOrder">Work Order</option> 
    <option value="FirstName">First Name</option> 
    </select> 
</form> 

和一个提交按钮,也会有所帮助。

在你的“yourphpcode.php”就可以访问这些值是这样的:

<?php 
    $cards = $_POST['cards'] 
?> 

...你真的应该读一个初学者教程。 ;-)

相关问题