$ _POST在服务器上返回null,但在mamp localhost

时间:2018-07-26 06:22:26

标签: php html apache

大家好,

我是新手网络应用程序开发人员。最近,我在Mamp上完成了我的项目   并尝试将所有内容移入服务器。然后奇怪的事情发生了。 $ _POST   功能突然不起作用。

我用这个问题搜索了两天,并尝试了许多事情。喜欢  更改apache配置,重新安装一些php软件包。我尝试使用.htaccess,但没有弄清楚它是如何工作的。我只是想知道那里     使这件事的任何其他方式都可以像我在Mamp上测试的那样工作。

顺便说一句,我在服务器中使用LAMP。

这是php代码。 var_dump($ _ POST)将返回null,  var_dump($ _ REQUEST)将返回数组{}。

   $conn = new mysqli($servername, $username, $password, $dbname);
 // Check connection
 if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
 } 
  $ID=$_POST['Client_ID'];
  $name=$_POST['username'];
  var_dump($_POST);
  $sex=$_POST['sex'];
  $mobile=$_POST['mobile'];
  $email=$_POST['email'];
  $time=$_POST['time'];
  $company_name=$_POST['Company_name'];
  $wechat_id=$_POST['Wechat_id'];

  if ($sex==0){
    $sex="female";
  } else {
   $sex="male";
  }
  $delOrnot=0;




  $sql="INSERT INTO Client(client_id,owner_name,gender,cell_phone,email,time,company_name,delOrnot,department) VALUES ('{$ID}','{$name}','{$sex}','{$mobile}','{$email}','{$time}','{$company_name}','{$delOrnot}','{$wechat_id}')";


if($conn->multi_query($sql)===TRUE){
     echo"New records created successfully";

  }else {
    echo "Error " . $sql . "<br>"  . $conn->error;
    }
  $conn->close();

这是html代码。

<form action="member-add.php" method="post" class="form form-horizontal" id="form-member-add">
    <div class="row cl">
        <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>userID:</label>
        <div class="formControls col-xs-8 col-sm-9">
            <input type="text" class="input-text" value="" placeholder="" id="Client_ID" name="Client_ID">
        </div>
    </div>
    <div class="row cl">
        <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>username:</label>
        <div class="formControls col-xs-8 col-sm-9">
            <input type="text" class="input-text" value="" placeholder="" id="username" name="username">
        </div>
    </div>
  </form>

它非常适合在Mamp上使用。我不知道我的服务器配置出了什么问题。谢谢您的帮助!

2 个答案:

答案 0 :(得分:0)

在您的表单开始标签中

<form action="member-add.php" method="post" class="form form-horizontal" id="form-member-add">

尝试添加一个enctype,此属性指定将表单数据提交到服务器时应如何编码。

<form action="member-add.php" method="post" enctype="multipart/form-data" class="form form-horizontal" id="form-member-add">

这是它的外观。 您可以阅读有关HERE不同编码类型的更多信息。

如何调试此 但是,我认为看到它是更重要的,这是调试它的可能方法。当您向服务器发出请求时,该请求将被发送,并且您可以查看发送到服务器的内容以及服务器的响应。为了做到这一点(本示例使用的是Chrome),请打开您的Google开发人员工具(只需按F12键),然后转到“网络”并单击当您单击“发送”按钮时发出的请求。

答案 1 :(得分:-1)

您的php和HTML代码是否在同一文件上? 我建议您将代码放在文件顶部,然后检查var_dump。