HTML_QuickForm_Controllerみたいに,ウィザード形式で
進めるアンケートを作りたいです.
まず,http://oshiete1.goo.ne.jp/qa2419133.htmlのNo3さんの
回答を元に1枚アンケートを作りました.
アンケート回答を記入後,「送信」ボタンを押すと
データベースをUpdateして,同じPHPファイルを読み込み(PHP_SELF)
記入にエラーがあればメッセージを,
DB更新に成功したら更新成功,失敗したら失敗と表示するもの.
ここで,更新がうまくいったら成功と表示するのではなく,
別のPHPファイルを読み込みたい(次のページに遷移したい)です.
(無論.記入漏れやDB更新に失敗しら遷移せずにエラーが必要です)
骨組みだけ示すと,下記のような感じですが,
次のページに飛ばすには,どうしたらいいでしょうか.
<?php
$myID = getMyID();
$errFlg=false;
if ( $_POST["reg"] == "" ) $errFlg = true;
if ( !$errFlg ) $errmsg = "エラーあり";
if ( $errFlg ) {
?>
<html>
<body>
<?php echo $errmsg; ?>
<form method="post" action="<?php $_SERVER["PHP_SELF"] ?>">
<input type="text" name="email" value="<?php if($_POST["reg"]=="") { echo $db_email; } else { echo $_POST["email"]; } ?>"><?= $errStr["email"] ?>
<input type="submit" name="reg" value=" 送信 ">
</form>
</body>
</html>
<?php
} else {
$email = $_POST["email"];
$con = mysql_connect(localhost, root, pass);
$selectdb = mysql_select_db(mydb, $con);
$sql = "UPDATE mytable SET email = '$email', WHERE myID = '$myID'";
$rst = mysql_query($sql, $con);
if ($rst) {
$body = "更新成功";
}
else {
$body = "更新失敗";
}
print "$body<br><a href='menu.php'>戻る</a>";
}
?>
No.2ベストアンサー
- 回答日時:
このソースの場合は、JavaScriptでの遷移ではなく、
下記の方が良いと思います。
if ($rst) {
//$body = "更新成功"
header("Location: nextPage.php");
}
tdshさん,アドバイスありがとうございました.
>header("Location: nextPage.php");
この「魔法の一文」で一発解決しました.
相当悩んでいたので,大助かりです.
#1さんへの御礼にも書きましたが,サーバー側で処理したかったので
その点でも良かったです.
ありがとうございました.
No.1
- 回答日時:
litton101 さん、こんばんは。
さてご質問の件ですが、JavaScriptを組み合わせると可能であると思います。たしかJavaScriptの命令の中に「~~~.submit()」というのがありまして(~~~は、フォームの名前など)、これは実行すると別の画面に遷移するものだったと記憶しています。ご質問に書かれていた「記入漏れ」などもJavaScriptでチェックできるので便利です。…いまちょっと手元に参考書がない(職場に置きっぱなし)ので、あやふやな記憶ですみませんが、なんらかのヒントになれば幸いです。
hkd9001さん,アドバイスありがとうございました.
また,御礼遅くなってすみませんでした
不特定多数に公開するものなので,できればjavascriptでなく
サーバー側で対処できたらなーとは思いましたが,
そういう解決もあるのだと大変参考になりました.
ありがとうございました.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP php ログイン 1 2022/11/01 00:24
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP php テーブルが作成できない 1 2022/11/17 23:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでURLにジャンプするには?
-
アマゾンのような評価の星を選...
-
$_POST['hoge']のデータをフラ...
-
PHPとHTML+Xamppの掲示板で画像...
-
PHPコード表示について
-
ウェブ上で選択した複数行の内...
-
【PHP】もし、「リセット」ボタ...
-
確認画面無しのメールフォーム...
-
php で画面にコードが表示され...
-
同じページでフォームデータを...
-
PHPからHTMLへの変数の受け...
-
HTMLで前の画面に戻る時、入力...
-
php の処理をした結果をカウン...
-
複数 selectフォームから今回on...
-
foreachがうまく動かない
-
重複を防ぐ記述について教えて...
-
if文のなかで
-
フォームのテキストボックスに...
-
PHP ボタンが押されたら処理を...
-
HTMLのリンクをクリックするこ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPでURLにジャンプするには?
-
PHPのエラーの解消法について教...
-
フォームで作った送信ボタンが...
-
テキストリンクをPOST送信したい
-
フォーム送信後の更新ボタンで...
-
ボタンをクリックでPHP文を実行
-
セッションを使わずに遷移先画...
-
PHPでファイルアップロード時に...
-
アマゾンのような評価の星を選...
-
phpで、フォームのラジオボタン...
-
PHP 入力フォームにて半角スペ...
-
PHPでバーコード読み取りって・...
-
PHPの質問:フォームから受け取...
-
$_POST['hoge']のデータをフラ...
-
フォームのPOST情報が渡らない?
-
GETとPOST以外のデータの渡し方...
-
phpのカウンタのリセット方法
-
header location が飛びません。
-
PHPでPCのローカル時刻は取得出...
-
変数が表示されない。
おすすめ情報