0

次のコードがありますが、ここでブロックされています..

<?php
require 'members/core/init.php';
$general->logged_in_protect();

if (empty($_POST) === false) {

$username = trim($_POST['username']);
$password = trim($_POST['password']);

if (empty($username) === true || empty($password) === true) {
    $errors[] = 'Sorry, but we need your username and password.';
} else if ($users->user_exists($username) === false) {
    $errors[] = 'Sorry that username doesn\'t exists.';
} else if ($users->email_confirmed($username) === false) {
    $errors[] = 'Sorry, but you need to activate your account. 
                 Please check your email.';
} else {
    if (strlen($password) > 18) {
        $errors[] = 'The password should be less than 18 characters, without spacing.';
    }
    $login = $users->login($username, $password);
    if ($login === false) {
        $errors[] = 'Sorry, that username/password is invalid';
    }else {
        session_regenerate_id(true);// destroying the old session id and creating a new one
        $_SESSION['id'] =  $login;
        header('Location: http://www.site.ro/1/index.html');
        exit();
    }
}
} 
?>

そして以下:

<?php if ($page == 'login'): ?>
<?php endif; ?>

誰かがコードのその部分を組み合わせるのを手伝ってくれますか?

私はそれを試しましたが、ヘッダーが既に送信されていることを教えてください..

<?php if ($page == 'login'): ?>
<?php
require 'members/core/init.php';
$general->logged_in_protect();

if (empty($_POST) === false) {

$username = trim($_POST['username']);
$password = trim($_POST['password']);

if (empty($username) === true || empty($password) === true) {
    $errors[] = 'Sorry, but we need your username and password.';
} else if ($users->user_exists($username) === false) {
    $errors[] = 'Sorry that username doesn\'t exists.';
} else if ($users->email_confirmed($username) === false) {
    $errors[] = 'Sorry, but you need to activate your account. 
                 Please check your email.';
} else {
    if (strlen($password) > 18) {
        $errors[] = 'The password should be less than 18 characters, without spacing.';
    }
    $login = $users->login($username, $password);
    if ($login === false) {
        $errors[] = 'Sorry, that username/password is invalid';
    }else {
        session_regenerate_id(true);// destroying the old session id and creating a new one
        $_SESSION['id'] =  $login;
        header('Location: http://www.site.ro/1/index.html');
        exit();
    }
}
} 
?>
<?php endif; ?>

PHP初心者ですので、よろしくお願いします。前もって感謝します。

解決しました!

それが最終的なコードであること:

<?php if ($page == 'login'):
require 'members/core/init.php';
$general->logged_in_protect();

if (empty($_POST) === false) {

$username = trim($_POST['username']);
$password = trim($_POST['password']);

if (empty($username) === true || empty($password) === true) {
    $errors[] = 'Sorry, but we need your username and password.';
} else if ($users->user_exists($username) === false) {
    $errors[] = 'Sorry that username doesn\'t exists.';
} else if ($users->email_confirmed($username) === false) {
    $errors[] = 'Sorry, but you need to activate your account. 
                 Please check your email.';
} else {
    if (strlen($password) > 18) {
        $errors[] = 'The password should be less than 18 characters, without spacing.';
    }
    $login = $users->login($username, $password);
    if ($login === false) {
        $errors[] = 'Sorry, that username/password is invalid';
    }else {
        session_regenerate_id(true);// destroying the old session id and creating a new one
        $_SESSION['id'] =  $login;
        header('Location: http://www.site.ro/1/index.html');
        exit();
    }
}
} 
endif; ?>
4

2 に答える 2

0

コードのどこかに空白がある場合があります。

  1. あなたはそれを見つけることができます。

  2. または、これに対する最も簡単な解決策は、出力バッファリングをオンにすることです

出力バッファリングでできることは、必要なものをすべてエコー/印刷し、ページのどこにでもヘッダー情報を送信する機能を維持することです。

于 2013-11-04T18:02:08.450 に答える