У меня есть приведенный ниже код, который позволяет члену восстановить свой пароль. Однако я не могу определить ошибку, которая была сделана, и мои условия не выполняются. Когда вы посещаете recover.php, вы перенаправляетесь на index.php, поэтому выполняется инструкция else else (это должно произойти только при входе пользователя в систему - это означает, что они не могут восстановить пароль, если они вошли в систему).Условия, которые не выполняются в моем заявлении IF
<?php
include 'storescripts/init.php';
$msg = "";
if(isset($_GET['success']) === true && empty($_GET['success']) === true)
{
$msg = "Thanks, we've emailed you.";
}
else
{
$mode_allowed = array('mem_password');
if (isset($_GET['mode']) === true && in_array($_GET['mode'], $mode_allowed) === true)
{
if(isset($_POST['mem_email']) === true && empty($_POST['mem_email']) === false)
{
if (email_exists($_POST['mem_email']) === true)
{
recover($_GET['mode'], $_POST['mem_email']);
header('Location: recover.php?success');
exit();
}
else
{
$msg = "<p>Oops, we couldn\'t find that email in the system</p>";
}
}
}
else
{
header('Location: index.php');
exit();
}
}
logged_in_redirect();
include 'includes/overall/head.php';
include 'includes/overall/template_header.php';
?>
<div id="mainDivShort">
<h1>Recover</h1>
<div id="divBreak"></div>
<?php include ("includes/overall/column_left.php");?>
<div id="middleContent">
<?php echo $msg; ?>
<form action="" method="post">
<ul>
<li>Please enter your email address:<br> <input type="text" name="mem_email"></li>
<li><input type="submit" value="Recover"></li>
</ul>
</form>
</div>
<?php include ("includes/overall/column_right.php");?>
</div>
<?php include ("includes/overall/template_footer.php");?>
Как я посещаю recover.php, когда я вошел, я не могу разобраться, что условие является неправильным, чтобы выполнить последнее еще заявление.
'$ _GET ['mode']' был передан в URL-адресе? 'recover.php? mode = mem_password' –
Это не ваша ошибка здесь, но вам не нужны явные сравнения на' true'. просто используйте что-то вроде 'if (isset ($ foo) &&! empty ($ foo))' – scones
nope. Я ссылаюсь на index.php на recover.php? Mode = password, и как только нажимается ссылка, я перенаправляюсь обратно в index.php – jhetheringt7