我有以下代码,但由于某种原因,会话保持为空。
有人能帮我解决这个问题吗?
<?php
session_start();
ob_start();
$ifLogged = $_SESSION["mbse"];
if(!isset($ifLogged))
{
$_SESSION["mbse"] = 'not logged';
}
echo '--'.$ifLogged.'--';
//Obtain Info if User Tried to Log In
$username = $_POST[username];
$password = $_POST[password];
$submit = $_POST[submit];
if(isset($submit))
{
$_SESSION["mbse"] = $username;
$user = get_user_by( 'login', $username );
if ( $user && wp_check_password( $password, $user->data->user_pass, $user->ID) )
{
// Automatic login //
$user = get_user_by('login', $username );
// Redirect URL //
if ( !is_wp_error( $user ) )
{
wp_clear_auth_cookie();
wp_set_current_user ( $user->ID );
wp_set_auth_cookie ( $user->ID );
echo '<meta http-equiv="refresh" content="0;URL=/landing-page" />';
exit();
}
else
{ echo 'Error';}
//Stop Here
}
else
{
echo "Username and Passcode Do Not Match";
}
}
//Obtain Domain and Check Alias
$domain = "$_SERVER[HTTP_HOST]";
$alias = "$_SERVER[REQUEST_URI]";
//Strip the Slashes from the Alias
$alias = str_replace("/", "", $alias);
if($alias == '')
{
$nameInput = 'text';
}
else
{
$nameInput = 'hidden';
}
echo'
<form method="POST">
<div class="form-group">
<input class="form-control" type="'.$nameInput.'" value="'.$alias.'" name="username" placeholder="Input Your Username" required>
</div>
<div class="form-group">
<input class="form-control" type="password" name="password" placeholder="Input Your Password" required />
</div>
<div class="col-sm-12 submitlogin">
<input class="btn" type="submit" name="submit" value="Submit" />
</div>
</form>';无论是从下一个页面,还是当我返回到这个页面时-会话最初是空的,在第一次尝试之后,它显示为“未记录”。问题是,当重定向发生时,条件会被触发。
非常感谢您的帮助!
发布于 2018-04-12 21:01:11
发现了,这比它应该花的时间更长,抱歉
数组键需要用引号括起来,如下所示
$username = $_POST['username'];
$password = $_POST['password'];
$submit = $_POST['submit'];https://stackoverflow.com/questions/49796964
复制相似问题