お世話になります。下記のようなフォームがあります。
<form method="post"><input type="submit" value="新規登録" name="registration"><form method="post"><input type="submit" value="一覧" name="list"></form>
新規登録と一覧、2つのボタンがあるのですが押されたボタンによって処理を区別したいです。
データを受け取るPHP内に下記のように記述したのですが思い通りの結果になりません。アドバイスを宜しくお願いします。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<?php
switch(ココの記述が判りません){
//新規登録画面を表示
case "registration":
print "新規登録!";
break;
//一覧を表示
case "'list', )":
print "一覧表示";
break;
default:
print "ココがデフォルト表示";
}
?>
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
if文だとif(isset($_POST["registration"])){の記述で分岐できたのですが、条件分岐が多いのでswitch文で書きたいです。
宜しくお願いします
No.2ベストアンサー
- 回答日時:
こんにちは、
以下でどうですか?
/*
* switch.php
*-----------------------------------------*/
<form method="post" action="switch.php">
<input type="submit" value="新規登録" name="registration">
<input type="submit" value="一覧" name="list">
</form>
<?php
switch(true){
case(isset($_POST['registration']) and $_POST['registration'] == "新規登録" ):
print "新規登録!";
break;
case(isset($_POST['list']) and $_POST['list'] == "一覧" ):
print "一覧";
break;
}
?>
No.1
- 回答日時:
HTMLの文法がまちがっていますが、これは単に記述ミス?
<form> が2つあるのに、 </form>が最後にひとつしかありませんよ。
もしかしたらif文で書いていたときには
こうやっていませんでしたか?
if( isset($_POST["registration"]) )
{
}elseif( isset($_POST["list"] ) )
{
}elseif( isset($_POST["default"] ) )
{
}
もし、上記のようなif文を使っていたとしたら、if文の文法上は動きますし正しいのですが、 if文の本質としては 倫理に反してます
switchはあくまでも、 1つの変数(又は式)に対しての評価しかできません
ですから、上記のようなIF文を使っていたとしたら、switch文に置き換えることは不可能です
ですから
HTMLを
<form method="post">
<input type="hidden" value="registration" name="mode" />
<input type="submit" value="新規登録" name="submit" />
</form>
<form method="post">
<input type="hidden" value="list" name="mode" />
<input type="submit" value="一覧" name="submit" />
</form>
このようにします。
PHPを
$mode = $_POST["mode"];
switch($mode){
//新規登録画面を表示
case "registration":
print "新規登録!";
break;
//一覧を表示
case "list":
print "一覧表示";
break;
default:
print "ココがデフォルト表示";
}
こうしてください
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 高校受験 数学 2 2 2 2 ーー + ーー + ーー+ーー 3×5 5×7 7×9 9×11 ーーは1本の 2 2022/04/08 20:40
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- クラシック クラシックの曲の名前を教えてください 3 2022/07/01 21:19
- 洋楽 たーたーたーー、たたたーーたたーーたたー。 みたいな音楽から始まってクラブ(マルタのしか分からないの 3 2022/05/23 06:02
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- オーケストラ・合唱 曲名がわかりません。 鼻歌検索しても出てこないし、街で聞いたのか映画で聞いたのかもなにもわからないで 1 2022/05/29 23:28
- 写真 中学校ぶりにプリクラ撮ったんですけど、猫と彼女ってやつで 撮った写真が一枚も印刷されなくて、動画から 2 2022/07/11 15:20
- セックスレス 台湾の女性とsexをしたのですが 最初から最後まで あーー はぁーー あああー という 言葉?みたい 2 2022/06/20 11:05
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPとHTML+Xamppの掲示板で画像...
-
入力した部分を表示させたまま...
-
HTMLのリンクをクリックするこ...
-
DBの値をチェックボックスに反...
-
チェックボックスについて
-
複数行のデータ一括更新に関して
-
POSTやGETの変数をフォーム無し...
-
同じページでフォームデータを...
-
アップロードの際にファイルパス
-
日記の投稿フォームの作成で
-
PHPでCookieを使った訪問回数に...
-
【HTML(PHP?)】複数のフォーム...
-
PHPで画像の渡しが上手く行きま...
-
PHPでユーザー情報を入力して簡...
-
検索時の選択内容を保持する方法
-
PHPでURLにジャンプするには?
-
GET又はPOSTで受け取るデータに...
-
laravelを利用してコントロール...
-
PHPからHTMLへの変数の受け...
-
PHPでファイルアップロード時に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<input type="hidden" >で配列...
-
HTMLで前の画面に戻る時、入力...
-
PHPでユーザー情報を入力して簡...
-
PHP ボタンが押されたら処理を...
-
PHPとHTML+Xamppの掲示板で画像...
-
syntax error, unexpected '}' ...
-
検索時の選択内容を保持する方法
-
PHPでCookieを使った訪問回数に...
-
チェックボックスによる検索
-
PHPで画像の渡しが上手く行きま...
-
フォームでのリセットを使う方法
-
チェックボックスによる検索(...
-
フォームへの前回入力値をクリ...
-
php mysql でチェックボックス...
-
フォームボタンを押すたびに数...
-
PHPの関数実行
-
phpで分からないエラーが出てし...
-
PHPで、ボタンを押すと同じペー...
-
ラジオボタンをsessionで使いたい
-
入力フォーム→確認画面→送信画...
おすすめ情報