• 締切済み

メールフォームで初歩的な質問です。

こんにちは、僕は今jphpmailerを使ってメールフォームを作成しているのですが 間違ってたら警告を出して 間違ってなければ確認画面に飛ばすように書きたいのですが 飛んだ後に、入力情報が消えてしまうのです。 これを入力情報が消えずに移動させる方法はありますか? ありましたら教えてください(m。_。)m ちなみにこれがその部分のソースです。 if(isset($_POST['oshibotan'])){ if(isset(($_POST['namae']==""){ echo "エラーだよ"; } }else{ $url = "kakunin.php"; header("Location:$url"); } } --テキストボックス&ボタンの部分 <form method="POST" action="form.php"> 名前<input type=text size=20 name=namae value=""> <input type=submit name=oshibotan value="内容確認"> </form> なんとなく、こんなんではムリに決まってるってのはわかるんですが・・・。 どなたか解決策を教えてください。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

headerで飛ばしているんなら、POSTの値はわたりませんので セッションに保存するなど対応が必要です。 >if(isset(($_POST['namae']==""){ 書き方がむちゃくちゃですがこれは何をしたいのでしょうか? 最低限文法エラーのないようなソースを書いてもらわないと どこが違うというのを絞り込みはむずかしいですよ。

pon_ponpoo
質問者

お礼

session_start(); と書いて $_POSTの部分を$_SESSIONに変えればよいのでしょうか・・・ とりあえずやってみます。

pon_ponpoo
質問者

補足

ありがとうございます。 色んなサンプルを見ながら、見よう見まねで 本質的な事は良くわからずに書いているもので 無茶苦茶ですみません。 namaeというテキストフィールドが空欄なら「エラーだよ」と 出したかったのですが、全然出来てないようですね。 お恥ずかしい限りです。 こうでしょうか? if ($_SERVER["REQUEST_METHOD"]=="POST"){   if(isset($_POST['namae'])==""){    echo "エラーだよ";    }else{    $url = "kakunin.php";    header("Location:$url"); } 道のりは流そうです・・・。すいません。