php表单得不到post

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php表单得不到post相关的知识,希望对你有一定的参考价值。

我想要做一个php的登陆界面测试代码.所以第一个设置1.php用form转到第二个check.php得到1.php中的数据,但是check.php中一直得不到1.php中post得来的数据我就把第二个check.php的代码改了,但是依然得不到post的数据,
这是我用户登陆也就是1.php的代码
<form action = "check.php" method = "post">
用户登录
<br>
用户名:<input type = "text" name = "uname"><br>
密码:<input type = "password" name = "upwd"><br>
<input type = "submit" value = "提交">
<input type = "reset" value = "重置">
</form>
这个是我后改的check.php的代码
<?php

if(isset($_post))

echo "提交过来了";

else

echo "submit is no come~";

?>
我觉得这个代码是对的,应该得到"提交过来了"但是每次点击提交之后都是给我一个"submit is no come~";我真的十块崩溃了.求大神救救我吧!
对了顺便附上我本来check.php的代码希望可以找出这个里面是不是有什么错误
<?php
if(isset($_post))
if($_post['uname'] = 'admin' && $_post['upwd'] = 'admin')
echo "用户登录成功";
else
echo "用户登录失败";
?>

参考技术A 只有$_POST 没有$_post 参考技术B if(isset($_post)) 亲,要给个变量吧

if(isset($_POST["submit"])

楼下说的也对,只有$_POST追问

我尝试过if(isset($_POST["submit"])
if(isset($_POST["name"])
if(isset($_POST["uname"])
都不管用,还有那个只有$_post是什么意思?

追答

你去了解一下PHP全局变量

本回答被提问者采纳

PHP表单找不到空字段

【中文标题】PHP表单找不到空字段【英文标题】:PHP form not finding empty field 【发布时间】:2019-03-09 09:31:14 【问题描述】:

我一直在颠倒这个 php 表单,但我不知道为什么没有显示错误消息,即使所有字段都是空的,表单也会始终发送电子邮件。有我的代码:

<form name="contactform" method="post" action="">
  <input type="text" data-placeholder="<?php echo $name; ?>"name="name">
  <input type="text" data-placeholder="<?php echo $email; ?>"name="email">
  <textarea data-placeholder="<?php echo $message; ?>" name="message" rows="10"></textarea>
  <input type="submit" name="submit" class="btn btn-footer" value="ENVOYER" id="btnContact">
  <p class="text desktop"><?php echo $emailErr; ?></p>
</form>

<?php
  if(isset($_POST['submit'])) 
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $emailErr = "";

    if (!isset($name) || $email=="" || $message=="" ) 
      $emailErr = "All fields are mendatory";
     else 
      $mailTo = "test@gmail.com";
      mail($mailTo);
      $emailErr = "Email Send";
    
 
 ?>

【问题讨论】:

不要使用isset()查看变量是否为空。像其他人一样使用$name == "" 使用 !empty 代替它会完美工作 @sradha 但是如果他们的名字是0呢? @FrankerZ 是的,如果我们输入 0 它将不起作用,我编辑了我的代码。谢谢你的建议。 【参考方案1】:

isset() 在这种情况下将始终返回 true,因为变量已设置(为空字符串)。要检查变量是否为空,您应该使用您对 $email$message 所做的操作:

if ( $name == "" || $email == "" || $message == "" ) 

为了演示,您可以简单地运行以下命令:

$a = ""
var_dump(!isset($a)); // false
var_dump($a == ""); // true

【讨论】:

【参考方案2】:

表单提交后,如果字段名存在则isset() 将返回true。但是,如果您检查任何字段的空值,您可以使用 empty($fieldname)$fieldname == ""$fieldname == NULL

试试这个:

if(isset($_POST['submit'])) 
  $name = $_POST['name'];
  $email = $_POST['email'];
  $message = $_POST['message'];
  $emailErr = "";

  if (empty($name) || empty($email) || empty($message) ) 
    $emailErr = "All fields are mendatory";
   else 
    $mailTo = "test@gmail.com";
    mail($mailTo);
    $emailErr = "Email Send";
  

【讨论】:

【参考方案3】:
if (empty($name) || empty($email) || empty($message)) 
 
     $emailErr = "All fields are mendatory";
 

你可以使用空的php函数或is_null

【讨论】:

【参考方案4】:

请试试这个,

我在我的本地系统中检查了它的工作正常,错误和成功消息会根据您的要求来

<?php
  if(isset($_POST['submit'])) 
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $emailErr = "";

    if (!isset($name) || $email=="" || $message=="" ) 
      $emailErr = "All fields are mendatory";
     else 
      $mailTo = "test@gmail.com";
      mail($mailTo);
      $emailErr = "Email Send";
    
 
 ?>
 <form name="contactform" method="post" action="">
  <input type="text" data-placeholder="<?php echo $name; ?>"name="name">
  <input type="text" data-placeholder="<?php echo $email; ?>"name="email">
  <textarea data-placeholder="<?php echo $message; ?>" name="message" rows="10"></textarea>
  <input type="submit" name="submit" class="btn btn-footer" value="ENVOYER" id="btnContact">
  <p class="text desktop"><?php echo $emailErr; ?></p>
</form>

【讨论】:

感谢它也对我有用。 必须在
之前

以上是关于php表单得不到post的主要内容,如果未能解决你的问题,请参考以下文章

php表单提交时获取不到post数据的解决方法

php表单提交时获取不到post数据的解决方法

php表单提交时获取不到post数据的解决方法

PHP表单找不到空字段

iOS AFN POST  提交表单后台接收不到

php form表单post提交获取不到数据,而使用get提交能获取到数据 的解决办法