我正在使用搜索表单 Director1 的值以公司董事的形式自动输入"director_id_1"的值,它正在工作。
但是,如果我使用搜索表单 Director2 自动输入"director_id_2"的值,它正在工作,但同时"director_id_1"的值将再次为空。
那么,如何在搜索 Director2 后保持"director_id_1"的自动输入值???
以下代码保存在同一页面中:导演.php
<h2> Company Director(s) - Input</h2>
<hr style="border: 1px dotted #2c1294;">
<form name="Director1" action="" method="POST" accept-charset="UTF-8" >
<input type="text" name="QueryDirector1" />
<input type="submit" name="DirectorName1" value="Search Name of Director 1 to input ID" />
</form>
<form name="Director2" action="" method="POST" accept-charset="UTF-8" >
<input type="text" name="QueryDirector2" />
<input type="submit" name="DirectorName2" value="Search Name of Director 2 to input ID" />
</form>
<hr style="border: 1px dotted #2c1294;">
<form name="CompanyDirectors" method="post" action="Director_insert.php" accept-charset="UTF-8" >
<b>ID of Director 1:</b>
<input type="number" name="director_id_1" required="required" value="<?php echo $director_id_1; ?>" >
<br>
<b>ID of Director 2:</b>
<input type="number" name="director_id_2" required="required" value="<?php echo $director_id_2; ?>" >
<br>
<input type="submit" name="submit" value="Submit">
</form>
非常感谢您的帮助和支持!
如果你的问题(我觉得很难理解)是:
我希望在第一份表格(主任 1)上已经提交的任何内容在提交第二份表格(主任 2)时保留,反之亦然。 我怎样才能做到这一点?
然后我的答案是使用会话或数据库进行持久性。
如果我正确理解了您的问题,那么您不了解HTTP请求(本质上)是无状态的。 换句话说:当您提交任何表单数据时,它会在服务器端进行处理,然后不复存在。 然后"状态"消失。
您可以将提交的数据临时缓存在$_SESSION[...]
变量中,或者可以将其存储到数据库中(并将其检索回),或者在浏览器中使用 HTML5 存储,或者做一些不太优雅的事情,例如在第二种形式中使用隐藏的 HTML 输入。 (或者只使用一种形式。
一些有用的链接:
- http://www.w3schools.com/php/php_sessions.asp
- http://php.net/manual/en/session.examples.basic.php
- https://en.wikipedia.org/wiki/Stateless_protocol
所以例如:
<?php
session_start();
if (isset($_POST['DirectorName1'])) {
$_SESSION['directors'][1]['name'] = $_POST['DirectorName1'];
}
if (isset($_POST['DirectorName2'])) {
$_SESSION['directors'][2]['name'] = $_POST['DirectorName2'];
}
然后打印$_SESSION
而不是$director_id_1
等的值。
如果没有完整的代码副本,就很难提供帮助。