Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态下拉列表非数据库php_Php - Fatal编程技术网

动态下拉列表非数据库php

动态下拉列表非数据库php,php,Php,我试图用php创建一个不断变化的下拉列表,但没有数据库。这是我到目前为止想到的 <body> <form method = "post"> <table> <tr> <td> <p>Name</p> </td> <td><input type="text" name="Name" /></td> </tr>

我试图用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程序。也许我对它的工作原理有错误的想法。我应该尝试提前调用一个创建表单的函数,还是完全偏离了我的目标?

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


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>

名字

陈述

宾夕法尼亚 加利福尼亚 亚利桑那州 纽约 佛罗里达州
你的最终目标是什么?如果你有写入权限,你没有理由不能将任何你想要的内容写入平面文本文件,并从中生成下拉列表。你希望它是动态的,即没有页面加载吗?Kai:对不起,这个想法是当用户选择一个州时,会生成或显示另一个下拉列表,显示该州的城市,然后,当他们选择城市时,它将报告他们的选择。斯诺:那将是理想的,不过在这一点上,如果有一个更简单的选择,我会朝这个方向努力。我明白了。这不是我想要的,但我感谢你的帮助。我必须查看JQuery,以了解我需要什么