• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:postによる、phpとの受け渡し???)

postによる、phpとの受け渡し

agehageの回答

  • agehage
  • ベストアンサー率22% (2587/11500)
回答No.1

<?php if( $mode == 'input' ){ ?> ↑ これ何?$modeはどこからやってきたの? 私なら以下のように直します 入力画面で$modeを送る <input type="hidden" name="mode" value="input"> 確認画面で$modeを受け取る <?php $mode=$_POST['name']; //これは例、実機でこんな書き方したら危険 if( $mode == 'input' ){ ?>

kouzou250
質問者

お礼

ご回答誠にありがとうございます。 $_mode='input'が、別の所にありました。 今後とも宜しくお願い致します。

関連するQ&A

  • htmlとphpのデータ受け渡し???

    いつもお世話になり誠にありがとうございます。 標記の件。 まだ、ボク自身、解っていないようです。 htmlとphpのソースコードを提示します。 どうすればデータの受け渡しができるか? 添削してくださらないでしょうか? html <!--入力画面--> <form action = "./Blog.php" method = "get"> <label class="label" for="name">お名前(ニックネーム)</label> <center><input id="name" type="text" name="name"></center> <label class="label" for="e-mail">メール</label> <input id="e-mail" type="e-mail" name="e-mail"> <label class="label" for="category">カテゴリー</label> <input id="category" type="category" name="categoryl"> <label class="label" for="message">本文</label> <textarea name="area1" style="color:rgb(8, 8, 8); font-size:100%;" cols="50" rows="30"></textarea><br> <input type="submit" name="confiem" value="確認"> </form> CSS <meta charset="utf-8"> <?php session_start(); $mode = 'input'; if( isset($_POST['back']) && $_POST['back'] ){ //何もしない } else if( isset($_POST['confirm']) && $_POST['confirm'] ){ $_SESSION['name'] = $_POST['name']; $_SESSION['e-mail'] = $_POST['e-mail']; $_SESSION['category']= $_POST['category']; $_SESSION['message'] = $_POST['message']; $mode = 'confirm'; } else if( isset($_POST['send']) && $_POST['send'] ){ $mode = 'send'; } else { $_SESSION['name'] =""; $_SESSION['e-mail'] =""; $_SESSION['category']=""; $_SESSION['message'] =""; } ?> <!--確認画面--> <?php if( $mode == 'input' ){ ?> お名前(ニックネーム)<?php echo $_POST['name'] ?><br> Eメール<?php echo $_POST['e-mail'] ?><br> カテゴリー<?php echo $_POST['category'] ?><br> 本文<br> <?php echo nl2br($_POST['message']) ?><br> <input type="submit" name="back" value="戻る" /> <input type="submit" name="send" value="送信" /> <?php } else { ?> <!--完了画面--> <?php } ?> 上記の通りです。 全然ダメだと思います。 添削のほど、宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • form変数の初期化

    <br /><b>Notice</b>: Undefined index: your_name in <b>C:\xampp\htdocs\test\index.php</b> on line <b >83</b><br /> 入力画面で上記のエラーが解決しません。 どうすればいいでしょうか? 入力画面 <?php $_POST = array(); ?> <form method="post" action="./form_check.php"> <div class="element_wrap"> <label>氏名</label> <input type="text" name="your_name" value="<?php echo $_POST["your_name"]?>"> </div> <div class="element_wrap"> <label>メールアドレス</label> <input type="text" name="email" value=""> </div> <input type="submit" name="btn_confirm" value="入力内容を確認する"> </form> 確認画面 <?php $your_name = $_POST["your_name"]; ?> <form method="post" action="./test.php"> <div class="element_wrap"> <label>氏名</label> <p><?php echo $your_name; ?></p> </div> <div class="element_wrap"> <label>メールアドレス</label> <p><?php echo $_POST['email']; ?></p> </div> <input type="submit" name="btn_submit" value="送信"> </form> <form method="post" action="./index.php"> <!--<input type="button" name="btn_back" onclick="history.back()" value="戻る">--> <input type="submit" name="btn_back" value="戻る"> <input type="hidden" name="your_name" value="<?php echo $_POST['your_name']; ?>"> <input type="hidden" name="email" value="<?php echo $_POST['email']; ?>"> </form>

    • 締切済み
    • PHP
  • php $_SESSIONで値が消える。

    いつもお世話になり誠にありがとうございます。 標記の件。 インプット画面ー>確認画面ー>戻るー>インプット画面 インプット画面に戻った時、どうしても最初のインプット画面で打った内容が消えてしまいます。 プログラムを診て、誤りを指摘して頂けないでしょうか? どうぞよろしくお願い致します。           記 <?php session_start(); $mode = 'input'; if( isset($_POST['back']) && $_POST['back'] ){ //何もしない } else if( isset($_POST['confirm']) && $_POST['confirm'] ){ $_SESSION['name'] = $_POST['name']; $_SESSION['email'] = $_POST['email']; $_SESSION['category']= $_POST['category']; $_SESSION['message'] = $_POST['message']; $mode = 'confirm'; } else if( isset($_POST['send']) && $_POST['send'] ){ $mode = 'send'; } else { $_SESSION['name'] =""; $_SESSION['email'] =""; $_SESSION['category']=""; $_SESSION['message'] =""; } ?> <!DOCTYPE html> <html lang="ja"> <head> </head> <body> <div class="v_line_fix"> <h1>Blog K・T</h1> <h2><a href="index.html">トップページ</a></h2> <?php if( $mode=='input'){ ?> <form method=post> お名前(ニックネーム)<br> <input type="text" name="name" value="<?php echo $_SESSION['name'] ?>"><br> Eメール<br> <input type="email" name="email" value="<?php echo $_SESSION['email'] ?>"><br> カテゴリー<br> <input type="text" name="category" value="<?php echo $_SESSION['category'] ?>"><br> 本文<br> <textarea style="font-size:1.5em;" cols="30" rows="80" name="message"><?php echo $_SESSION['message'] ?></textarea><br> <input type="submit" name="confirm" value="確認" /> </form> <?php }else if( $mode=='confirm'){ ?> <!--確認画面--> <form method="post"> <?php echo $_SESSION['name']?><br> <?php echo $_SESSION['email']?><br> <?php echo $_SESSION['category']?><br> <br> <?php echo nl2br($_SESSION['message'])?><br> <input type="submit" name="back" value="戻る"/> <input type="submit" name="send" value="送信"/> } </form> <?php } else { ?> <!--完了画面--> <?php } ?> </body> </html>

    • ベストアンサー
    • PHP
  • postのタイムラグ

    以下のソースでPOSTの値が取れないときがあるので困っています。 具体的にはページを表示してから30秒程度待ってからの クリックじゃないとPOSTの値が取れません。 GETの場合はページ表示後すぐにボタンをクリックしても大丈夫でした。 原因が分からず途方に暮れています。 お知恵をお貸しください。 PHP Version 5.2.3 <?php $P_data = $_POST["pg"]; print("POST=>".$P_data."<BR>"); $G_data = $_GET["pg"]; print("GET=>".$G_data."<BR>"); print <<< DOC_END <html> <head> </head> <body> DOC_END; echo"<form action=test.php method=post>"; echo"<input type=hidden name=pg value=1>"; echo"<input type=submit value=あ>"; echo"</form>"; echo"<form action=test.php method=post>"; echo"<input type=hidden name=pg value=2>"; echo"<input type=submit value=い>"; echo"</form>"; echo"<form action=test.php>"; echo"<input type=hidden name=pg value=3>"; echo"<input type=submit value=う>"; echo"</form>"; echo"<form action=test.php>"; echo"<input type=hidden name=pg value=4>"; echo"<input type=submit value=え>"; echo"</form>"; print <<< END </body> </html> END; ?>

    • 締切済み
    • PHP
  • PHP cookie受け渡しについて

    php 5.16 apache 2.0 フォーム -------------------------------------------------------------- <form method="POST" action="./php_cookie_tm.php"> E-Mail<br> <input type="text" name="mail" value="<?php print($_COOKIE['form_email']); ?>"><br> <input type="submit" value=" 保存 "> </form> -------------------------------------------------------------- 出力 -------------------------------------------------------------- <?php setcookie("form_email",$_POST['form_email'],time()+(60*60*24*90)); ?> クッキー保存 -------------------------------------------------------------- とすると Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\○○.php:4) in ・・・・・・・ というエラーがでます。 既に発信している?みたいなエラーなのですが・・・・ なぜでるのでしょうか? php.iniの設定?等いろいろみてはいるのですが、原因不明にて すごい困っております。 初心者質問ですいません。

    • ベストアンサー
    • PHP
  • POSTでwarning!

    いつも大変お世話になり誠にありがとうございます。 また、同じような質問で申し訳ありません。 標記の件。 ブログフォームのソースは下記です。 表示のソースも下記です。 どうすれば表示されるでしょうか? ご回答のほど宜しくお願い申し上げます。        記 <h2>ブログフォーム</h2> <form action="blog_create.php" method=_POST> <label>ペンネーム:</label> <input type="text" name="name" value=""><br> <label>タイトル:</label> <input type="text" name="title" value=""><br> <label>カテゴリー:</label> <input type="text" name="category" value=""><br> <label>ブログ本文:</label><br> <textarea name="content" id="content" cols="50" rows="80"></textarea><br> <input type="submit" value="確認画面へ"> <?php $name = $_POST["name"]; $title = $_POST["title"]; $category = $_POST["category"]; $content = nl2br($_POST["content"]); echo "ペンネーム{$name}"; echo "タイトル{$title}"; echo "カテゴリー {$category}"; echo "本文 {$content}"; ?> <hr> <br> <input type="submit" action="/kanryou.php" value="送信する"> Warning: Undefined array key "name" in C:\xampp\htdocs\blog_create.php on line 13 Warning: Undefined array key "title" in C:\xampp\htdocs\blog_create.php on line 14 Warning: Undefined array key "category" in C:\xampp\htdocs\blog_create.php on line 15 Warning: Undefined array key "content" in C:\xampp\htdocs\blog_create.php on line 16 ペンネームタイトルカテゴリー 本文

    • ベストアンサー
    • PHP
  • テキストリンクでデータの受け渡し。

    PHPの勉強中で、参考書を見ながらショッピングサイトを作成しています。 カテゴリ別に表示したいと思い、データベースに商品の登録をし、 WEBページでカテゴリでの絞込みをしたいのですがうまくいきません。 以下のような、ラジオボタ形式では上手く動きました。 <form method="post" action="hoge.php" enctype="multipart/form-data"> 商品カテゴリーを選択してください。<br> <label><input type="radio" name="category" value="0">0</label> <label><input type="radio" name="category" value="1">1</label> <label><input type="radio" name="category" value="2">2</label> <input type="submit" value="確認"> </form> ラジオボタンでも、確認ボタンを押さなくても、 テキストをクリックすれば受け渡し先のページに飛ぶ形式ならいいのですが。。。 以下のテキストリンクの場合だと、一番下の値しか飛んでくれず、困っています。 <form name="category" action="hoge.php" method="post"> <input type="hidden" name="category" value="1"> <input type="hidden" name="category" value="2"> <a href="javascript:void(0)" onclick="document.category.value='1'; document.category.submit(); return false;">1</a> <a href="javascript:void(0)" onclick="document.category.value='2'; document.category.submit(); return false;">2</a> </form> どなたか詳しい方、ご回答をお願いします。

    • ベストアンサー
    • PHP
  • PHPでのCookie

    PHPでクッキーを使い、下記のような入力フォームを作りました。 form.phpで入力→form2.phpで正常出力出来るのですが、 form2.phpで一度更新しないと、結果が画面に表示されません。 これをform2.phpを開いた時点で表示されるようにするには、どのように書けばいいのでしょう。 後1つあります。form.phpで 「テスト&1」と書くと「テスト」としか表示されなく、&とそれ以降が記憶されません。 これはなぜでしょうか? お願いします。 【form.php】 <?PHP parse_str($_COOKIE["city"]); parse_str($_COOKIE["city_name"]); ?> <html> <form method="post" action="form2.php"> <?PHP echo "名前1<input type=text name=name1 maxlength=16 size=12 value=$set_name1> <BR>ID<input type=text name=p1 maxlength=8 size=6 value=$set1><BR><BR>"; echo "名前2<input type=text name=name2 maxlength=16 size=12 value=$set_name2> <BR>ID<input type=text name=p2 maxlength=8 size=6 value=$set2>"; ?> <input type="submit" value="実行"> </form> </html> 【form2.php】 <?php if ($_POST) { $city1 = $_POST["p1"]; $city2 = $_POST["p2"]; $city_name1 = $_POST["name1"]; $city_name2 = $_POST["name2"]; setcookie ("city", "set1=$city1&set2=$city2",time()+3600*24*90); setcookie ("city_name", "set_name1=$city_name1&set_name2=$city_name2",time()+3600*24*90); } parse_str($_COOKIE["city"]); parse_str($_COOKIE["city_name"]); echo $set_name1; echo $set1; echo $set_name2; echo $set2; ?>

    • ベストアンサー
    • PHP
  • php $_SESSIONでデータが残らない。

    いつもお世話になり誠にありがとうございます。 標記の件。 インプット画面ー>確認画面ー>戻るー>インプット画面 インプット画面に戻った時、どうしても最初のインプット画面で打った内容が消えてしまいます。 プログラムを診て、誤りを指摘して頂けないでしょうか? 今度はCSSなども書きます。 どうぞよろしくお願い致します。 記 <?php session_start(); $mode = 'input'; if( isset($_POST['back']) && $_POST['back'] ){ //何もしない } else if( isset($_POST['confirm']) && $_POST['confirm'] ){ $_SESSION['name'] = $_POST['name']; $_SESSION['email'] = $_POST['email']; $_SESSION['category']= $_POST['category']; $_SESSION['message'] = $_POST['message']; $mode = 'confirm'; } else if( isset($_POST['send']) && $_POST['send'] ){ $mode = 'send'; } else { $_SESSION['name'] =""; $_SESSION['email'] =""; $_SESSION['category']=""; $_SESSION['message'] =""; } ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <meta http-equiv="content-type" content="text/html" charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>ブログ</title> <meta name="description" content="このWebサイトは、初めてHTMLで作るブログページです。"> <link rel="stylesheet" href="./css/style.css"> <style> body{ width: 100%; max-width: 800px; margin-top: auto; margin-left: auto; margin-right: auto; background-color: rgb(71, 133, 157); padding: 10px; text-align: center; } div{ background-color: rgb(247, 248, 245); padding: 2em; } script{ margin-top: 12em; } p { margin-left: 2em; text-align: left; font-size: 25px; font-weight: bold; color: rgb(10, 10, 10); } form { font-size: 25px; font-weight: bold; color: blue; } input { font-size: 25px; margin:auto; } </style> </head> <body> <div class="v_line_fix"> <h1>Blog K・T</h1> <h2><a href="index.html">トップページ</a></h2> <?php if( $mode=='input'){ ?> <form method=post> お名前(ニックネーム)<br> <input type="text" name="name" value="<?php echo $_SESSION['name'] ?>"><br> Eメール<br> <input type="email" name="email" value="<?php echo $_SESSION['email'] ?>"><br> カテゴリー<br> <input type="text" name="category" value="<?php echo $_SESSION['category'] ?>"><br> 本文<br> <textarea style="font-size:1.5em;" cols="30" rows="80" name="message"><?php echo $_SESSION['message'] ?></textarea><br> <input type="submit" name="confirm" value="確認" /> </form> <?php }else if( $mode=='confirm'){ ?> <!--確認画面--> <form method="post"> <?php echo $_SESSION['name']?><br> <?php echo $_SESSION['email']?><br> <?php echo $_SESSION['category']?><br> <br> <?php echo nl2br($_SESSION['message'])?><br> <input type="submit" name="back" value="戻る"/> <input type="submit" name="send" value="送信"/> } </form> <?php } else { ?> <!--完了画面--> <?php } ?> </body> </html>

    • ベストアンサー
    • PHP
  • メールフォームのPHPについて質問です。

    以下のようなメールフォームを作ったのですが何故か値の受け渡しが上手くいきません。 以前どこかのサイトを参考にして作ったもので別で自分の作ったサイトでは問題なく受け渡しができたのですが、なぜか今回はできません。 自分が作って成功したサイトをそのままサーバーにアップロードしても出来ないのがよくわからないのです。 どうすれば受け渡しがうまくいくのでしょうか? どなたか知恵を分けていただきたいです。何卒よろしくお願いいたします。 ▼ここからinquiry.html▼ <div id="main_inquiry"> <div id="box_inquiry"> <h1>お問い合わせ</h1> <div id="form"> <form method="POST" action="inquiry_check.php"> <p class="form">お名前</p> <p class="text"><input type="text" name="name" size="50"><br></p> <p class="form">電話番号</p> <p class="text"><input type="text" name="tel" size="50"><br></p> <p class="form">Eメール</p> <p class="text"><input type="text" name="email" size="50"></p><br> <p class="form">備考</p> <p class="text"><textarea name="bikou" cols="50" rows="10"></textarea></p> </div> <!---------form-END------------------------------> <div id="submit"> <input type="submit" value="確認" class="submit"> <input type="reset" value="リセット" class="reset"> </div> <form method="POST" action="inquiry_check.php"> </div> ▲inquiry.html終了▲ ▼ここからinquiry_check.php▼ <div id="box_check"> <h1 class="headding11">問い合わせチェック</h1> <?php $name=htmlspecialchars($_POST["name"]);// if ($name == ""){ $show_name = "<font color='#000'><strong>名前が入力されていません</font></strong>"; $err_flg = 1; } else { $show_name = $name; } $tel=htmlspecialchars($_POST["tel"]);// if ($tel == ""){ $show_tel = "<font color='#000'><strong>電話番号が入力されていません</font></strong>"; $err_flg = 1; } else { $show_tel = $tel; } $email=htmlspecialchars($_POST["email"]);// if ($email == ""){ $show_email = "<font color='#000'><strong>e-mailが入力されていません</font></strong>"; $err_flg = 1; } else { $show_email = $email; } $bikou=htmlspecialchars($_POST["bikou"]);// if ($bikou == ""){ $show_bikou = "<font color='#000'><strong>備考が入力されていません</font></strong>"; $err_flg = 1; } else { $show_bikou = $bikou; } if ($err_flg == 1){ $show_form = ""; } else { $show_form = " <input name='name' type='hidden' value='". $name ."'> <input name='tel' type='hidden' value='". $tel ."'> <input name='email' type='hidden' value='". $email ."'> <input name='bikou' type='hidden' value='". $bikou ."'> <input name='submit' type='submit' value='送信' class='soushin'> "; } ?> <form name="mailform" method="post" action="inquiry_finish.php"> <P align="center"><b class="kakunin">お客様情報確認</b></P> <table class="check" width="685px" border="0" cellspacing="1" cellpadding="5"> <tr> <td bgcolor="#EBEBEB" width="200"> 氏名</td> <td width="540"><? echo $show_name ?></td> </tr> <tr> <td bgcolor="#EBEBEB"> 電話番号<font color="#FFFFFF">  </font></td> <td><? echo $show_tel ?></td> </tr> <tr> <td bgcolor="#EBEBEB"> 電子メール</td> <td ><? echo $show_email ?></td> </tr>  <tr> <td bgcolor="#EBEBEB"> お問い合わせ内容</td> <td ><? echo $show_bikou ?></td> </tr> </table> <div align=""> <? echo $show_form ?> <input name="submit" type="button" value="戻る" class="mouse" onClick="history.back()"> </div> </div> <div id="side_menu_check"> </div> </div> <div id="footer"> </div> ▲inquiry_check.php終了▲

    • ベストアンサー
    • PHP