我需要获取管理员名称和密码。然后需要使用php比较用户输入和MySQL。如果数据库通过验证,我应该登录到下一页。如果验证正确,如何编写php函数来访问MySQL。我应该登录他。需要检查MySQL数据库并在验证登录后
设计我的HTML代码:
<?php
?>
<!DOCTYPE HTML>
<head>
<title>Login Page</title>
<link rel="stylesheet" type="text/css" href="css/home.css">
<script src="js/home.js"> </script>
</head>
<body>
<form action="validate_login.php" method="post">
<div>
<div class="layout">
<div class="heading"></div>
<div class="img1"></div>
<div class="login">
<div class="logo"></div>
<div > <label class="AdminName">Admin Name</label> <input type="text" name="AdminName" value="AdminName" id="AdminName"/></div>
<div > <label class="Password">Password</label> <input type="password" name="Password" value="Password" id="Password" /></div>
<input type="button" button onclick='window.location="menu.php"' name="Login" id="login" value="LOGIN"/>
<input type="button" name="Login" id="cancel" value="cancel"/></form>
</div>
<div class="img2"></div>
</div>
</div>
</body>
我的PHP代码来访问数据库:
<?php
// Grab User submitted information
$AdminName = $_POST["AdminName"];
$Password = $_POST["Password"];
// Connect to the database
$con = mysql_connect("localhost","admin","[email protected]");
// Make sure we connected succesfully
if(! $con)
{
die('Connection Failed'.mysql_error());
}
// Select the database to use
mysql_select_db("admin_data",$con);
$result = mysql_query("SELECT AdminName, Password FROM admin_info WHERE AdminName = $AdminName");
$row = mysql_fetch_array($result);
if($row["AdminName"]==$AdminName && $row["Password"]==$Password)
echo"You are a validated user.";
else
echo"Sorry, your credentials are not valid, Please try again.";
?>
如果您使用该代码,那么任何人都一定能够登录。或者,如果他们喜欢,可以删除您的数据库。 'mysql_ *'函数被弃用,因为它们不安全。你应该阅读关于SQL注入 - (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)。除此之外,我无法分辨你在问什么。这段代码不能按预期工作吗? – Cfreak
@ user3317807,看看你有很多错误,你必须纠正。简单的一个是添加引号为'$ AdminName'等选择查询。为了使它更简单,将结果(在while后面)设置在另一个变量中,然后进行比较。检查GOOGLE.YOU有很多脚本为此 – codelover
旁注:此行WHERE AdminName = $ AdminName'需要WHERE AdminName =' $ AdminName'' ---'$ AdminName'需要用引号括起来,否则将被视为一个整数;这很可能是它不工作的原因。 –