<?php session_start();
?>
<?php
require 'connect.php';
require 'core.php';
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Donor's Login</title>
<link href="css/bootstrap.css" rel="stylesheet">
<script src="js/bootstrap.min.js"></script>
</head>
<body>
<?php
if(isset($_POST['donoruname']) && isset($_POST['donorpass']))
{
$username=$_POST['donoruname'];
$password=$_POST['donorpass'];
$password_hash= md5 ($password);
}
if(!empty($username) && !empty($password))
{
$query= "SELECT `donorid` FROM `info` WHERE `donoruname`='$username'
`donorpass`='$password_hash' ";
if($query_run=mysql_query($query))
{
$query_num_rows=mysql_num_rows($query_run);
if($query_num_rows=0)
{
echo "<script>alert('Wrong id or password');</script>";
}
else if($query_num_rows=1)
{
echo "<script>alert('Welcome you are now logging in');</script> " ;
}
}
else
{
echo '<script>alert("enter username and password");</script>';
}
?>
<div class="login">
<form class="span4" action="index.php" method="post">
<fieldset class="span3">
<legend>Donor's Login</legend>
Username<span class="required">*</span><br>
<input type="text" name="uname" size="30" height="24px" placeholder="Username..."><br/>
Password<span class="required">*</span><br>
<input type="password" name="pass" placeholder="Password..."><br/>
<button type="submit" name="login" class="btn">Login</button>
<a href="register.php" class="btn btn-primary">Register</a>
</fieldset>
</form>
</div>
</body>
</html>
在这里我从我看过的视频中写了相同的PHP代码,但在视频中它成功运行但在这个鳕鱼似乎错误像
解析错误:语法错误,第73行的index.php中意外的文件结尾
答案 0 :(得分:2)
您在php中错过了结束括号 }
。试试这个:
<?php
if (isset($_POST['donoruname']) && isset($_POST['donorpass'])) {
$username = $_POST['donoruname'];
$password = $_POST['donorpass'];
$password_hash = md5($password);
}
if (!empty($username) && !empty($password)) {
$query = "SELECT `donorid` FROM `info` WHERE `donoruname`='$username'
`donorpass`='$password_hash' ";
if ($query_run = mysql_query($query)) {
$query_num_rows = mysql_num_rows($query_run);
if ($query_num_rows = 0) {
echo "<script>alert('Wrong id or password');</script>";
} else if ($query_num_rows = 1) {
echo "<script>alert('Welcome you are now logging in');</script> ";
}
} else {
echo '<script>alert("enter username and password");</script>';
}
}
?>
编辑:正如评论中所建议的那样(实际上只是指出了我的愚蠢:P)。您忘记关闭其中一个if语句及其相应的括号 }
。即;如果检查,你忘了关闭这个特定的内容:
if (isset($_POST['donoruname']) && isset($_POST['donorpass']))
这导致了您的错误消息:
解析错误:语法错误,第73行的index.php中意外的文件结尾
我希望更多地澄清一下:)
编辑#2:看来我的守护天使正在看着我的SO行动哈哈!
但老实说他是对的,MD5哈希变得多余了。
现代服务器可以每秒计算大约330MB的MD5哈希值。如果您的用户拥有小写,字母数字和6个字符的密码,您可以在大约40秒内尝试该大小的每个可能密码。 - 取自How to safely store a password.
更多阅读: Why you shouldn't use SHA1 or MD5...
password_hash()
功能。<强>脚注:强>
mysql_*
函数弃用通知:
http://www.php.net/manual/en/intro.mysql.php
从PHP 5.5.0开始,不推荐使用此扩展,不建议用于编写新代码,因为将来会删除它。相反,应使用mysqli或PDO_MySQL扩展名。在选择MySQL API时,另请参阅MySQL API Overview以获得进一步的帮助。
这些功能允许您访问MySQL数据库服务器。有关MySQL的更多信息,请访问»http://www.mysql.com/。
可以在»http://dev.mysql.com/doc/找到MySQL的文档。