• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:1つのファイルで$_POSTする場合)

ファイルを使用してデータを$_POSTする方法

このQ&Aのポイント
  • フォームアクションを使用してデータを渡す場合、ブラウザには実行前のデータが表示されます。再読み込みするとデータが更新されます。
  • formボタンを押すたびにデータベース上のcountフィールドが1ずつ減少します。
  • データが正しく反映されるようにするためには、表示されるページのデータを更新する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
noname#218663
noname#218663
回答No.2

>どのような記述をすれば正常に反映されますでしょうか? 上記のソースだとcountをUPDATEした値をDBに格納しただけで、その値をDBから 取り出して、つまりSELECTしていないのが原因ではないでしょうか? なので上のソースでmysql_query($SQL);を実行してSELECT文を発行してcountを取り出して 画面に表示すればOKかと思いますよ。

people900
質問者

お礼

皆さん、回答ありがとうございました。 参考になりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

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

>読込みすると9と表示されるのですが、データベース上では8 今提示されているソースにはヒントになるものがなさそうです

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 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
  • 改行データPOSTできない

    mysql+php+htmlで作ってるんですが、POST後のページで改行が反映されません。 -------------------------------- 111.php -------------------------------- - 省略 - <body> <form action="222.php" method="post"> <input type="hidden" name="data2" value=<?php echo "$data1";?>> <input type="submit" value="編集"> </body> - 省略 - -------------------------------- 222.php -------------------------------- --省略-- <?php $data2 = $_POST['data2']; ?> <form> <textarea cols="80" rows="20" name="test"><? echo "$data2"; ?></textarea> </form> --省略-- -------------------------------- これだと222.phpで1行だけしか表示されません。変数に入れれないのでしょうか? お手数ですが、ご教示お願いします。 ちなみに111.phpの方も textarea にすると正常に値が渡せます。 でも表示したくないのでイヤです。 (急いで入力したので、タイプミス&コピペミスっぽいのは無視してくださいm(_ _)m)

    • ベストアンサー
    • PHP
  • POSTできない

    いま、phpを勉強中です。 そこで簡単なコードを書いてテスト&トライしてますがいきなりつまずいてます… <HTML> <HEAD> <TITLE>post request</TITLE> </HEAD> <BODY> <FORM ACTION="sample.php" METHOD="POST"> 名前:<input type="text" name="myname" value=""> <input type="submit" name="cmd" value="送信"> </FORM> <?php print "入力された文字は?".$myname . "<BR>"; ?> </BODY> </HTML> これを実行し、フォームに文字を入れて送信しても画面にでてきません。"入力された文字は?"だけが表示されたままです。(送信を押すと砂時計がでるのでプログラム自体は走っていると思います) postを使う場合どこか設定をしないといけないのですか??よろしくお願いします。

    • ベストアンサー
    • PHP
  • 新着情報のような記事投稿をつくろうとしているのですが、POSTの受け渡し?やMySQLへのデータ登録がうまくいきません。

    やりたいこと 1、form.phpからview.phpへフォームでPOSTデータを送り、 2、view.phpでは、MySQLへの接続と、受け取ったPOSTデータを変数へ格納して、データベースへ登録する前に、プレビュー画面で確認する。 4、登録ボタンを押したら、「登録しました。」というメッセージを表示し、データベースへ登録する。 受け取ったPOSTデータをプレビュー画面にすることはできたのですが、その後の、「4」の部分が作れません。どうかアドバイスお願いいたします。 view.php ////////////////////////////////////////////////// $host = "localhost"; $conn = mysql_connect($host, "root", "root"); mysql_select_db("my_db", $conn); $date = $_POST['date']; $title = $_POST['title']; $text = $_POST['text']; $form = <<<EOM <form action="view.html" method="post"> <table> <tr> <td日付td><td>$date</td> </tr> <tr> <td>タイトル</td><td>$title</td> </tr> <tr> <td>本文</td><td>$text</td> </tr> <tr> <td><input type="submit" name="check" value="登録" /> <input type="button" name="back" value="戻る" /></td> </tr> </table></form> EOM; //ここにいろいろと書いて試してみました ----------------------------------------------- //試したこと1 $sql = "INSERT INTO topic_table(date, title, text,)VALUES('$date', '$title', '$text')"; mysql_query($sql, $conn) or die($form_a="登録できませんでした"); ($form_a="登録しました。"); ↑これだとview.phpを開いただけでデータベース登録されてしまいました。 ----------------------------------------------- 試したこと2 if($_POST['check'] == "登録"){ $sql = "INSERT INTO topic_table(date, title, text,)VALUES('$date', '$title', '$text')"; mysql_query($sql, $conn) or die($form_a="登録できませんでした"); ($form_a="登録しました。"); } ↑登録ボタンを押して、データベースに登録する、というのをif文で作ってみましたが失敗しました。(POSTデータではなくただの空白しかデータベースには登録されませんでした。)

    • ベストアンサー
    • PHP
  • 二つのPHPファイルを上手く一つにしたいのですが

    ラジオボタンABCDを選択して上のNEXTボタンを押したとき、回答をSESSIONの配列に蓄えつつ次の問題へ進みたいのですがなかなか上手くいきません。 助けて頂けると嬉しいです。 ちなみに上のtest.phpでは問題を進んだり戻ったりの表示ができ、下のsession.phpではSESSION配列にクリックした分の回答を格納することができます。 //test.php <?php session_start(); ?> <html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <body> <p>&nbsp;</p> <p> <?php $max=$_POST["next"]; if($max==null){ $max=1; }else{ $max++; } ?> </p> <p>&nbsp; </p> <form method="post" action="test.php"> <input TYPE="radio" NAME="name2" VALUE="1" CHECKED>ア <input TYPE="radio" NAME="name2" VALUE="2">イ <input TYPE="radio" NAME="name2" VALUE="3" CHECKED>ウ <input TYPE="radio" NAME="name2" VALUE="4">エ <input type="submit" name="max_1" value="Next"> <input type="button" value="最初から" onClick="location.href='test.php'"> <input type="button" value="Back" onClick="history.back()"> <input type="hidden" name="next" value="<?php print $max?>"> </form> <TEXTAREA readonly cols="100" rows="20" name="e"> <? mb_language("uni"); mb_internal_encoding("utf-8"); //内部文字コードを変更 mb_http_input("auto"); mb_http_output("utf-8"); $db=mysql_connect("localhost","接続ID","パスワード"); mysql_query("SET NAMES utf8",$db); //クエリの文字コードを設定 mysql_select_db("データベース名"); //データベースに接続 if (!$con = mysql_connect("localhost", "接続ID", "パスワード")) { echo "接続失敗" ;   exit ; } //データベースを選択 if (!mysql_select_db("データベース名", $con)) { echo "データベース選択失敗" ;   exit ; } $sikenbango=111; $mondaibango=$max; if (!$res = mysql_query("SELECT * FROM `MONDAI` WHERE SIKENBANGO='$sikenbango' AND MONDAIBANGO='$mondaibango'",$con)) { echo "SQL失敗<BR>" ;   exit ; } //検索した結果を全部表示 while ($row = mysql_fetch_array($res)) { echo $row["mondai"]; echo $row["kaito"]; echo "<BR>" ; } //結果セットの開放 mysql_free_result ($res) ; //データベースから切断 mysql_close($con) ; ?> </textarea> //session.php <?php session_start(); ?> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <?php if (!isset($_SESSION['answer'])) { $_SESSION['answer'] = array(); } if (isset($_POST['submit'])) {//クリックしたとき $qno = intval($_POST['qno']);//整数が入る if (($qno >= 1)and($qno <=80)) { $_SESSION['answer'][$qno] = $_POST['answer']; // セッションに追加 // データベースへも保存したければここに記述 } } else { $qno = 0; } if ($qno == 80) { print "<pre>"; print_r($_SESSION); print "</pre>"; } else { $qno++; print '<form action="session.php" method="post">' . PHP_EOL; print '<input type="hidden" name="qno" value="' . $qno . '" />' ; print '<input TYPE="radio" NAME="answer" VALUE="1" CHECKED>A'; print '<input TYPE="radio" NAME="answer" VALUE="2">B'; print '<input TYPE="radio" NAME="answer" VALUE="3" CHECKED>C'; print '<input TYPE="radio" NAME="answer" VALUE="4">D'; } print '<input type="submit" name="submit" value="NEXT">' . PHP_EOL; print '</form>' . PHP_EOL; print "<hr />"; print "<pre>"; print_r($_SESSION); print "</pre>"; ?>

    • 締切済み
    • PHP
  • POSTで送りたい

    PHP初心者です HTMLタグが混じっ文字をHTMLごとPOSTで次ページに送る方法を教えてください ここでは<p><a href="./">TOPに戻る</a></p>をポストしたいです <form action = "test_view.php" method = "post" > <input type="text" name="<p><a href="./">TOPに戻る</a></p>"> <input type="submit" name="" value="送信"> </form> よろしくお願いします

    • ベストアンサー
    • PHP
  • PHPでの検索機能がうまく動きません

    PHPでの検索機能が動かなくて困っています。 <form>で入力した値を、MySQLのWHEREで条件付けて取り出したいのですがうまくいきません....。 最終的に、 1、formに検索ワードを入力 2、DBから条件にあったレコードを持ってくる 3、持ってきた値を表示 という機能にしたいのですが....。 --- --- --- --- --- --- --- --- --- --- --- --- <?php //データベースに接続 mysql_connect('xxx', 'xxx', 'xxx') or die(mysql_error()); mysql_select_db('xxx'); mysql_query('SET NAMES UTF8'); //フォームで送られてきた条件を元にSELECT文を作成 if (!empty($_POST['nm'])) { $q = $_POST['nm']; $sql = 'select * from test_tb where name like "%$q%"'; $record = mysql_query($sql) or die(mysql_error()); } ?> <html> <body> <form action="" method="post">    名前:<input type="text" name="nm">    <input type="submit" name="exec" value="検索"> </form> <?php while($row = mysql_fetch_assoc($record)): ?> <?php echo $row['id']; ?> <?php echo $row['name']; ?> <?php endwhile ?> </body> </html> --- --- --- --- --- --- --- --- --- --- --- --- エラーは表示されないのですが、結果も表示されません。 さまざまなサイトや他の方の質問、MySQLやPHPの本を参考にしたのですが うまくいかなかったのでご質問させていただきました。 プログラミング初心者の上、はじめての質問で不備があると思いますが、 どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • php ログインフォーム作成

    サーバーはさくらインターネットのプレミアムプラン phpのバージョンは 5.2.12 データベースのバージョンはMySQL 5.1 です。 <?php //DB設定 $dbhost = 'mysql***.db.sakura.ne.jp'; $dbuser = 'test'; $dbpass = 'test'; $dbname = 'members'; $ok_flg = 0; $msg = ""; //DB接続 $link = mysql_connect($dbhost,$dbuser,$dbpass); //使用するDBを選択 $conn = mysql_select_db($dbname,$link); if (!$conn) { die('Connect Error (' . mysql_connect_errno() . ') ' . mysql_connect_error()); } if (count($_POST) != 0) { $sql = sprintf("SELECT * FROM member WHERE id=? AND password=?"); $result = mysql_query($sql); ---- この先がわかりません ---- ***************************************** ***************************************** ***************************************** ---- ここまでがわかりません ---- if ($count == 1) { $ok_flg = 1; } else { $msg = '<span style="color:#ff0000;">ユーザーIDまたはパスワードが違います。</span>'; } } if ($ok_flg == 0) { echo <<< EOL $msg <form method="post" action=""> ユーザーID: <input name="id" /> パスワード: <input name="password" type="password" /> <input type="submit" value="ログイン" /> </form> EOL; } else { session_start(); $_SESSION["login_flg"] = 1; header ("location: ./"); } // MySQLへの接続を閉じる mysql_close($link); ?> ********の場所で困っています。 この先はどのように記述したらよろしいでしょうか? お分かりの方がいらっしゃいましたらご教授いただければと思います。

    • ベストアンサー
    • PHP
  • PHP+MySQLでのINSERTについての質問です。

    insert.html(入力フォーム)で <input type="text" name="company_nm" size="80"> を <form name="form1" method="post" action="insert_kakunin.php"> <input type="submit" value=" 次 へ "> で送って insert_kakunin.php(確認画面)で <input type="hidden" name="company_nm" value="<?= $company_nm ?>"> <?php print $_POST["company_nm"]; ?> で表示させます。 それを <form name="form1" method="post" action="insert.php"> <input type="submit" value=" 決 定 "> で insert.php(DB処理)で DB接続した後に $sql='INSERT INTO Sample (company_nm) VALUES("'.$_POST['company_nm'].'"); というふうにINSERTしたいんですが、VALUESに入力した値が入りません。 print $sql; print ($_POST['company_nm']); で見ても「""」となっています。 値の渡し方を教えてください。

    • ベストアンサー
    • PHP
  • 同一ページで複数のformを扱う場合

    同一のページ内にhiddenでIDを振った削除ボタンを用意しクリックされたIDを取得するにはどのようにすれば良いでしょうか? <form action="/test.php" name="1" method="post"> <input type="hidden" name="id" value="1" /> <input type="submit" name="delete" value="削除"> </form> -- 省略 <form action="/test.php" name="10" method="post"> <input type="hidden" name="id" value="10" /> <input type="submit" name="delete" value="削除"> </form> formにnameを振ってみても最後のIDがPOSTされてしまいます。

    • 締切済み
    • PHP
このQ&Aのポイント
  • 製品名:DCP-J4140N お困りの内容:自宅のWi-Fiに接続後、スマホでブラザーのアプリをダウンロードし、製品の追加を試みるも接続できない。
  • 環境情報:iOS14.8.1を使用 接続方法:不明 関連するソフト・アプリ:不明 電話回線の種類:不明
  • 質問の内容は「ブラザー製品」に関するものです。
回答を見る