我发现处理基本登录页面时出现问题,但是这里没有显示任何登录信息,而且我对PHP& SQL因此无法正确修复它。不知道错过了哪里:
<?php
session_start();
include("require_pro.php");
if($_SERVER["REQUEST_METHOD"]=="POST")
{
$myusername=addslashes($_POST['username']);
$mypassword=md5(addslashes($_POST['password']));
$sql=" SELECT * FROM user
WHERE username='$myusername' and password='$mypassword'
";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1)
{
echo "Login Successfully";
}
}
?>
<!DOCTYPE html public "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang='en' xml:lang='en'>
<head>
<meta http-equiv="Content-Type" content=”text/html; charset=ISO-8859-1" />
</head>
<html>
<title>Login-In</title>
<body>
<fieldset style="border:2px groove; border-color:blue; padding:15px 30px 15px;margin-right:5px;width:350px;height:150px">
<form action="login1.php" method="post">
<p><b>User Name </b> <input type="text" name="username" size="20px" maxlength="15"></p>
<p><b>Password </b> <input type="password" name="password" size="20px" maxlength="15"></p>
<div align="left"> <input type="submit" name="submit" value=login></div>
</form>
</fieldset>
</body>
我的require.php文件:
<?php
$server="localhost";
$username="rgun";
$password="";
$database="rgun";
$dbc=@mysql_connect($server,$username,$mysql_user,$mysql_password) or die("Database connection failed");
mysql_select_db($database,$dbc) or die("Can't select the database");
?>
USER SQL:
答案 0 :(得分:1)
您的连接字符串中存在问题。您的连接字符串应为:
<?php
$server="localhost";
$username="rgun";
$password="";
$database="rgun";
$dbc=mysql_connect($server,$username,$password) or die("Database connection failed");
if($_SERVER["REQUEST_METHOD"]=="POST")
{
$myusername=addslashes($_POST['username']);
$mypassword=addslashes($_POST['password']);
$sql=" SELECT * FROM user
WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count == 1)
{
echo "Login Successfully";
}
}
我已更新我的代码。还有一个错误,你的数据库中你的密码没有保存在md5中,但是你正在添加md5
$mypassword=md5(addslashes($_POST['password']));
所以在这里删除md5或在数据库中以md5格式插入密码,然后你的脚本就会运行。我已经测试了我在这个答案中发布的代码,它执行完美并给出了期望的结果,所以请尝试使用此代码。
mysql_ *已被正式弃用,因此请使用mysqli_ *或PDO。
答案 1 :(得分:1)
您共享的代码和数据库存在两个问题。
因此,您可以更新'用户'表并通过以下方式加密密码:UPDATE USER
SET password
= MD5(password
);
或者,从mypassword变量赋值中删除md5()函数。从“$ mypassword = md5(addslashes($ _ POST ['password']));” to“$ mypassword = addslashes($ _ POST ['password']);”
提醒:
答案 2 :(得分:0)
试试这个,看看你收到了什么输出:
$this->add(array(
'name' => 'year',
'type' => 'select',
'attributes' => array(
'id' => 'yearSelect',
),
'options' => array(
'label' => 'Op welke datum wilt u arriveren?',
'label_attributes' => array(
'class' => 'testFieldset',
)
)
));