动态下拉列表NON-DATABASE php

时间:2013-09-26 16:18:48

标签: php

我正在尝试在php中创建一个更改下拉列表,但没有数据库。这是我到目前为止所提出的

<body>

<form method = "post">
 <table>

 <tr>
     <td>
     <p>Name</p>
     </td>
     <td><input type="text" name="Name" /></td>
</tr>

<tr>
        <td><p>State</p>
        </td>
        <td>
            <select name = "State">
            <option value = "PA"> Pennsylvania</option>
            <option value = "CA"> California</option>
            <option value = "AZ"> Arizona</option>
            <option value = "NY"> New York</option>
            <option value = "FL"> Florida</option>
        </select>
        </td>
</tr>

    <td><input type="submit" name = "formSubmit" value="Submit" /></td>
    </td>
</tr>
</table>
</form>

<?php
        if(isset($_POST['formSubmit']))
        {
            if(empty($_POST['Name']))
            {
                echo("You forgot your name");
            }

            else
            {

            }
        }
?>

</body>

我曾计划使用'else'语句来生成我的第二个下拉列表,但到目前为止我没有尝试过任何工作。我一直在寻找想法,但我遇到的大部分信息都涉及数据库。这不是一个数据库,它是一个单独的PHP程序。也许我对这是如何工作有错误的想法。我是否应该提前调用一个创建表单的函数,或者我是否完全偏离了我正在尝试的内容?

2 个答案:

答案 0 :(得分:0)

要这样做,您需要javascript
  已发布与您相关的问题

javascript-dynamic-drop-down-box-update

答案 1 :(得分:0)

jQuery将为您提供真正的动态结果,而无需重新加载页面。但是,如果您想使用PHP将文本框中的内容添加到值列表中,那么您可以使用PHP会话作为数组来保存这样的值。

<?php
session_start();
    if(isset($_POST['formSubmit']))
    {
        if(empty($_POST['Name']))
        {
            echo("You forgot your name");
        }

        else
        {
            $name = $_POST['Name'];
            if(isset($_SESSION['List']))
            {
                $index = count($_SESSION['List']);
                $_SESSION['List'][$index+1] = $name;
            }
            else
            {
                $_SESSION['List'][0] = $name;
            }
        }
    }
    ?>
   <body>
   <form method = "post">
   <table>

   <tr>
   <td>
   <p>Name</p>
   </td>
   <td><input type="text" name="Name" /></td>
   </tr>

   <tr>
    <td><p>State</p>
    </td>
    <td>
        <select name = "State">
        <option value = "PA"> Pennsylvania</option>
        <option value = "CA"> California</option>
        <option value = "AZ"> Arizona</option>
        <option value = "NY"> New York</option>
        <option value = "FL"> Florida</option>
        <?php 
        if(isset($_SESSION['List']))
        {
            foreach($_SESSION['List'] as $name)
            {
            echo '<option value="'.$name.'">'.$name.'</option>';
            }
        }
        ?>
    </select>
    </td>
    </tr>

    <td><input type="submit" name = "formSubmit" value="Submit" /></td>
    </td>
    </tr>
    </table>
    </form>
    </body>