我想用PHP来检查是否设置了$ _POST [“pass”],如果不设置则执行某些操作,如果是,则执行其他操作....但我无法使其工作,我我确定我的逻辑错了。
我有一个看起来像这样的PHP代码......
if (!isset($_POST["pass"])) {
...some form with an input type text here...
if (...wrote the wrong thing in input type text...) {
echo "something is wrong....";
}
else {
$pass_var = "Pass";
$pass_var = $_POST["pass"];
}
}
else {
echo "This thing is working...";
}
如果我在输入类型文本中键入正确的内容,我就不会去“这件事正在发挥作用”,如果不是,我不想回应“有些事情是错误的......”。
它的工作方式几乎没有问题,只是如果我在表单中键入正确的内容,我就永远不会发现“这件事正在发挥作用......”。
页面什么都不做..
我确定这是
$pass_var = "Pass";
$pass_var = $_POST["pass"];
我做错了。
我知道我可以用另一种方式设置它以使其工作,但我有一个像这样设置的大脚本,我真的希望它能够工作......
答案 0 :(得分:2)
您在表单中对$ _POST NOT设置进行测试(参见!)。但是你想要设置帖子!
if(isset($_POST["pass"]))
{
print_r($_POST); // basic debugging -> Test the post array
echo "The form was submitted";
// ...some form with an input type text here...
if(...wrote the wrong thing in input type text...)
{
echo "something is wrong with the input....";
}
else
{
// Valid user input, process form
echo "Valid input byy the user";
$pass_var = "Pass";
$pass_var = $_POST["pass"];
}
}
else
{
echo "The form was not submitted...";
}
答案 1 :(得分:0)
您可以使用php的empty()
功能
if(!empty($_POST['pass'])){
// do something
}else{
// do something else
}
希望这对你有用。
答案 2 :(得分:0)
确保你的html格式中有“method ='POST'”,否则PHP中无法访问$ _POST,逻辑有点棘手,试试这个?
e.g。
if (!isset($_POST["pass"])) {
//no POST so echo form
echo "<form action='".$_SERVER['PHP_SELF']."' method='POST'>
<input type='text' name='txtInput' />
<input type='submit' name='pass' />
</form>";
} elseif (isset($_POST["pass"])) {
//have POST check txtInput for "right thing"
if ($_POST["txtInput"] == "wrong thing") {
echo "something is wrong....";
} elseif ($_POST["txtInput"] == "right thing") {
//$pass_var = "Pass";
$pass_var = $_POST["pass"];
echo "This thing is working...";
}
}
答案 3 :(得分:-2)
好吧,if (!isset($_POST["pass"]))
表示$_POST["pass"]
设置为不,因此您可能希望删除&#39;!&#39;它代表不是。