这是我的登录页面:
"这是表单,表单action="设置为无(可能是问题?)
$query=mysql_query("SELECT * FROM login WHERE username='".$user."' AND password='".$pass."'");
$numrows=mysql_num_rows($query);
if($numrows!=0)
{
while($row=mysql_fetch_assoc($query))
{
$dbusername=$row['username'];
$dbpassword=$row['password'];
}
if($user == $dbusername && $pass == $dbpassword)
{
session_start();
$_SESSION['sess_user']=$user;
/* Redirect browser */
header("Location: member.php");
}
} else {
echo "Invalid username or password!";
}
第二页
<?php
session_start();
if(!isset($_SESSION["sess_user"])){
header("location:login.php");
} else {
每当我点击“登录”按钮时,表单就会返回,而不是页面重定向我。。请帮忙,
提前谢谢
我认为头()引起了很多错误。所以我用的是这个:
<meta http-equiv='refresh' content="0; url=yoururlhere"
保持原样,它会将您重定向到新页面:)与标题相同。这应该能解决你的问题。
编辑
好的,这里有一些更新将有助于使它更安全,它应该可以解决您的问题!:)首先让我们从数据库连接文件开始:
<?php
$db_username = ""; //Input your database username here
$db_password = ""; //Input your database password here
$db_host = ""; //Input your database host here
$db_name = ""; //Input your database name here
$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
try {
$connection = new PDO("mysql:host={$db_host};dbname={$db_name};charset=utf8", $db_username, $db_password, $options);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $ex) {
echo "Can not connect to database.";
}
header('Content-Type: text/html; charset=utf-8');
?>
以上将连接到您的数据库为您!:)好的接下来让工作与PHP(请把这在顶部的你,在你的输入):
<?php
//Grabs the database connection
require("path to database connection file");
$user = $_POST["user"];
$pass = $_POST["pass"];
$query="SELECT * FROM login WHERE username=:username AND password=:password";
$params->execute(array(':username' => $user,
':password' => $pass));
try{
$stmt = $connection->prepare($query);
$result = $stmt->execute($params);
}
catch(PDOException $ex){
echo ("Failed to run query: " . $ex->getMessage());
}
$fetch = $stmt->fetch();
if($fetch) {
while($row=mysql_fetch_assoc($query)){
$usernamefetch=$fetch['username'];
$passwordfetch=$fetch['password'];
}
if($user == $usernamefetch && $pass == $passwordfetch)
session_start();
$_SESSION['sess_user']=$user;
?>
<meta http-equiv='refresh' content="0; url=page_to_redirect_to"
<?php
{
else {
echo "Invalid username or password!";
}
}
else {
echo "Invalid username or password!";
}
?>
这就是代码,它应该可以完美地工作!:)你唯一应该确保更改的是要重定向到哪里的mets标签。当然,您的简单HTML:
<form action="" method="POST">
Username: <input type="text" name="user">
Password: <input type="password" name="pass">
<input type="submit" value="Login" name="submit" />
</form>
请测试这段代码,我认为它现在会工作得更好更不用说它会更安全。
编辑
最后,我100%成功了!!!)好的,现在用这个:
<?php
$db_username = "peoplein"; //Input your database username here
$db_password = "xxxxxxx"; //Input your database password here
$db_host = "localhost"; //Input your database host here
$db_name = "xxxxxxxx"; //Input your database name here
$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
try {
$connection = new PDO("mysql:host={$db_host};dbname={$db_name};charset=utf8", $db_username, $db_password, $options);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $ex) {
echo "Cannot connect to database.";
}
header('Content-Type: text/html; charset=utf-8');
?>
<!doctype html>
<html>
<head>
<title>Login</title>
</head>
<body>
<?php
if (isset($_POST["user"])) {
$user = $_POST["user"];
}
else {
$user = "";
}
if (isset($_POST["pass"])) {
$pass = $_POST["pass"];
}
else {
$pass = "";
}
$query="SELECT * FROM login WHERE username=:username";
$params=(array(':username' => $user));
try{
$stmt = $connection->prepare($query);
$result = $stmt->execute($params);
}
catch(PDOException $ex){
echo ("Failed to run query: " . $ex->getMessage());
}
$fetch = $stmt->fetch();
$passwordfetch=$fetch['password'];
if (password_verify($pass, $passwordfetch)) {
session_start();
$_SESSION['sess_user']=$user;
?>
<meta http-equiv='refresh' content="0; url=http://peopleinvestment.ro/filip/admin.php">
<?php
}
else {
echo "Invalid Information";
}
?>
<center>
<h3>Login</h3>
<form action="" method="POST">
Username: <input type="text" name="user">
Password: <input type="password" name="pass">
<input type="submit" value="Login" name="submit" />
</form>
</body>
</html>
除db_密码和db_名称外,请勿更改任何内容。现在,下一件你应该改变的事情。首先,如果有人进入你的数据库,你的密码是不安全的,因为他们没有“散列”。现在,您可以在将这些密码提交到数据库之前对其进行哈希处理:
password_hash($pass, PASSWORD_DEFAULT);
因此,基本上在用户即将注册之前,它会自动将密码_散列,然后将其输入数据库。现在必须这样做,否则上面的代码将无法工作。但是,如果您选择不使用密码\u散列(坏主意),那么您可以使用以下代码:http://pastebin.com/SJisBwnB. 这将解决您的问题,如果仍有任何错误被提出,或者如果您有任何问题,请再做一次评论!:)这对我来说非常有效。
我实际上找到了另一种方法:
基本上:
echo "<script>
top.location='admin.php'
</script>"
不如这样试试:
<?php
session_start();
$query = mysql_query("SELECT * FROM login WHERE username='" . $user . "' AND password='" . $pass . "'");
$numrows = mysql_num_rows($query);
if ($numrows > 0) {
while ($row = mysql_fetch_assoc($query)) {
$dbusername = $row['username'];
$dbpassword = $row['password'];
}
$_SESSION['sess_user'] = $user;
header("Location: http://peopleinvestment.ro/filip/member.php");
} else {
echo "Invalid username or password!";
}
它也更智能、更短,因为您要检查两次用户名和密码是否匹配
我尝试使用这个简单的代码登录,但在我点击登录按钮后,else选项“无效用户名或密码!”总是出现,即使用户名和密码是匹配的 控制器:
我是Symfony的新手,我正在尝试为我的应用程序创建一个access登录表单,但当我尝试登录时,它只会一次又一次地将我重定向到表单登录。在此之前,我使用了HTTP基本表单,它工作得很好,但现在我尝试使用登录表单,这是不可能的。 这是我的代码: 用户类(带教义): 安全Controller.php: Security.yml login.html.twig 有什么想法吗?谢谢
我有一个使用SpringMVC的Java网络应用程序。该 Web 应用程序在 jboss AS7.1 服务器上运行,该服务器使用带有表单认证的 JAAS 登录模块。当用户在表单上填写其用户名和密码时,登录工作顺利。 我现在想创建一个java控制器,它“将用户登录”,就好像用户填写了日志通知一样。 当上述方法完成时,应允许对任何安全页面的任何访问,因为用户被视为已登录。 可以通过访问Jboss的lo
问题内容: 我正在忙于开发一个网站,该网站的右上角有一个登录框。我希望用户能够在不刷新的情况下登录同一页面。 好的,我已经开始工作了,但是我仍在努力登录后的过程,如下所示: (HTML) (PHP) (我的jQuery) (isLoggedIn.php) (isNotLoggedIn.php) 登录过程可以正常工作,但是注销混乱。当我单击isLoggedIn.php中的Logout链接时,它注销了
您好,我知道这个主题以前就有人提出过,但是没有人像我这样做过AJAX操作标准。我是AJAX和jQuery的新手 我这里的问题是,我不确定js函数“ajaxPostCallManip()”是否达到“login.php”!! 我发了几个警报,但没有出现...请帮帮忙 超文本标记语言代码 js代码 PHP代码
我目前正在创建一个Symfony3应用程序,我无法使我的登录表单工作;我遵循以下步骤: http://symfony.com/doc/current/cookbook/security/form_login_setup.html http://symfony.com/doc/current/cookbook/doctrine/registration_form.html 注册系统正在工作,但我无法