実際の出力を送信する前に、header()を呼び出す必要があります。しかし、header()を使用してxammpサーバーにセッションを含めようとしています。コードは次のとおりです。
$member_id=$_REQUEST['member_id'];
$member_id = stripslashes($member_id);
$sql="SELECT * FROM member WHERE member_id='$member_id'";
$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){
$_SESSION['member_id']=$member_id;
header("location:index.php?page=member_account&&member=success");
}
上記のコードは私のローカルホストでうまく機能しています。しかし、このスクリプトをオンラインサーバーにアップロードすると、サーバーは次のような警告を表示します。警告:ヘッダー情報を変更できません-/ homeの(/home/emonuniq/public_html/index.php:16で開始された出力)によって既に送信されたヘッダー15行目の/emonuniq/public_html/inc/member/check.php次に、このLINKをjavascriptにリダイレクトする別の方法を試します。
//script tag is not showing
echo("location.href = 'index.php?page=member_account&&member=success';
");
このコードはsuccess.phpに正常にリダイレクトされます。しかし、このページではセッションは機能しません。どのようにできるのか?