質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

4303閲覧

更新ページでセレクトボックスやラジオボックスのvalueを戻したい

earnest_gay

総合スコア615

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/06/29 06:33

編集2016/06/29 07:06

ラジオボックスとセレクトボックスへの戻し方?が分かりません。

とある会員サイトのプロフィール更新ページを作っているのですが
下記のようにDBからレコード取得してvalueにセットすれば
「あなたの登録している情報はこれです」を表示させられるのですが
ラジオボックスとセレクトボックスの場合、
どうすればよいのでしょうか?

<?php $sql = "SELECT * FROM user_data WHERE id=ログインしている人のid"; $stmt = $pdo->query($sql); $row = $stmt->fetch(); ?> <tr> <td>市区町村</td> <td><input type="text" value="<?php echo $row['city']; ?>" maxlength="15" required></td> </tr> <tr> <td>町域番地</td> <td><input type="text" value="<?php echo $row['town']; ?>" maxlength="15" required></td> </tr> <tr> <td>建物名・号室</td> <td><input type="text" value="<?php echo $row['building']; ?>" maxlength="30" ></td> </tr>

イメージ説明


この中のどこかが構文エラーなのはわかるのですが、どの分部が構文エラーなのかが分からず保留にしていました...

<?php if( h(filter_input(INPUT_POST, 'sex') === '男性') echo 'checked="checked"' ?>

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

投稿2016/06/29 06:42

編集2016/06/29 07:11
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

earnest_gay

2016/06/29 07:04

回答ありがとうございます。 確かに同じことですね... リンク先のSora-tanさんの回答なのですが、 当時、構文エラーになっていたので後回しにしていたのですが、 未だにどこが構文エラーなのかが分からず進めていないんです... 本質問に画像を添付します。
退会済みユーザー

退会済みユーザー

2016/06/29 07:08

エラーの内容を書いてもらわないと回答のしようがありません。同じことを何度も言わせないで!
earnest_gay

2016/06/29 07:13 編集

すみません。 <input type="radio" name="sex" value="男性" <?php if( h(filter_input(INPUT_POST, 'sex') === '男性') echo 'checked='checked' ' ?>/>男性 <input type="radio" name="sex" value="女性" <?php if( h(filter_input(INPUT_POST, 'sex') === '女性') echo 'checked="checked"' ?> />女性 <select name="pref"> <option value="東京都" <?php if( h(filter_input(INPUT_POST, 'pref') === '東京都') echo 'selected="true"' ?>>"東京都"</option> <option value="大阪" <?php if( h(filter_input(INPUT_POST, 'pref') === '大阪') echo 'selected="true"' ?>>"大阪"</option> <option value="福岡" <?php if( h(filter_input(INPUT_POST, 'pref') === '福岡') echo 'selected="true"' ?>>"福岡"</option> </select> に対して Parse error: syntax error, unexpected 'echo' (T_ECHO) in C:\xampp\htdocs\xxx\test.php on line 1 です。
退会済みユーザー

退会済みユーザー

2016/06/29 07:11

普通にif の構文でエラーになっているだけでしょう。 if () {} で書き直せばいいでしょう
masaya_ohashi

2016/06/29 07:14

多分「h(」の二文字が余計なんじゃないですかね?
退会済みユーザー

退会済みユーザー

2016/06/29 07:15

あら、ほんとだ
earnest_gay

2016/06/29 07:17

masaya_ohashiさん まさかのそこでした... ありがとうございます! 過去の質問見返してやってみたいと思います。
masaya_ohashi

2016/06/29 07:18

過去の質問見ましたが、回答者さんのサンプルコードの時点で紛れ込んでいたので、初心者さんには気付かなかったのかと思われます。私も「これであってるでしょ」とかコメントで無責任なこと言ってしまったので…
earnest_gay

2016/06/29 07:26

初心者には回答頂けるだけで、大変ありがたいので デバッグ能力も身につけれるようにしていきたいと思います。
退会済みユーザー

退会済みユーザー

2016/06/29 07:30

「デバッグ能力」頑張ってくださいね。やみくもに間違いどこだーって探してもなかなか見つかるものでもないので、IDEなどのツールをうまく利用してください。
earnest_gay

2016/06/29 07:40

Kosuke_Shibuyaさん ありがとうございます。 今回こちらで、チェックしていたのですが、同じようにsyntax errorがでるだけなので)で閉じていないのに気づけませんでした... https://jp.piliapp.com/php-syntax-check/ 仮に閉じていてもh()の未定義エラーがでてしまっていたんでしょうが... ここまで来たらあとはなんとか解決できそうなので 今回はこちらで〆させていただきます。 ありがとうございました。
guest

0

この手の処理はHTML文の中でifで分岐せずに、最初にすべての値を設定しておき
表示部分で変数を参照するほうが楽です

<?PHP $checked["sex"]=array("男性"=>"","女性"=>""); $sex=filter_input(INPUT_POST,'sex'); if(in_array($sex,array_keys($checked["sex"]))){ $checked["sex"][$sex]=" checked";} $selected["pref"]=array("default"=>"","東京都"=>"","大阪"=>"","福岡"=>""); $pref=filter_input(INPUT_POST, 'pref'); if(!in_array($pref,array_keys($selected["pref"]))){$pref="default";} $selected["pref"][$pref]=" selected"; print <<<eof <form method="post"> <input type="radio" name="sex" value="男性" {$checked["sex"]["男性"]}/>男性 <input type="radio" name="sex" value="女性" {$checked["sex"]["女性"]}/>女性 <select name="pref"> <option value=""{$selected["pref"]["default"]}>==選択==</option> <option value="東京都"{$selected["pref"]["東京都"]}>東京都</option> <option value="大阪"{$selected["pref"]["大阪"]}>大阪</option> <option value="福岡"{$selected["pref"]["福岡"]}>福岡</option> </select> <input type="submit" value="go"> </form> eof;

なお、本来ラジオボタンやセレクトボックスは「何か選ばれて」いないといけません
可能なかぎりデフォルト値を設定することを心がけてください
とくに今回セレクトボックスが初期値が「東京」というのは地方の人間に
不満を与えるので、デフォルトが設定できないなら選択をうながすだけの
選択肢を設定すべきです。

投稿2016/06/29 07:51

yambejp

総合スコア114572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

earnest_gay

2016/06/29 09:11

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問