お世話になります。
header location がなぜが飛びません。
お分かりになる方ご教授お願いいたします。
・<?php の前にはスペースなどを入れておりません。
・エラー表示にはなりませんが、飛びません。
<?php
session_save_path("sess");
session_name("deri_user");
session_start();
require("class/User.class.php");
$end=null;
if($_POST[submit]=="送信"){
if(session_is_registered("sesdata1")){unset($_SESSION[sesdata1]);session_register("sesdata1");}
if(session_is_registered("sesdata2")){unset($_SESSION[sesdata2]);session_register("sesdata2");}
$_SESSION[sesdata1]=htmlspecialchars($_POST[user_name]);
$_SESSION[sesdata2]=htmlspecialchars($_POST[user_pass]);
$user=new User();
$usn=$user->owner_name();
$usp=$user->owner_pass();
if(trim($usn)==trim($_SESSION[sesdata1]) and trim($usp)==trim($_SESSION[sesdata2])){
header('location:./kanri_gamen.php');
exit();
}else{
$end= "<br>ユーザー名又はパスワードが正しくありません。";
}
$user->__destruct();
}
?>
<html lang="ja">
<head>
<title></title>
</head>
<body>
<center>
<h3>管理者ログイン画面</h3>
<form action="user_login.php" method="post">
<table style="border:3px ridge #333333">
<tr>
<td>名前
</td>
<td>
<input type="text" name="user_name" size="20">
</td>
</tr>
<tr>
<td>パスワード
</td>
<td>
<input type="text" name="user_pass" size="20">
</td>
</tr>
<tr>
<td colspan="2" style="text-align:center">
<input type="submit" name="submit" value="送信">
</table>
</form>
<?=$end?>
</center>
</body>
</html>
No.3ベストアンサー
- 回答日時:
ちなみに、最初に
error_reporting(-1);
ini_set('display_errors', 'On');
を実行しておくと全てのエラーが表示されるようになります。ご提示のソースコードにはエラーを引き起こす要因が3種類含まれています。2つに関しては以下を読まれれば分かると思います。
PHP Manual - 配列ですべきこととしてはならないこと
http://php.net/manual/ja/language.types.array.ph …
Qiita - $_GET, $_POSTなどを受け取る際の処理
http://qiita.com/mpyw/items/2f9955db1c02eeef43ea
もう1つ問題なのは、session_is_registered関数を使用していることです。
PHP Manual - session_is_registered
http://php.net/manual/ja/function.session-is-reg …
この関数はPHP5.3の時点で非推奨です。PHP5.4以降では使用することすら出来ません。isset構文を使って調べましょう。なお、PHP5.3系のサポートももう切れていおり、認められる最も古いバージョンはPHP5.4系です。古いバージョンでは言語自体に脆弱性が発見されても修正が行われない等の問題点があります。「サポートの切れたWindowsXPを使っている」ぐらいの危機感を持ってください。
ありがとうございます。
大変ためになるご指導に心から感謝いたします。
早速に調べて対応していこうと思っております。
ありがとうございました。
No.2
- 回答日時:
ソースはUTF-8ですよね?「BOM無し」と「BOM有り」の両方を扱えるテキストエディタでソースコードを閲覧して、どっちが適用されているかを確認してください。
もしくはバイナリエディタでファイイルを開き、先頭3バイトにBOMが混入していないかどうかを確かめてください。Windowsのメモ帳では「BOM有り」しか扱えませんが、PHPのソースコードは全て「BOM無し」であることが前提条件とされます。header関数を使う場合、まだ1バイトも出力していない状態でなければなりません。BOMが含まれている場合それだけで3バイト出力していることになるので実行に失敗します。
ありがとうございます。
BOM無しでUTF-8で作成しております。
session_is_registered関数が、PHP5.4では削除されていることにたどり着き、その部分を書き換えましたら、lolipopサーバーでは問題なく動作しました。サクラサーバーでは、依然headerが飛ばない状況ですが、lolipopで使用しようと思います。
ご迷惑をおかけいたしました。
ご指導に感謝いたします。
No.1
- 回答日時:
>header('location:./kanri_gamen.php');
./ という相対指定はどうなんでしょうね。
header('location: kanri_gamen.php');
ではどうなりますか?あるいはホスト名込みのURLで指定したらどうなりますか?
header('location: http://example.om/kanri_gamen.php');
>exit();
exit(); の代わりに、die('location header sent'); としたら、そのメッセージは表示されますか?
ありがとうございます。
全て試したのですが、やはり、飛びません><。
die()で試しますと、location header sent は表示されます。
何故なのか・・・>< 苦戦しそうです><
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php ログイン 1 2022/11/01 00:24
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アマゾンのような評価の星を選...
-
ボタンをクリックでPHP文を実行
-
GETとPOST以外のデータの渡し方...
-
送信すると403エラーが出る
-
PHPの送信フォームについての質...
-
VBSのIEオブジェクトでフ...
-
テキストリンクをPOST送信したい
-
PHPでURLにジャンプするには?
-
PHPのエラーの解消法について教...
-
フォームで作った送信ボタンが...
-
プログラミング言語で、使える...
-
[Ethna]selectボックスに空値を...
-
phpで掲示板を作りたい
-
PHPで画像の渡しが上手く行きま...
-
laravelを利用してコントロール...
-
$_REQUESTの意味を教えて下さい
-
DB接続やInsertでのエラーを画...
-
プルダウンとCSVの連動
-
UPDATEできない
-
PHP FTPサーバへの画像アップロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPでURLにジャンプするには?
-
フォーム送信後の更新ボタンで...
-
アマゾンのような評価の星を選...
-
PHPのエラーの解消法について教...
-
phpで、フォームのラジオボタン...
-
テキストリンクをPOST送信したい
-
ボタンをクリックでPHP文を実行
-
セッションを使わずに遷移先画...
-
PHPでファイルアップロード時に...
-
$_POST['hoge']のデータをフラ...
-
PHPの質問:フォームから受け取...
-
送信ボタンでカウントアップ
-
JavaScript変数をPHPへ渡す
-
リンク先のフォームに自動的に...
-
ローカルにあるhtmlのフォーム...
-
formの外にあるチェックボック...
-
フォームで作った送信ボタンが...
-
PHP 入力フォームにて半角スペ...
-
なぜ、unexpected T_VARIABLEに...
-
VBSのIEオブジェクトでフ...
おすすめ情報