PHP ユーザー/登録サイトのエラーを見つけるのに苦労しています。登録後、アクティベーション リンクが記載された電子メールが送信され、リンクをクリックするとアカウントが正常にアクティベートされますが、成功メッセージが表示されません。
ブラウザでアクティベーション リンクをコピーして貼り付け、リンク内の電子メールまたは電子メール コードのいずれかの文字を変更すると、すべてのエラー メッセージが正常に表示されます。
アクティベーション リンクは次のようになります。
これは私の activate.php のコードです
<?php
include 'core/init.php';
logged_in_redirect();
include 'includes/overall/header.php';
?>
<?php
if (isset($_GET['success']) == true && empty($_GET['success']) == true) {
?>
<h3>Thanks, your account has been activated..</h3>
<p>You're free to log in!</p>
<?php
header('Location: activate.php?success');
exit();
} else if (isset($_GET['email'], $_GET['email_code']) === true) {
$email = trim($_GET['email']);
$email_code = trim($_GET['email_code']);
if (email_exists($email) === false) {
$errors[] = 'Ooops something went wrong, and we couldn\'t find that email adress!';
} else if (activate($email, $email_code) === false) {
$errors[] = 'We had problems activating your account';
} if (empty($errors) === false) {
?>
<h2>Ooops...</h2>
<?php
echo output_errors($errors);
} else {
header('Location: activate.php?success');
exit();
}
} else {
header('Location: index.php');
exit();
}
?>
<?php include 'includes/overall/footer.php'; ?>
成功メッセージとリダイレクトが表示されないのはなぜですか?
URL は変更されません: http://website.com/activate.php?email=useremail@website.com&email_code=2631df446b129480abdbf54f08e8c494
宛先: website.com/activate.php?success