(php) php写了个登陆,服务器报错500.

代码如下:
表结构

id int phone char
password char

Conn.php

<?php //设置数据库变量 $db_host = localhost; //数据库主机名称,一般都为localhost $db_user = root; //数据库用户帐号,根据个人情况而定 $db_passw = 123456; //数据库用户密码,根据个人情况而定 $db_name = db; //数据库具体名称 //连接数据库 $conn = mysql_connect$db_host,$db_user,$db_passw or die 数据库连接失败!</br>错误原因:.mysql_error; //设置字符集,如utf8和gbk等 mysql_query"set names utf8"; //选定数据库 mysql_select_db$db_name,$conn or die数据库选定失败!</br>错误原因:.mysql_error; //执行SQL语句查询 //$result = mysql_query$sql or die数据库查询失败!</br>错误原因:.mysql_error;
?>

login.php

<?php headerContent-Type:application/json;charset=utf-8; //判断请求类型 if isset$_POST[phone] && isset$_POST[password] { // 获取POST请求参数 $accessType = [POST]; $userPhone = $_POST[phone]; $userPassword = $_POST[password]; } else { echo json_encodearrayresult=>非法请求; return false; } //创建SQL语句 $sql="SELECT * FROM lms_users WHERE phone =".$userName." AND `password` = ".$userPassword.";"; //调用conn.php文件进行数据库操作 requireConn.php; global $conn; $result=mysql_query$sql,$conn or die数据库查询失败!错误原因:.mysql_error; $flag=0; while!!$item=mysql_fetch_assoc$result{ $flag++; }; //实际只能返回一条结果. if $flag >= 1 { $result = array echo json_encode$row; ; echo json_encode$result; exit; }else { $result = array id => 0 ; echo json_encode$result; } return true;
?>

login.html

<!DOCTYPE html>
<html >
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>PHP 测试</title>
</head>
<body> <p></p>
<h1>登陆</h1>
<hr />
<form action="login.php" method="post"> <p>姓名: <input type="text" name="phone" /></p> <p>密码: <input type="password" name="password" /></p> <p><input type="submit" /></p>
</form> </body>
</html>

开发的话要打开php的错误显示(在php.ini中搜索配置display_errors=On),才能知道具体是啥错误。

另外,建议不要使用mysql相关函数了,用mysqli相关函数或对象代替,mysql相关函数早就不推荐使用,并在最新的PHP7中正式移除了。

有语法错误吧,

$result = array echo json_encode$row;
; 

这里是错误的。其实可以打开服务器上详细错误的输出,这样可以看到500错误具体的出错原因

发表评论

电子邮件地址不会被公开。 必填项已用*标注