okmotokun の回答履歴
- フォームに入力した値の制御について
フォームに入力した値の制御について いろいろと調べてみたのですが、 どうすれば良いか分からないので、 質問をさせて頂きました。 【概要】 フォームの[text]と[textarea]に入力をしてもらいたい 入力値のサンプルを表示されるようにしました。 カーソルを[text]と[textarea]に入れると、 入力値のサンプルの表示が消えて入力出来るようにしました。 【やりたい事】 [text]と[textarea]に入力をしてもらった値を、 最終的にtextareaに出力させるようになっています。 何も入力せず出力をさせると、サンプル値は出力されてしまいます。 [text]と[textarea]に入力をした値のみ出力させることは可能でしょうか。 ご教授頂ければと思います。 よろしくお願いいたします。 【ソース】 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN Frameset" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <script type="text/javascript"> <!--ログ生成スクリプトを取得--> function textoutput(formObj) { <!--text01を取得--> var text01 = formObj.elements["text01"].value; <!--text02を取得--> var text02 = formObj.elements["text02"].value; <!--textarea01を取得--> var textarea01 = formObj.elements["textarea01"].value; <!--textarea02を取得--> var textarea02 = formObj.elements["textarea02"].value; <!--出力データを作成--> var text = ''; <!--text3データを作成--> if(text01!==""){ text += '質問1:' + '\n'+ text01 + '\n'; } <!--text2データを作成--> if(text02!==""){ text += '質問2:' + '\n'+ text02 + '\n'; } <!--textarea01データを作成--> if(textarea01!==""){ text += '質問3:' + '\n'+ textarea01 + '\n'; } <!--textarea02データを作成--> if(textarea02!==""){ text += '質問4:' + '\n'+ textarea02 + '\n'; } <!--出力データを作成--> formObj.elements["output"].value=text; } </script> </head> <body> <form name="form01"> <strong>・諮問1:</strong><br> <input type="text" name="text01" value="1入力してください" id="p1" size="30" class="disabled" onfocus="if (this.value == defaultValue) this.value = '';" onblur="if (!this.value) this.value = defaultValue;"><br> <strong>・諮問2:</strong><br> <input type="text" name="text02" value="2入力してください" id="p2" size="30" class="disabled" onfocus="if (this.value == defaultValue) this.value = '';" onblur="if (!this.value) this.value = defaultValue;"><br> <strong>・諮問3:</strong><br> <textarea name="textarea01" id="textarea01" cols="60" rows="5" onfocus="if(this.value == this.defaultValue) this.value=''" onblur="if(this.value == '') this.value=this.defaultValue"> 3入力してください </textarea><br> <strong>・諮問4:</strong><br> <textarea name="textarea02" id="textarea02" cols="60" rows="5" onfocus="if(this.value == this.defaultValue) this.value=''" onblur="if(this.value == '') this.value=this.defaultValue"> 4入力してください </textarea><br> <strong>・出力結果:</strong><br> <input type="button" value="ログ出力" onClick="textoutput(this.form);"> <br> <textarea cols=60 rows=20 name="output" ></textarea> </form> </body> </html>
- ベストアンサー
- JavaScript
- yumi007
- 回答数1
- perlでファイル内を検索
perlでファイル内を検索して読み込みを行いたいのですが どのようにすればよいでしょうか。 環境は、Solaris10 以下のようなファイル(test.txt)から #start1~#endの間にある、”01:”で始まっている値をすべて取得する。 複数行になっている場合、カンマで1つにする。 ”01”ではじまっていないものは無視する。#などで始まっているものも。 ●ファイル:test.txt #start1 01:abc,aaa,bbb 01:1234 #01;a1,b1,c1 02:(省略) 03:(省略) #end #start2 01:(省略) 02:(省略) 03:(省略) #end #start4 01:(省略) 02:(省略) 03:(省略) #end ●結果 abc,aaa,bbb,1234 として読み込みたい。
- perlでファイル内を検索
perlでファイル内を検索して読み込みを行いたいのですが どのようにすればよいでしょうか。 環境は、Solaris10 以下のようなファイル(test.txt)から #start1~#endの間にある、”01:”で始まっている値をすべて取得する。 複数行になっている場合、カンマで1つにする。 ”01”ではじまっていないものは無視する。#などで始まっているものも。 ●ファイル:test.txt #start1 01:abc,aaa,bbb 01:1234 #01;a1,b1,c1 02:(省略) 03:(省略) #end #start2 01:(省略) 02:(省略) 03:(省略) #end #start4 01:(省略) 02:(省略) 03:(省略) #end ●結果 abc,aaa,bbb,1234 として読み込みたい。
- ココになんで「\」がつくのでしょうか?
はじめまして。PHP初心者です。 以下のプログラムで「\」が出てくる場所があるのですが 「\」はどういう場合につけるのでしょうか? 意味はあるのでしょうか? <?php $data = " <?php print \"Hello\"; ?> "; for($i = 0; $i < 3; $i ++){ $fp = fopen("$i.php", "w"); fwrite($fp, $data); fclose($fp); } for($i = 0; $i < 3; $i++){ echo "<a href=\"./$i.php\">$i</a>\r"; } ?> ご回答よろしくお願いいたします。
- ベストアンサー
- PHP
- pikapikamomomo
- 回答数4
- phpについての簡単な質問です
下のようなphpコードを見たのですが、 (http://okwave.jp/qa/q5324570.htmlのベストアンサー) <form method="post" action="{$_SERVER["PHP_SELF"]}"> <select name="category" id="category" onchange="this.form.submit();"> <option value="0"{$selected["category"]["0"]}>A</option> <option value="1"{$selected["category"]["1"]}>B</option> <option value="2"{$selected["category"]["2"]}>C</option> <option value="3"{$selected["category"]["3"]}>D</option> </select> </form> {$selected["category"]["0"]}という部分がよくわかりません。 二次元配列みたいなものなのでしょうか? ぜひとも教えてください。
- 締切済み
- その他(プログラミング・開発)
- nktos
- 回答数3
- スマホからPHPでメール送信したいと考えています。
スマホからPHPでメール送信したいと考えています。 ユーザーが私のサイトにアクセスしてフォームで送信というイメージです。 使っている環境はWindowsです。 xamppもPCにインストールしてあります。 (使い方は分かっていません) スマホのサイトの情報は下記です。 SMTP www.abcd.jp(仮に) sendmailのパス /usr/sbin/sendmail フォームを作り、phpにデータを渡すところまでつくりました。 phpは下記のように書いています。 <?php $message = "名前:" . $_POST["namae"] . "\n電話:" . $_POST["tel"] . "\n年齢:" . $_POST["age"] . "\n本文:" . $_POST["com"]; if (!mb_send_mail("info@abcd.jp", "モバイルからのお問い合わせ", $message, "From: " . $_POST["mail"])) { exit("error"); } ?> この状態では当然のようにerrorが表示されるだけです。 あとはSMTPとかsendmailを何とかするんだと思うのですが その辺りが全くわかりません。初心者です。 ご教授お願いいたします。
- 外部ページから指定場所にリンクをさせる
ページ内で、リンクをするとき、hrefに飛ばしたい場所を#で指定すれば、name属性のところに ページ移動させれることは知っているのですが、 外部ページから、指定の場所に飛ばすことはできないでしょうか? ==========内部ページ内でリンクを作成する時(link.html)============= <h1>リンクテスト</h1> <h2>サンプル</h2> <h3><a name="menu" id="menu">メニュー</a></h3> <ul> <li><a href="#section1">メニュー1</a></li> <li><a href="#section2">メニュー2</a></li> <li><a href="#section3">メニュー3</a></li> </ul> <h3><a name="section1" id="section1">セクション1</a></h3> <p>メニュー1の内容。 ...</p> <h3><a name="section2" id="section2">セクション2</a></h3> <p>メニュー2の内容。 ...</p> <h3><a name="section3" id="section3">セクション3</a></h3> <p>メニュー3の内容。 ...</p> <p><a href="#menu">メニューに戻る</a></p> 上記ソースのメニュー部分を別ページ(top.html)に作成し、 リンクページの指定部分をメインで映るようにしたいのです。 例えば、下のメニュー3がクリックされたとき、 link.htmlのsection3の内容部分(link.htmlの下にある、セクション3)が画面中央に来るようにしたいのです。 ご教授お願いします。 ===top.hmtml(メニュー部分抜粋)================== <h1>リンクテスト</h1> <h2>サンプル</h2> <h3><a name="menu" id="menu">メニュー</a></h3> <ul> <li><a href="#section1">メニュー1</a></li> <li><a href="#section2">メニュー2</a></li> <li><a href="#section3">メニュー3</a></li> </ul>
- CGI間のデータ送信について(perl)
perlのcgiで詰まってしまったので質問します。 現在困っていることは、cgiからcgiへの変数の値の受け渡しについてです。 色々調べてやってみたのですが、うまくいきません。 送信側で print "<form action = \"sendmail.cgi\" method=\"post\">"; print "<A href =\"sendmail.cgi?$array1[0]&$array1[1]&$array1[2]&$array1[3]\">sendmail.cgi</A>"; print "<input type=\"submit\" value=\" ボタンです。 \">"; print "</form>"; として 受信側で # postでもgetでも受信できるようにする if ($ENV{'REQUEST_METHOD'} eq "GET") { $data = '1'; $testmsg = "GETで受信"; $formdata = $ENV{'QUERY_STRING'}; print("$formdata<BR>"); } elsif ($ENV{'REQUEST_METHOD'} eq "POST"){ # こちらを使用している $data = '2'; $testmsg = "POSTで受信"; $length = $ENV{'CONTENT_LENGTH'}; read(STDIN,$formdata,$ENV{'CONTENT_LENGTH'});# $dataに受信する print("$formdata<BR>"); } else { $data = '3'; $testmsg = "受信することができませんでした。<BR>"; } としてpostにて受信しようとしています。 postのif文には入ったようなのですが、データが空っぽで何も入っていないようなのです。 何が原因なのでしょうか?助けてほしいです。
- 文頭・文末の記号をチェック
お世話になります。 Perlでの正規表現について質問させていただきます。 とあるフォームに入力した値が、特定の条件を満たさない場合に エラーメッセージを表示させたいのですが、うまくいきません。 以下に条件を記載いたします。 条件 1. 小文字、半角英数字、(一部の)記号で2~32文字以内。 2. 使用できる記号は、ハイフン(-)・アンダーバー(_)・ドット(.)のみ。 3. 上記記号が使用できるのは文中のみで、先頭及び末尾には使用できない。 当方、Perl初心者でして、 解説サイト等から、見よう見まねで試してみたところ、 条件1と2は、何とか成功したのですが、 3の記述の仕方がどうしてもわかりません。 どなたか、おわかりの方がいらっしゃれば ご教授いただけませんでしょうか。 if($FORM{"account"} ここの記述の仕方がわかりません{ $msg = '文頭・文末に記号を使用する事はできません'; &error; }
- perl cgiの局所変数について
現在perlを使ってcgiのプログラムを組んでいるのですが、初歩的なことがよくわかっておらず、難儀しております。 調べてみたのですが中々理解できず困っているので助けてほしいです。 全てを書くと長くなってしまうので端折って書かせていただきます。 現在、局所変数のエラーで詰まっております。 送信プログラムのGETを使用していたのですが、セキュリティ的に危険ということがわかりまして、 POSTを使うように変更しました。 しかし、エラーが発生し、進まなくなってしまいました。 use strictを記述した後にエラーが発生し、原因を調べたところ、大域変数の使用を禁止してしまうという効果があることがわかりました。 検索して調べて出てきた対策として、全ての変数を定義して、myを記述すれば解決できるとあったので、myを記述してみたところ、エラーが発生してしまいました。 Can't declare null operation in my at ****.cgi line 38, near "tr/+/ /;" Execution of /virtual/www/****.cgi aborted due to compilation errors. というエラーが取れないです。 @array2 =~ tr/+/ /; という記述に問題があるらしいということしかわからないのですが、よくわかりません。 すみませんが、教えて頂きたいです。
- 正規表現の中の変数の表記のしかた
初歩的な質問なのですが、 if($test =~ /&n=$in{n}&/){} という正規表現は正しいのでしょうか? $in{n}が変数になるのですが、何か"などで囲まないといけないとかありますでしょうか? それとも別の箇所(例えば&や;)をエスケープしてやる必要があるのでしょうか? エラーは返ってきませんが、思った行動をおこしてくれず(必ずヒットするものがあるはずなのにif節内に行ってくれない)、また、何度もトライアンドエラーできる環境下のものではなく、さらにネットで正規表現について検索しても、持っている本に羅列されている内容ばかりで、今望んでいることについて触れているページが見つからないため、みなさまのお力お借りしたく思います。 どうぞよろしくお願いします。
- ifの条件式 Andを使用するものについて
phpで、 $a="あいうえお"; $b="かきくけこ"; $c="かきくけこ"; と変数を三つ宣言しました。 上の変数三つを利用して、以下条件のif文を作りたいと思いました。 条件:$a変数 と $b変数が異なり、かつ $b変数 と $c変数の内容が同じとき「処理A」を実行させる。 ○作成したif文 if(($a <> $b) && ($b == $c)){ 処理A } と記述したのですが、 ifブロック処理Aが実行されません。 なぜなのでしょうか…。 ご教授お願いします。
- ログイン判定後の画面遷移について
以下テキストボックスに、 1.ログインID、パスワードを入力させたいと考えています。 2.ログインに成功したら、「member.phpにページを遷移する」ようしたいと考えています。 ログインに失敗したら「top.php」を再表示させたいと考えています。 .以下のように記述すると、member.phpで処理が動いてしまうのですが 2のようにログイン条件の成功の有無で表示するページを切り替えるにはどうしたらいいでしょうか? ご教授お願いします。 ==top.php====== <body> <div id="content"> <h1>ログイン画面</h1> <form action="member.php" method="POST"> <dl> <dt>ログインID:</dt> <dd><input type="text" name="l_id"></dd> <dt>パスワード:</dt> <dd><input type="password" name="l_pass"></dd> </dl> <p><input type="submit" name="submit" value="ログイン"></p> </form> </div>
- 変数に入っているのに、メールで送ると格納されてない
こんな感じでチェックボックスを作りました。 <td><input type="checkbox" name="youbi" value="月1"></td> <td><input type="checkbox" name="youbi" value="火1"></td> <td><input type="checkbox" name="youbi" value="水1"></td> <td><input type="checkbox" name="youbi" value="木1"></td> 複数選択し、 $youbiの変数データをブラウザに表示すると、ちゃんと「月1、火1、水1」 と表示されます。 これをそのままメールで送ろうとしたところ、 $youbiを表示すると、「月1」しかメール本文に表示されていません。 どうやったらちゃんとメールに表示できるようになるでしょうか?
- CGIがうまくいかないので困っています
フリーソフトのCGIを利用してメールフォームを設定しましたが、うまくいきません。困っていますのでどなたか助けてください。 送信した際にこのような表示があり、確かに受信できますが、一部しか表示しません。 さくらレンタルサーバー利用です。 *は自分のアドレス Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 To: ****@***.ocn.ne.jp From: ****@***.ocn.ne.jp Subject: HPからのお問い合わせ message = name name以外にも入力箇所がいくつもあるのに、message=とnameしか送られてきません。 htmlは次の通りです。 <form action="mail/mail.cgi" style="font-weight : normal;color : rgb(102, 102, 102);" method="post" enctype="text/plain"> <h3>お問い合わせフォーム</h3> <p>*は入力の必須項目です。</p> <table> <tbody> <tr> <th>お問い合わせ内容*</th> <td><textarea name="message" class="l" cols="40" rows="12"></textarea></td> </tr> <tr> <th>お名前(漢字)*</th> <td><input type="text" name="name" class="m"></td> </tr> <tr> <th>お名前(フリガナ)*</th> <td><input type="text" name="kana" class="m"></td> </tr> <tr> <th>E-Mail*</th> <td><input type="text" name="email" class="l"></td> </tr> <tr> <th>電話番号(半角)*</th> <td><input type="text" name="tel" class="l"></td> </tr> <tr> <th>FAX番号(半角)</th> <td><input type="text" name="fax" class="l"></td> </tr> </tbody> </table> <input type="submit" value=" 送信 " class="button"> <input type="reset"><input type="hidden" name="to" value="******"></form> <hr> CGIは #!/usr/local/bin/perl # ★ perlのパス名 # ★ 送信先メールアドレス $mailto = '******'; # ★ サブジェクト(件名) $subject = 'HPからのお問い合わせ'; # ★ メール送信コマンド $mailcmd = '/usr/sbin/sendmail'; # ★ -fオプションの有無 $usefoption = 1; # ★ 送信結果メッセージ(ヘッダ) # <<END_OF_DATA ~ END_OF_DATA の間を好みにあわせて変更してください。 $header = <<END_OF_DATA; <html> <head> <meta http-equiv="Content-type" content="text/html; charset=Shift_JIS"> <title>メール送信結果</title> </head> <body> <h1 style=\"color:#36f;font-size:14px;\">メール送信結果</h1> <hr> <p>下記内容でメールを送信しました。ありがとうございました。</p> <hr> END_OF_DATA # ★ 送信結果メッセージ(フッタ) # <<END_OF_DATA ~ END_OF_DATA の間を好みにあわせて変更してください。 $footer = <<END_OF_DATA; <hr> <a href="../index.html">[戻る]</a> </body> </html> END_OF_DATA #==================================================================== # 自己診断機能。 #==================================================================== # メール送信がうまく動作しない時に、 # http://~/~/wwwmail.cgi?test の形式で呼び出してください。 if ($ENV{'REQUEST_METHOD'} eq "GET") { print "Content-type: text/html; charset=Shift_JIS\n"; print "\n"; print "<html>\n"; print "<head>\n"; print "<title>WwwMail自己診断</title>\n"; print "</head>\n"; print "<body>\n"; print "<p>CGIは正常に動作しています。</p>\n"; unless (-f $mailcmd) { print "<p>$mailcmd がありません。</p>\n"; } unless (-x $mailcmd) { print "<p>$mailcmd が実行可能ではありません。</p>\n"; } unl
- 選択した内容をメールの件名に
cgiを利用してメール送信フォームを作成しました。 「場所」はA,B,Cをラジオボタンで選択できるようにしました。 選択された「場所」を送信されたメールのタイトルにもってくるには どうしたらいいのでしょうか? ◎A ○B ○C 上記のように「A」を選択した場合、 メールタイトル:A としたい。 <td class="checkboxRequired"> <input type="radio" value="A" name="場所" class="validate required" /> <label for="場所">A</label> <input type="radio" value="B" name="場所" /> <label for="場所">B</label> <input type="radio" value="C" name="場所" /> <label for="場所">C</label> </td> <input type="hidden" name="subject" value="" />
- ウェブサイト制作でコメント欄を作りたい
自分のサイトにコメント欄をつけて 見てくれる人がコメントを書き込めて それを自動でサイト内に表示するようにしたいのですが どうしたらいいのでしょうか? dreamweaverを使ってます
- cgi(perl) sendmailの使い方
お手数ですがよろしくお願い致します。 レンタルサーバー(ロリポップ)にCGIを設置してサイトを作成しています。 メールフォームを作ってフォームから指定されたメールアドレスに自動返信するようにしたいのですが、うまく動作しなくて困っています。 利用環境は Perl(ver.5.8.8)でsendmailについては以下のようになっています。 ・SENDMAIL の利用は可能です。 postfixによるラッパーとなります。 ・sendmailのパスは/usr/lib/sendmail もしくは/usr/sbin/sendmail どちらでも利用可。 現在メールを送るところまでは出来るようになったのですが、届くメールを見ると宛先などのアドレスに余計なドメインが付加されているのです。 テスト中のcgiは大体以下のような感じです。 my $from = 'foo01\@bar.jp'; my $to = 'foo02\@bar.jp'; my $subject = 'test'; my $msg = 'test'; open(SDML,"| $sendmail -t -i") || die; print SDML "From: $from\n"; print SDML "To: $to\n"; print SDML "Cc: $cc\n"; print SDML "Subject: $subject\n"; print SDML "Content-Transfer-Encoding: 7bit\n"; print SDML "Content-Type: text/plain;\n\n"; print SDML "$msg"; close(SDML); これで送られてくるメールを見ると 宛先: "foo02@bar.jp"@usersXXX.phy.lolipop.jp (XXXは本当は数字。usersXXXはロリポップのサーバー番号というものらしいです。) こんな風に余計なドメインがくっついて送られてきます。 print SDML "To: $to\n"; → print SDML "To: foo02\@bar.jp\n"; という感じで直書きに直すとこの症状は起こらないのですが、変数で指定するとどうしても起こります。 自動返信するため宛先に変数を使いたいのですがどうしたらこの症状が出ないように出来るのでしょうか?
- 至急*正規表現教えて下さい
お世話になります。 正規表現で次のようにしたい場合の記述を教えてください。 1.HTMLタグ全てを削除 現在は <("[^"]*"|'[^']*'|[^'">])*> と指定しています。 2.「2012.1.1」や「2012.1.10」など一桁の数字だけ「2012.01.01」「2012.01.10」と二桁にしたい。 「2012.12.12」などは二桁のままにしたい 現在 (\d{4}).(\d{1-9}).(\d{1-9}) を $1.0$2.0$3 としたら 2012.1.10が2012.01.01 と下一桁が無視されてしまいました… 3.HTMLタグと文字全て 現在 ^.*$ 使用したい場所はYahoo!pipesです。 宜しくお願いします!