-3

これは現在使用されているコードです。ローカルホストではこれはうまく機能し、リダイレクトされますが、altervista.org などの無料の Web サイトにアップロードしようとすると、これ以上リダイレクトされません..なぜですか?

<?php
           $p = $_GET['azione'];
           // login.php?azione=login
           if($p == "login"){

            if(!isset($_POST['invia'])){ ?>
               <div class="loginform">
                <h3>Login!</h3>
                <form class="form-horizontal" method="post" action="#" id="formlogin">
                   <div class="control-group">
                    <label class="control-label" for="username"></label>
                    <div class="controls">
                       <input type="text" placeholder="Username" name="username" id="username" /><br>
                    </div>
                   </div>
                   <div class="control-group">
                    <div class="controls">
                       <input type="password" placeholder="Password" name="password" id="password" /><br>
                    </div>
                   </div>
                   <div class="control-group">
                    <div class="controls">
                       <button type="submit" class="btn btn-large" name="invia" id="login" value="Accedi">
                        Sign in!
                       </button>
                       <br><br>
                       <a href='register.php'>Sign Up Now!</a> <br><br>
                       <a href='forgotpass.php'>Forgot Your Password?</a>
                    </div>
                   </div>  
                </form>
               </div>   

        <?php   } else {
                $username = mysql_real_escape_string($_POST['username']);
                $password = mysql_real_escape_string($_POST['password']);

                if($username == "" || $password == ""){
                   echo "<div class='alert alert-error'>
                                            <strong>Sorry!</strong> Complete all fields!
                                         </div>";
                     header("Refresh: 2; URL= login.php?azione=login");

                } else {
                        $password_cript = md5($password);
                    $recuperadati = mysql_query("SELECT * FROM utenti WHERE username = '$username' AND password = '$password_cript'");
                    $verificadati = mysql_num_rows($recuperadati);

                    if($verificadati == 1){
                       $sessione = mysql_fetch_array($recuperadati);
                       $_SESSION['utente'] = $sessione['username'];
                       $_SESSION['id_user_logged'] = $sessione['id']; 
                        echo "<div class='alert alert-success'>
                                                          You are now logged in!
                                                      </div>";
                              header("Refresh: 2; URL= profile.php?username=".$_SESSION['utente']."");

                    } else {
                        echo "<div class='alert alert-error'>
                                                         <strong>Sorry!</strong> Username or Password not found!
                             <a href='login.php?azione=login'>Try again</a> or <a href='register.php'>Sign Up now</a>
                                                      </div>";
                    }

                }

            }
            // login.php?azione=logout
            } elseif ($p == "logout"){

               session_destroy();
               echo "<div class='alert alert-success'>
                                    Logout!
                                 </div>";
               header("Refresh: 2; URL= index.php");
            }
        ?>

login.php の完全なコードを追加したところです。これが最も役立つかもしれません。

4

1 に答える 1

0

ローカルサーバーで出力バッファリングを有効にしていない限り、ヘッダー関数を使用する前に出力をエコーすることはできません。本番サーバーでオフになっている可能性があります。

これを試して:

if($verificadati == 1){
                           $sessione = mysql_fetch_array($recuperadati);
                           $_SESSION['utente'] = $sessione['username'];
                           $_SESSION['id_user_logged'] = $sessione['id']; 
header("Refresh: 2; URL= profile.php?username=".$_SESSION['utente']."");
                            echo "<div class='alert alert-success'>
                                                              You are now logged in!
                                                          </div>";


                        } else {
                            echo "<div class='alert alert-error'>
                                                             <strong>Sorry!</strong> Username or Password not found!
                                 <a href='login.php?azione=login'>Try again</a> or <a href='register.php'>Sign Up now</a>
                                                          </div>";
                        }

ご覧のとおり、移動する必要があります

echo "<div class='alert alert-success'>You are now logged in!</div>"; 

ランディングページに移動します。

于 2013-03-06T22:21:20.660 に答える