运行php文件不会返回任何内容

运行php文件不会返回任何内容,php,html,browser,Php,Html,Browser,我知道这是重复的,但我收到了相同的错误。我搜索了很多类似的问题,如:,还有更多的问题,但找不到任何解决方案 我创建了一个非常简单的登录html文件,然后编写了php脚本,在一个单独的php文件中执行登录操作。(与html文件位于同一文件夹中)。我的问题是,当我在浏览器中键入localhost/filename.php时,它没有返回任何内容。(我指的是没有任何错误的空html页面)。另外,当我在html登录表单中按下登录按钮时,它要求我在运行php文件时保存文件 我检查了错误日志,这是错误: 找不

我知道这是重复的,但我收到了相同的错误。我搜索了很多类似的问题,如:,还有更多的问题,但找不到任何解决方案

我创建了一个非常简单的登录html文件,然后编写了php脚本,在一个单独的php文件中执行登录操作。(与html文件位于同一文件夹中)。我的问题是,当我在浏览器中键入localhost/filename.php时,它没有返回任何内容。(我指的是没有任何错误的空html页面)。另外,当我在html登录表单中按下登录按钮时,它要求我在运行php文件时保存文件

我检查了错误日志,这是错误:

找不到脚本“/var/www/connectivity.php”或无法统计[Wed] 2014年5月7日17:51:28][通知]SIGTERM,正在关闭[Wed May] 07 17:51:29 2014][notice]Apache/2.2.22(Ubuntu) 配置了Suhosin修补程序的PHP/5.3.10-1ubuntu3.11--正在恢复 正常操作[Wed May 07 19:25:34 2014][error][client 127.0.0.1]PHP警告:mysql_connect():在/var/www/connectivity.PHP中拒绝用户“root”@“localhost”(使用密码:否)的访问 在线7

这是php脚本:

<?php
$host="localhost";
$user="root";
$pass="xxxxx";
$db="test";

$con=mysql_connect($host,$user,$pass) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db($db,$con) or die("Failed to connect to MySQL: " . mysql_error());

if(isset($_POST['userId'])){
   $userId = $_POST['userId'];
   $password = $_POST['password'];
   $sql = "SELECT *  FROM User where userId = '$userId' AND password = '$password'" or die(mysql_error());
   $res = mysql_fetch_array($sql) or die(mysql_error());
   if(mysql_num_rows($res) > 0) {
      echo "SUCCESSFULLY LOGIN TO USER PROFILE PAGE...";
      exit();
    }
        else
        {
                echo "SORRY... YOU ENTERD WRONG ID AND PASSWORD... PLEASE RETRY...";
                exit();
        }
 }

?>
您的mysql\u查询()在哪里

我认为您应该添加
mysql\u query()
并重试

$sql = "SELECT *  FROM User where userId = '$userId' AND password = '$password'";

$query=mysql_query($sql) or die(mysql_error());    **// You didn't add this line**

$res = mysql_fetch_array($query) or die(mysql_error());
您的所有其他代码都在这里。。。。。。。。。。。。。。。。。。hop您的问题已修复

您的mysql\u查询()在哪里

我认为您应该添加
mysql\u query()
并重试

$sql = "SELECT *  FROM User where userId = '$userId' AND password = '$password'";

$query=mysql_query($sql) or die(mysql_error());    **// You didn't add this line**

$res = mysql_fetch_array($query) or die(mysql_error());

您的所有其他代码都在这里。。。。。。。。。。。。。。。。。。如果您的问题已解决

上述代码存在一些问题。第一个屏幕上没有显示任何内容的问题很可能是由于PHP抛出错误和崩溃,或者您没有在HTTP头中为POST数据设置userId。要确保将POST数据发送到服务器,可以检查web浏览器的开发人员工具,或者在PHP脚本顶部使用以下代码

<?php
    echo '<pre>';
    print_r($_POST);
    echo '</pre>';
?>
PHP的另一个问题是,您不检查
$\u POST['password']
是否设置了
userId
。这是一个简单的修复方法,只需更改一行代码

$userId = mysql_real_escape_string($userId);
$password = mysql_real_escape_string($password);
$sql = "SELECT *  FROM User where userId = '$userId' AND password = '$password'";
我的下一个注意事项是您应该真正遵循的安全特性。第一个主要问题是在将变量插入SQL变量之前缺少对变量的解析。永远不要在查询中插入用户可以直接修改的变量。如果您坚持使用
mysql\u
函数,那么首先要对传递的所有变量运行命令
mysql\u real\u escape\u string()

下一个安全问题是您没有加密密码。每个用户都可以使用唯一的密码对密码进行加密。当用户更改密码时,salt也应该更改

$salt=生成_salt();//您需要创建此函数。生成大量随机字符。 $password=hash('sha512',$password.$salt)

使用上述方法,在生成密码变量之前,您不希望对密码变量使用
mysql\u real\u escape\u string()
。如果在对密码进行哈希运算之前使用它,用户很可能在将来登录时遇到问题,因为密码可能不匹配

代码中的下一个致命缺陷是,您使用的是
mysql\uu
函数,该函数现在不受支持且已弃用。正如您可以从PHP网站上的所有
mysql\uz
函数的引用中看到的那样

从PHP5.5.0开始,此扩展已被弃用,并将在中删除 未来。相反,应该使用MySQLi或PDO_MySQL扩展


我强烈建议将PDO作为MySQLi的一部分,但这只是个人偏好

上述代码存在一些问题。第一个屏幕上没有显示任何内容的问题很可能是由于PHP抛出错误和崩溃,或者您没有在HTTP头中为POST数据设置userId。要确保将POST数据发送到服务器,可以检查web浏览器的开发人员工具,或者在PHP脚本顶部使用以下代码

<?php
    echo '<pre>';
    print_r($_POST);
    echo '</pre>';
?>
PHP的另一个问题是,您不检查
$\u POST['password']
是否设置了
userId
。这是一个简单的修复方法,只需更改一行代码

$userId = mysql_real_escape_string($userId);
$password = mysql_real_escape_string($password);
$sql = "SELECT *  FROM User where userId = '$userId' AND password = '$password'";
我的下一个注意事项是您应该真正遵循的安全特性。第一个主要问题是在将变量插入SQL变量之前缺少对变量的解析。永远不要在查询中插入用户可以直接修改的变量。如果您坚持使用
mysql\u
函数,那么首先要对传递的所有变量运行命令
mysql\u real\u escape\u string()

下一个安全问题是您没有加密密码。每个用户都可以使用唯一的密码对密码进行加密。当用户更改密码时,salt也应该更改

$salt=生成_salt();//您需要创建此函数。生成大量随机字符。 $password=hash('sha512',$password.$salt)

使用上述方法,在生成密码变量之前,您不希望对密码变量使用
mysql\u real\u escape\u string()
。如果在对密码进行哈希运算之前使用它,用户很可能在将来登录时遇到问题,因为密码可能不匹配

代码中的下一个致命缺陷是,您使用的是
mysql\uu
函数,该函数现在不受支持且已弃用。正如您可以从PHP网站上的所有
mysql\uz
函数的引用中看到的那样

从PHP5.5.0开始,此扩展已被弃用,并将在中删除 未来。相反,应该使用MySQLi或PDO_MySQL扩展


我强烈建议将PDO作为MySQLi的一部分,但这只是个人偏好

PHP输出中存在印刷错误。请准确复制/粘贴您收到的错误,以及您使用的准确源代码,以便社区更准确地诊断您的问题。tr