1

OK、エラーは修正されましたが、ログインすると間違ったページに移動します...

バーチャルマネーでお店を作っています。000webhost を使用してホストしています。しかし、実行しようとすると、次のエラーが表示されます。

Warning: session_register() [function.session-register]: Cannot send session cache limiter      - headers already sent (output started at /home/a7020156/public_html/checklogin.php:2) in     /home/a7020156/public_html/checklogin.php on line 41
Warning: Cannot modify header information - headers already sent by (output started at /home/a7020156/public_html/checklogin.php:2) in /home/a7020156/public_html/checklogin.php on line 47

エラーが発生するページのコード: (詳細は削除されています)

<?php
ob_end_flush(); 
define('DEBUG', TRUE);

ob_start();
$host=""; // Host name 
$username=""; // Mysql username 
$password=""; // Mysql password 
$db_name=""; // Database name 
$tbl_name=""; // Table name 

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// username and password sent from form 
$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 
$nav = $_GET['nav_to'];
$nav_to = (string)$nav;

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$mypass = md5($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypass'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);

// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){

    // Register $myusername, $mypass and redirect to file "login_success.php"
    $sql="SELECT credits FROM $tbl_name WHERE username='$myusername' and password='$mypass'";
    $creds=mysql_query($sql);
    $row = mysql_fetch_row($creds);
    session_register("myusername");
    session_register("mypass");
    if(!empty($nav_to)){
        header("location:$nav_to");
    }
    if(empty($nav_to)){ 
        header("location:login_success.php?name=$myusername");
        setcookie("valid", "true", time()+3600);
        setcookie("creds", "$row[0]", time()+3600);
    }

}else {
    echo "Wrong Username or Password";
    echo "<p><a href='main_login.php'>Back</a></p>";
}
?>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="style.css">
    </head>
    <body>
    </body>
</html>

ログインに使用するページ:

<html>
    <head>
        <title>Please login</title>
        <link rel="stylesheet" type="text/css" href="style.css">
    </head>
    <body>
        <table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
            <tr>
                <form name="form1" method="post" action="checklogin.php" style="color:#B3B3B3;">
                    <td>
                        <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
                            <tr>
                            <td colspan="3"><strong>Member Login </strong></td>
                            </tr>
                            <tr>
                                <td width="78">Username</td>
                                <td width="6">:</td>
                                <td width="294"><input name="myusername" type="text" class="field" id="myusername"></td>
                            </tr>
                            <tr>
                                <td>Password</td>
                                <td>:</td>
                                <td><input name="mypassword" type="password" class="field" id="mypassword"></td>
                            </tr>
                            <tr>
                                <td><a href="insert.php">Register</a></td>
                                <td><input type="submit" name="Submit" class="but" value="Login"></td>
                                <td><a href="contact.php">Forgot pass?</a></td>
                            </tr>
                        </table>
                    </td>
                </form>
            </tr>
            </table>
    </body>
</html>

shop.php に移動しようとしています

私は何を間違っていますか?このアドレスはhttp://mackscript.netii.netです。 よろしくお願いします // Mackan90096

4

1 に答える 1

3

出力に何かをプッシュした場合、セッションを開始できません。

次の行を削除します。

ob_end_flush(); 
于 2013-10-07T09:40:52.870 に答える