提交表单后,$ $ _POST数组为空($ _ GET工作正常)

时间:2016-12-28 10:29:59

标签: php mysql

我有一个像这样的html表单:

  </div>
  <form method="POST" action = "process.php">
    <input type="text" name="user" placeholder="Enter your name"/>
    <input type="text" class="message" name="message" placeholder="Enter your message"/>
    <input type="submit" class="btn-default " name="submit"  value="Shout it out"/>
  </form>
</div>

按下Shout it out按钮提交后,我的$_POST数组在$_GET工作正常时未填充任何值。

var_dump($_POST); 

这给了我array{0}

这是我的process.php:

<?php
include 'database.php';

//Check if form submitted
if(isset($_POST['submit'])) {
    $user = mysqli_real_escape_string($con, $_POST['user']);
    $message = mysqli_real_escape_string($con, $_POST['message']);

    // Set timezone
    date_default_timezone_set('America/New_York');
    $time = date('h:i:s a', time());
    echo $time;
}

// Validate input
if (!isset($user) || $user == '' || !isset($message) || $message == '') {
    echo 'bad';
    var_dump($_POST);
} else {
    echo 'good';
}

这是database.php:

<?php
$host = 'localhost';
$username ='root';
$password= '';
$db = "shoutit";

//Connection to the DB
$con = mysqli_connect("$host", "$username", "$password", "$db");

//Test and debugging
if(mysqli_connect_errno()) {
    echo'Failed to connect to the database: '.mysqli_connect_errno();
}
?>



?>

到目前为止我尝试了什么:

1.修改我的php.ini(5.3和7.0版本),更确切地说,检查是post_max_size = 8M;还是upload_max_filesize = 2M;(因为有些人有问题,他们的post_max_size是自动的改为大约60MB左右),这没有成功。

2.将method="post"更改为method="POST",反之亦然。

3.Running all(我应该说大多数其他所有提交的票在Stack上,除了那些问题是由JavaScript引起的,显然不是这种情况)。

4.我检查了表格中我的名字是否与我在$_POST等中使用的相同。

我相信可能会导致问题,因为我正在使用Windows。我的一个朋友正在使用uBuntu,他没有这样的问题,他在提交后填充了$_POST数组。

有没有办法解决它,或者我应该立即去Ubuntu?

P.S我不认为这应该被标记为重复的问题,因为它还没有答案。(以前在堆栈上提交的都没有):

PHP $_POST not working but $_GET works fine

php $_POST array empty upon form submission

$_POST is empty data in PHP

这只是一些没有成功的事情。

0 个答案:

没有答案