入力画面と参照画面を作成しています
入力画面にtextareaと参照ボタンがあります
両画面ともPHPとテンプレートファイルを使用しています
下記のようにテンプレートファイルに記入しています
<tr>
<td>内容</td>
<td>
<textarea name=srinaiyou rows=5 cols=42></textarea>
</td>
</tr>
<tr>
<td>仕入先</td>
<td>
<input type=text name=sritokcd value="" size=10 maxlength=8>
<input type=submit name=sub_refer value=参 照>
</td>
</tr>
参照画面は下記のようにPHP内で記入しています
得意先のデータが複数行になるためPHPに記入しています
<table width=50% border=1 cellspacing=0 cellpadding=0>
<tr bgcolor=#ccccff>
<th width=15% nowrap>得意先コード</th>
<th width=42% nowrap>得意先名</th>
</tr>
<tr>
<td align=center>12354879</td>
<td align=center><table border=0 cellspacing=0 cellpadding=0><form name=frm12354879 method=post action=/beta/index.php><tr><td><input type=hidden name=page value=T_SyuuriEntry>
<input type=hidden name=srinaiyou value=テスト
備考>
<input type=hidden name=sritokcd value=12354879>
<a href=JavaScript:document.frm12354879.submit()>ABC工務店建設会社</a></td></tr></form></table></td>
</tr>
入力画面のtextareaに
テスト
備考
と入力して参照ボタンを押して参照画面を表示します
参照画面から得意先名を選択したら入力画面に戻るようにしていますが
入力画面が表示されるとtextareaには"テスト"しか表示されません。"備考"が消えてしまいます
うまくデータが受け渡しできません
参照画面を表示した時にはデータが渡っているみたいですが...
同じような質問を見て自分なりにいろいろと試しましたが解決できません
何卒よろしくお願いします
No.2ベストアンサー
- 回答日時:
return("<input type=hidden name=$nam value=$val>\n");
については、
return("<input type=\"hidden\" name=\"$nam\" value=\"$val\">\n");
とすることで、ダブルクォートで括れます。
ただ、クロスサイトスクリプティング攻撃(XSS)を避けるために、
$name = htmlspecialchars($nam);
$val = htmlspecialchars($val);
return("<input type=\"hidden\" name=\"$nam\" value=\"$val\">\n");
とした方が良いです。
<textarea name=srinaiyou rows=5 cols=42>{$srinaiyou}</textarea>
の$srinaiyouは、属性値に値を入れているわけではないので、ダブルクォートで値を括る必要はありません。
ただ、これもhiddenと同じ理由で(XSSを防ぐため)、
<textarea name="srinaiyou" rows="5" cols="42">{$srinaiyou|escape}</textarea>
とするべきところです。
返事が遅くなりました。
正常に動作させる事ができました。
解りやすい解説、いろいろと勉強になりました。
本当に有難うございました。
No.1
- 回答日時:
HTMLの書き方の問題ですね。
<input type=hidden name=srinaiyou value=テスト
備考>
と書いてもダメです。
<input type=hidden name=srinaiyou value="テスト
備考">
のように、ダブルクォートで括る必要があります。
この部分以外も全て同じで、属性値はダブルクォートで括りましょう。
きちんと括らないと、上記のように動作がおかしくなるだけでなく、セキュリティ上の問題になります。ダブルクォートで括るのと、<>"&などのHTML上の特殊文字をHTMLエスケープすることをお忘れなく。
この回答への補足
初歩的なことで申し訳ございませんが
hidden文をPHP内で関数を作って設定しているためか
ダブルクォートをうまくつけることが出来ません
ソースは下記のようにしています
function hidden_tg($nam, $val) {
return("<input type=hidden name=$nam value=$val>\n");
}
それとSmartyのtplファイルにダブルクォートをつけようとしましたが
できませんでした
<textarea name=srinaiyou rows=5 cols=42>{$srinaiyou}</textarea>
ダブルクォートのつけかたをどのようにしていいのか解りません
簡単かもしれませんが教えていただけないでしょうか
宜しくお願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォームでのリセットを使う方法
-
POSTデータのNAME属性をVALUEに...
-
ラジオボタンを押すと、表示が...
-
PHPでCookieを使った訪問回数に...
-
PHPとHTML+Xamppの掲示板で画像...
-
PHPでユーザー情報を入力して簡...
-
エラーを元の画面に表示させるには
-
チェックボックスの必須項目指定
-
チェックボックスがチェックさ...
-
PHP・MYSQLで複数のチェックボ...
-
配列をhiddenで
-
syntax error, unexpected '}' ...
-
入力フォーム→確認画面→送信画...
-
1つのphpファイルで、入力フォ...
-
PHPでフォームデータをサンクス...
-
画面が更新されてもチェックボ...
-
チェックボックスを用い、MySQL...
-
フォームへの前回入力値をクリ...
-
input nameで日本語を使うと
-
HTMLフォームで複数選択のチェ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<input type="hidden" >で配列...
-
HTMLで前の画面に戻る時、入力...
-
PHPでユーザー情報を入力して簡...
-
PHP ボタンが押されたら処理を...
-
PHPとHTML+Xamppの掲示板で画像...
-
syntax error, unexpected '}' ...
-
検索時の選択内容を保持する方法
-
PHPでCookieを使った訪問回数に...
-
チェックボックスによる検索
-
フォームでのリセットを使う方法
-
PHPで画像の渡しが上手く行きま...
-
チェックボックスによる検索(...
-
フォームへの前回入力値をクリ...
-
フォームボタンを押すたびに数...
-
php mysql でチェックボックス...
-
PHPの関数実行
-
phpで分からないエラーが出てし...
-
PHPで、ボタンを押すと同じペー...
-
ラジオボタンをsessionで使いたい
-
入力フォーム→確認画面→送信画...
おすすめ情報