我的PHP登录有问题。我正在使用引导程序,每当我点击"登录"时,都不会发生任何事情。如果我是正确的,它应该把我提交到一个空白页面。
有什么建议吗?
引导程序代码:
<div class="container">
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Please sign in</h3>
</div>
<div class="panel-body">
<form accept-charset="UTF-8" role="form">
<form action="submit.php" method="post">
<fieldset>
<div class="form-group">
<input class="form-control" placeholder="Username" name="Username" type="text">
</div>
<div class="form-group">
<input class="form-control" placeholder="Password" name="password" type="password" value="">
</div>
<input class="btn btn-lg btn-primary btn-block" type="submit" value="Login">
</fieldset>
</form>
</div>
</div>
</div>
</div>
</div>
PHP代码:
<?php
$username = $_POST['username'];
$password = $_POST['password'];
if($username&&$password)
{
$connect = mysql_connect("localhost", "sfmin", "password") or die("Error");
mysql_select_db("rothienc_login") or die("error");
$query = mysql_query("SELECT * FROM users WHERE username='$username'");
$numrows = mysql_num_rows($query);
if($numrows!=0)
{
}
else
die("That user doesn't exist!");
}
else
die("ERROR");
?>
您定义了两次<form>
:
<form accept-charset="UTF-8" role="form">
<form action="submit.php" method="post">
将其更改为仅一个元素:
<form action="submit.php" method="post" accept-charset="UTF-8" role="form">
使您的用户名<input>
名称属性小写:
<input class="form-control" placeholder="Username" name="username" type="text">
正确转义SQL查询:
$query = mysql_query(
"SELECT * FROM users WHERE username='" . mysql_real_escape_string($username) . "'"
);
<div class="container">
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Please sign in</h3>
</div>
<div class="panel-body">
<form action="submit.php" method="post">
<fieldset>
<div class="form-group">
<input class="form-control" placeholder="Username" name="Username" type="text">
</div>
<div class="form-group">
<input class="form-control" placeholder="Password" name="password" type="password" value="">
</div>
<input class="btn btn-lg btn-primary btn-block" type="submit" value="Login" name="submit" >
</fieldset>
</form>
</div>
</div>
</div>
php:
$connect = mysqli_connect("localhost", "sfmin", "password", "rothienc_login") or die("Error");
if(isset($_POST['submit'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$query = mysqli_query($connect, "SELECT * FROM users");
if($username == $row['username'] && $password == $row['password'])
{
// User exists
$numrows = mysqli_num_rows($connect, $query);
if($numrows!=0)
{
}
else
die("That user doesn't exist!");
}
else
die("ERROR");
} else {
$username = "";
$password = "";
}
?>
这会检查是否单击了提交按钮if(isset($_POST['submit']))
,然后检查用户匹配数据库记录,如果正确,则将用户登录。还记得设置会话变量
如果你想要一个美丽而现代的PHP登录,伙计!使用JQueryAjax。在输入按钮中,将类型"Submit"改为"button",您需要生成一个基本的ajax whit-jquery。
$.ajax({
url: 'URL_PHP_LOGIN.php',
type: "POST",
data: {user: user, pass: pass},
success: function(html){
alert(html)//Alert when the login is correct.
}
});