フォームメールを作っているのですがHTML側のデータが希望通りに摘出出来ません。
【C G I 側 一部】
push(@DATA_N,$name);
push(@DATA_V,$value);
foreach (0..$count-1) {
if ($DATA_V[$_] =~ /\n/) { &jis("$DATA_N[$_] =\n$DATA_V[$_]\n"); print OUT "$msg\n"; }
else { &jis("$DATA_N[$_] =$DATA_V[$_]"); print OUT "$msg\n"; }
}
【HTML側】
<BODY>
<h1>WEBFORM用サンプルフォーム</h1>
<FORM method="POST" action="webform.cgi">
<INPUT type="hidden" name="location" value="http://abc.com/123.htm">
<INPUT type="hidden" name="subject" value="フォームメール">
質問:<INPUT size="50" type="text" name="質問"><BR>
名前:<INPUT size="50" type="text" name="Yourname"><BR>
メール:<INPUT size="50" type="text" name="Email"><BR>
<BR>
<INPUT TYPE="submit" VALUE="確認">
<INPUT TYPE="reset" VALUE="リセット">
<p>
<input type="checkbox" name="c_copy" value="on" checked> 送信内容のコピーを表示<br>
<input type="checkbox" name="no_check" value="on"> 内容確認画面を出さないで送信する
</FORM>
</BODY>
上記の設定で【質問】【名前】【メール】の項目と値が全て送られて来るのですが、送られてくる順番を【名前】が先頭であとはHTML側の順番通りにしたいと思います。
以下のように行が何番目かを指定すれば結果は得られるのですが複数のHTMLに対応させる為【名前】項目が何番目に来るかが指定出来ません。
foreach (1) {
if ($DATA_V[$_] =~ /\n/) { &jis("$DATA_N[$_] =\n$DATA_V[$_]\n"); print OUT "$msg\n"; }
else { &jis("$DATA_N[$_] =$DATA_V[$_]"); print OUT "$msg\n"; }
}
そこでHTML側
名前:<INPUT size="50" type="text" name="Yourname">
のname="Yourname"部分を使って指定出来ないかとあれこれ試してみますがうまくいきません。
有識者の方々のご指導いただければ幸いです。何卒宜しくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
前回の質問に回答した者です。
前回の回答ではご理解いただけなかったようなのでもう一度。
名前項目の $name、$value それぞれリストの先頭に置くようにしたい、ということですよね。
ならば、スクリプトの、フォームから受信したデータをパースしている部分、つまり、データを分解して
push(@DATA_N,$name);
push(@DATA_V,$value);
の処理をしているところです。
ここを次のようにすればいいと思います。
$queryは、STDIN または $ENV{'QUERY_STRING'} を代入した変数です。変数名とコードの書き方は違うかもしれません。
for(split(/&/,$query)){
($name,$value)=split(/=/);
#decode
if($name eq 'Yourname'){$val=$value}
else{push(@DATA_N,$name);push(@DATA_V,$value);}
}
unshift(@DATA_N,'Yourname');
unshift(@DATA_V,$val);
ご指導ありがとうございます。
いったん値を変数に置き換えてやるといいんですね!
お蔭様で何とか名前が最上部に表示するようになりました。
この度は本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP php ログイン 1 2022/11/01 00:24
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlで書いたcgiでsqliteの使い...
-
ファイル名変更プログラム
-
wordの数式について 定積分を書...
-
ラジオボタンが両方とも選択で...
-
select値をhiddenのvalueに渡し...
-
「value」に2つの値をセットす...
-
プログラミングについての質問...
-
EXCELとの連携
-
VB.net データーグリッドビュー...
-
ラジオボタンを選択済みにする...
-
横スクロールを縦スクロールに...
-
チェックボックスの返す値
-
チェックボックスで選択した内...
-
この画像の縦の棒と横の棒はど...
-
OPTIONタグにループは使えない...
-
Javascriptの変数をCGIに送る方法
-
クッキー書き込みが正常に行わ...
-
プルダウンメニューにテキスト...
-
チェックボックスの余白を指定...
-
FORMを中央に表示したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUN BBSの改造方法
-
perlで書いたcgiでsqliteの使い...
-
tracert ができない原因
-
入力フォームに全角・半角スペ...
-
CGIメールフォームの件名について
-
Perlでuse socketを使用してフ...
-
電話番号を読み込むプログラム...
-
CGI(Perl)内での必須項目チェ...
-
Windows7でVBScriptによるネッ...
-
wordの数式について 定積分を書...
-
ラジオボタンが両方とも選択で...
-
select値をhiddenのvalueに渡し...
-
「value」に2つの値をセットす...
-
チェックボックスの返す値
-
INPUT TYPE
-
WEBページを強制的に横画面で見...
-
[HTML]プルダウンメニューの横...
-
VB.net データーグリッドビュー...
-
別formのhidden項目を自form値...
-
FORMのselectの選択肢を最初か...
おすすめ情報