我正在尝试创建一个将用户名和密码保存在现有SQL数据库中的登录系统,但是始终收到相同的PHP错误消息,并且无法找出问题所在。
我已经在SO / Internet上搜索了类似的线程,但是其中大多数都存在语法问题,或者没有填写action字段,或者没有正确安装PHP。我已经检查了所有这些内容-为了功能起见,我使用的是网站上已编写的代码(仅供参考,我在此处使用了所有正确的代码:http://mrbool.com/how-to-create-a-login-page-with-php-and-mysql/28656)。我已经对所有SO线程进行了100万次交叉检查,它看起来完全正确,没有错误。我还下载了MAMP,当我在浏览器中输入localhost / test.php时,带有php信息的test.php正常工作,但是我只是无法获得Connectivity.php来做任何事情,而是显示“ Cannot POST /connectivity.php ”。系统会识别正确的登录信息,但是一旦我按下了提交按钮,它就会带我到该错误消息。
<?php
define('DB_HOST', 'localhost');
define('DB_NAME', 'practice');
define('DB_USER','root');
define('DB_PASSWORD','');
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to
connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to
MySQL: " . mysql_error());
// $ID = $_POST['user'];
// $Password = $_POST['pass'];
function SignIn()
{
session_start();
if(!empty($_POST['user'])) //checking the 'user' name which is from
Sign-In.html, is it empty or does it have some text
{
$query = mysql_query("SELECT * FROM UserName where userName =
'$_POST[user]' AND pass = '$_POST[pass]'") or die(mysql_error());
$row = mysql_fetch_array($query) or die(mysql_error());
if(!empty($row['userName']) AND !empty($row['pass']))
{
$_SESSION['userName'] = $row['pass'];
echo "SUCCESS";
}
else
{
echo "PLEASE RETRY";
}
}
}
if(isset($_POST['submit']))
{
SignIn();
}
?>
和连接的HTML文件片段:
<form method="POST" action="connectivity.php"> User <br><input type="text" name="user" size="40"><br> Password <br>
<input type="password" name="pass" size="40"><br>
<input id="button" type="submit" name="submit" value="Log-In"> </form>
</fieldset> </div> </body> </html>
我希望显示“成功”或“请重试”的消息,但无法越过错误消息。