• 締切済み

PHPの入力フォームの確認画面の構文エラー

<?php session_start(); require_once "define.php"; echo "<b>質問内容</b><br>"; echo "タイトル : ".htmlspecialchars($_SESSION[TITLE], ENT_QUOTES)."<br>"; echo "URL : ".htmlspecialchars($_SESSION[URL], ENT_QUOTES)."<br>"; echo "メール : ".htmlspecialchars($_SESSION[MAIL], ENT_QUOTES)."<br>"; echo "<br>質問ありがとうございました。<br><br>"; echo "<a href=\"./index.php\">入力フォームに戻る</a>"; ?> こういう感じのPHPの構文を書いたんですがなぜか echoで表示してあるタイトル、URL、メールのところが ちゃんと表示されません define.phpは間違いなくちゃんとファイルとして書いてあります どこか間違っているところがあるのでしょうか? 原因がわかりません、一日中悩んだけど 答えがわかりません、どなたかよろしくお願いします。

みんなの回答

  • tamakiii
  • ベストアンサー率80% (4/5)
回答No.3

まず構文エラーであれば、メッセージで指定されている箇所を見てみれば分かると思います。 次に、単に出力されないだけでしたら、出力したい物を一度ダンプしてみると良いと思います。 require_once "define.php"; print_r($_SESSION); そもそもセッションが使えているのかをチェックしても良いかもしれません。 session_start(); echo session_id(); echo "<br />"; $_SESSION['hello'] = 'world'; print_r($_SESSION); また、連想配列の添字は文字列が正しい形です。 × htmlspecialchars($_SESSION[TITLE], ENT_QUOTES); ○ htmlspecialchars($_SESSION['title'], ENT_QUOTES); この箇所はエラーにはならなかった筈ですが、正しい方で書いた方が良いですよね。

tadokoro12
質問者

お礼

回答ありがとうございます セッションに値が格納されてなかったようです 自己解決しました、ありがとうございました。

  • aoi2008
  • ベストアンサー率42% (6/14)
回答No.2

こんにちは 構文エラーなのか、たんにタイトル~メールの箇所が真っ白なのかどっちでしょう? エラーであれば、エラーメッセージも載せてもらえると助かります。 見たところおかしな点はないように見えますが・・・ 気になる点としては、$_SESSIONのキーに指定している TITLE/URL/MAILという定数がきちんと定義されているのか。 また、$_SESSIONにきちんと値が格納されているのか。 くらいですかねぇ・・

tadokoro12
質問者

お礼

回答ありがとうございます コードを一新してまた書き直したところ ちゃんと動作しました、ありがとうございました。

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

丸括弧でくくるか変数に一旦入れてからやると どう?

tadokoro12
質問者

お礼

回答ありがとつございます ちょっとやってみましたがいかなかったようです コードを最初から書き直したらちゃんと動きました ありがとうございます。

関連するQ&A

専門家に質問してみよう