2012-01-16 21 views
2

私は別のphp関数を呼び出すことによってユーザーを登録する.phpを持っていますが、登録が成功した場合にユーザーをリダイレクトする最良の方法を知りません。私はリダイレクトする前に何かをエコーし​​たいのですが、ヘッダー以外のオプションがありますか?別のセッションを使用すると、あなたが表示し、あなたの後にそのメッセージを表示するいくつかのメッセージを設定することですログイン成功時のPHPリダイレクト

<?php header('Location: success.php'); exit; ?> 

:あなたは、ヘッダーのリダイレクトを使用して言ったように

<? 
// processRegister.php 
////////////////////// 

// First include the class definition 
include('UserClass.php'); 

// Next, create an instance of the class 
$newUser = new User; 

// Call the registerUser() method, passing in the required variables 
$newUser->registerUser($userName, $userPassword); 

// If it was an error, the class will kill the script, if not, it will reach this point 
$newUser->displayUserInfo(); 
?> 

答えて

1

あなたは、4つのメソッドを使用することができますリダイレクトされました。

あなたはまた、JavaScriptを使用することができます
if($login){ 
    $_SESSION['login_message'] = "Your account has been logged in ".$newUser->username; 
} 

//after redirect 
if(isset($_SESSION['login_message']){ 
    echo $_SESSION['login_message']; 
} 

:PHPで

<script type="text/javascript"> 
<!-- 
window.location = "http://www.google.com/" 
//--> 
</script> 

<?php echo '<script>window.location = "http://www.google.com/"</script>'; ?> 

最後の方法は、HTMLのリダイレクトを使用することです:

<html> 
<head> 
<meta http-equiv="Refresh" content="5;url=http://www.w3schools.com" /> 
</head> 

<body> 
<p>Your message here, probably in php</p> 
</body> 
</html> 
+0

ので、私はエコーありませんメタから? – user1082764

+0

はい - それをエコーし​​た場合、それをリダイレクトすることができます。私はJavascriptを使用して別の方法を逃した。それを加えてください。 –

+1

IMHO最初のものは**常に**使用する必要があります。ユーザーがページがロードされるまで待つ必要があり、JSが実行を終了するまで待つ必要があります:) – veritas

関連する問題