关于使用php进行会话维护
这是我的关于使用php进行会话维护,php,session,Php,Session,这是我的login\u checkphp文件和login\u donephp文件。 在我加入会话功能之前,它工作得很好。 但在我插入了一些会话函数之后,它就停止了工作,并继续导致“无效登录”,即使使用了有效的ID和密码 'login_check.php' <?php session_start(); include_once ('../config.php'); $mysqli = new mysqli($DB['host'], $DB['id'], $DB['pw
login\u check
php文件和login\u done
php文件。
在我加入会话功能之前,它工作得很好。
但在我插入了一些会话函数之后,它就停止了工作,并继续导致“无效登录”,即使使用了有效的ID和密码
'login_check.php'
<?php
session_start();
include_once ('../config.php');
$mysqli = new mysqli($DB['host'], $DB['id'], $DB['pw'], $DB['db']);
if (mysqli_connect_error()) {
exit('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
}
extract($_POST);
$q = "SELECT * FROM ap_member WHERE id='$user_id'";
$result = $mysqli->query($q);
if($result->num_rows==1) {
$encrypted_pass = sha1($user_pass);
$row = $result->fetch_array(MYSQLI_ASSOC);
if( $row['pw'] == $encrypted_pass ) {
header("Location: http://sovereign-recipe.com/member/login_done.php");
exit();
}
else {
echo 'wrong password';
}
}
else {
echo 'ID does not exist or invalid approach. Try again.';
}
if( $row['pw'] == $encrypted_pass ) {
$_SESSION['is_logged'] = 'YES';
$_SESSION['user_id'] = $user_id;
header("Location: http://sovereign-recipe.com/member/login_done.php");
exit();
}
else {
$_SESSION['is_logged'] = 'NO';
$_SESSION['user_id'] = '';
header("Location: http://sovereign-recipe.com/member/login_done.php");
exit();
}
?>
在您的login\u check.php中尝试这种方法
session_start();
include_once ('../config.php');
$mysqli = new mysqli($DB['host'], $DB['id'], $DB['pw'], $DB['db']);
if (mysqli_connect_error()) {
exit('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
}
extract($_POST);
$q = "SELECT * FROM ap_member WHERE id='$user_id'";
$result = $mysqli->query($q);
if ($result->num_rows == 1) {
$encrypted_pass = sha1($user_pass);
$row = $result->fetch_array(MYSQLI_ASSOC);
if ($row['pw'] == $encrypted_pass) {
$_SESSION['is_logged'] = 'YES';
$_SESSION['user_id'] = $user_id;
} else {
$_SESSION['is_logged'] = 'NO';
$_SESSION['user_id'] = '';
//echo 'wrong password';
}
} else {
$_SESSION['is_logged'] = 'NO';
$_SESSION['user_id'] = '';
echo 'ID does not exist or invalid approach. Try again.';
}
//You can to use here your redirect, then remove the previous
header("Location: http://sovereign-recipe.com/member/login_done.php");
exit();
我希望这对您有所帮助。在您的login\u check.php中尝试这种方法
session_start();
include_once ('../config.php');
$mysqli = new mysqli($DB['host'], $DB['id'], $DB['pw'], $DB['db']);
if (mysqli_connect_error()) {
exit('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
}
extract($_POST);
$q = "SELECT * FROM ap_member WHERE id='$user_id'";
$result = $mysqli->query($q);
if ($result->num_rows == 1) {
$encrypted_pass = sha1($user_pass);
$row = $result->fetch_array(MYSQLI_ASSOC);
if ($row['pw'] == $encrypted_pass) {
$_SESSION['is_logged'] = 'YES';
$_SESSION['user_id'] = $user_id;
} else {
$_SESSION['is_logged'] = 'NO';
$_SESSION['user_id'] = '';
//echo 'wrong password';
}
} else {
$_SESSION['is_logged'] = 'NO';
$_SESSION['user_id'] = '';
echo 'ID does not exist or invalid approach. Try again.';
}
//You can to use here your redirect, then remove the previous
header("Location: http://sovereign-recipe.com/member/login_done.php");
exit();
我希望这对您有所帮助。尝试调试检查id和密码是否已通过。如何执行调试检查-是否有任何好的参考指南?您的查询应该是从ap_成员中选择*,其中id=“$user_id”和password=”$encrypted_pass”。然后检查num_rows()query@SmithJackery.放出口()您要停止并打开错误报告()的位置。在任务中分配您的工作,如选择查询、结果检查等。您正在调用exit()
当密码匹配时。因此,您永远不会执行设置会话变量的底部代码。请尝试调试检查id和密码是否已传递。如何进行调试检查-是否有良好的参考指南?您的查询应选择*FROM ap_member,其中id='$user_id'和密码='$encrypted_pass'。并在此之后检查num_rows()query@SmithJackery. 将exit()放在要停止的位置,然后打开error_reporting()。将您在任务中的工作划分为选择查询、结果检查等。当密码匹配时,您将调用exit()
。因此,您永远不会执行设置会话变量的底部代码。