php表单帖子是空的

时间:2015-04-26 09:26:54

标签: php forms

我刚刚开始使用html和php的基础知识,并在朋友的服务器上托管了一个小网站,并且一切正常。现在我有自己的服务器,我将所有网站数据转移到这个新服务器,只更改了mysql_connect()mysql_select_db()部分。使用mysql_query()的简单测试有效,因此与我的新数据库的连接是活动的(是的,其中有数据)。 但是,表单帖子始终发送空表单:

login.php:
<form method="post">
<input name="user" type="text">
<button class="myButton" type="submit" value="Submit" name="submit">Login</button>
</form> 

<?php
$user=mysql_real_escape_string($_POST['user']);
echo "user: ".$user;
?>

此处用户名为空。 我已经尝试将第一行改为:<form action="login.php" method="post">,如建议here,但这不起作用。我的登录页面的URL如下所示:subdomain.domain.de/login.php这与我朋友的服务器上使用的位置语法相同。

我还阅读了有问题的.htaccess - 配置,但是当我搜索这个文件时,我找不到它:

cd /
find . -name ".htaccess"

希望有人可以帮助我(我相信这很简单)

2 个答案:

答案 0 :(得分:2)

mysql_real_escape_string()需要有效的MySQL连接才能正常工作;如果您没有连接到数据库,它将失败。

有关详细信息,请查看这些帖子

mysql_real_escape_string stopped working when I moved my code to another server

mysql_real_escape_string works in localhost but not on webserver

尝试删除此功能mysql_real_escape_string,然后再次检查

改变
$user=mysql_real_escape_string($_POST['user']);

$user=$_POST['user'];

答案 1 :(得分:1)

我与mysql的连接是空的,并且停止使用 mysql ,使用 mysqli 而不是因为mysql 已弃用,并检查你的mysql连接并重试它将正常工作并使用mysqli_real_escape_string

    <?php

$con = mysqli_connect("localhost","my_user","my_password","my_db");

// Check connection
  if (mysqli_connect_errno())
  {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

  if (isset($_POST['user'])) {
      $user=mysqli_real_escape_string($_POST['user']);
      echo "user: ".$user;
  }