我有一个名为=“search”的表单,我希望这个脚本能够正常工作,但它似乎没有用。
if (isset($_POST['search']))
include_once('layouts/layout_2.php');
这是我的标记
<form name="search" action="" method="post">
<p>I am looking for</p>
<input type="text" value="Any keyword" name="searchlist">
<input type="submit" value="Find Job">
答案 0 :(得分:5)
表单的名称未在$_POST
变量中提交。您可以检查提交按钮的名称是否已发布。
<form>
...
<input type="submit" name="submit" value="Submit" />
</form>
<?php
if($_POST['submit']) {
//Code here
}
?>
此方法不要求您添加额外的隐藏变量,以检查表单是否已提交。此外,您不必检查请求方法,也不必检查所有其他变量。如果单击了提交按钮,则表单已发布。
答案 1 :(得分:3)
表单的名称不会作为表单提交的一部分发送。如果要检测表单是否已提交,请执行以下操作:
if ($_SERVER['REQUEST_METHOD'] == 'POST') && (isset($_POST['searchlist']) && (!empty($_POST['searchlist'])) {
...
}
答案 2 :(得分:3)
你能不能只找:
if(isset($_POST['searchlist'])) {
include_once('layouts/layout_2.php');
}
答案 3 :(得分:3)
<form name="search" action="" method="post">
<input type="hidden" name="search" value="1"/>
<p>I am looking for</p>
<input type="text" value="Any keyword" name="searchlist">
<input type="submit" value="Find Job">
PHP
if($_POST['search'] == 1) include_once('layouts/layout_2.php');
答案 4 :(得分:1)
表单提交中出现的唯一数据是成功表单控件的值(可能还有在action属性中编码的数据,但不要这样做)。
如果要包含任意额外数据,请使用隐藏输入。
<input type="hidden" name="foo" value="bar">
永远不要为表单使用name
属性。这是一种识别客户端脚本的表单的方法,该脚本在十多年前已被id
属性取代。
答案 5 :(得分:1)
你可以尝试
print_r($_POST)
看看值是什么
答案 6 :(得分:0)
php不存储表单的名称。 $ _POST中只找到表单元素值。如果你想弄清楚它提交的是哪种形式,可以传递一个隐藏的字段值,或者将一个var附加到action =“..”url(并查看$ _GET)或类似内容。
答案 7 :(得分:0)
不行,但是你可以使用隐藏的输入:
<form action="" method="post">
<input type="hidden" name="search" value="1" />
<p>I am looking for</p>
<input type="text" value="Any keyword" name="searchlist">
<input type="submit" value="Find Job">
然后您的PHP代码将按预期工作。
答案 8 :(得分:0)
试试这个:
$keyword = $_POST["searchlist"];