• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:変数の内容が表示できません。perl初心者です。)

変数の内容が表示できません。perl初心者です。

alfeimの回答

  • ベストアンサー
  • alfeim
  • ベストアンサー率58% (114/195)
回答No.1

たしか<textarea>タグでの値渡しはvalueではなく、 <textarea>と</textarea>で挟まれた部分がデータとして渡されたはずですので、 >$t_comment.= "name=\"comment\" value=\"$comment\"></textarea>\n"; を $t_comment .= "name=\"comment\">$comment</textarea>\n"; に書き換えてみてください。

ctpsys
質問者

お礼

早速お教えいただき、感謝します。 お蔭様で上手くいきました。有難うございます。 「マスターに推薦」

関連するQ&A

  • htmlのcheckboxのデータをcgiファイルで表示できない?perl初心者の質問。

    htmlの中でcheckboxのデータをcgifile で表示できません。構成は 入力用のhtml file、それを受け取るcgi file、表示用のalert.htmlファイルです。 my $kako = $query->param('kako'); #html fileからのデータ受け取り用です #下のスクリプトは表示のためのperlコードとして書いています。 if($e_kako){ $t_kako.="<input type=\"checkbox\" name=\"kako\" value=\"裁断\"> 裁断 "; $t_kako.="<input type=\"checkbox\" name=\"kako\" value=\"中とじ\"> 中とじ "; $t_kako.="<input type=\"checkbox\" name=\"kako\" value=\"無線綴\"> 無線綴 "; $t_kako.="<input type=\"checkbox\" name=\"kako\" value=\"穴開け\"> 穴開け"; }else{ $t_kako = "$kako <input type=\"hidden\" name=\"kako\" value=\"$kako\">\n"; } #alert.htmlには下のようにして渡しています。 sub replaceTags{ foreach (@html){ s/<CGI:error message>/$errMsg/i; s/<CGI:error num>/$errNum/i; s/<CGI:kako>/$t_kako/i; データの渡し方がわからないのでよろしくお願いします。 下の場合はうまくいってます。 # page $t_page="<input type=\"text\" size=\"10\""; $t_page .= "name=\"page\" value=\"$page\">\n";

    • ベストアンサー
    • Perl
  • ボタン無しでフォーム内容送信

    <form name="regist" action="bbs.cgi" method="POST"> <input type="hidden" name="mode value="admin"> <textarea name=comment cols=50 rows=5 wrap=soft>コメント</textarea> <input type="submit" value="ボタン"> </form> 通常はボタンをクリックして移動しますが、送信ボタンを使わずに、bbs.cgiを表示しただけでフォーム内データを送信できればと考えています。どのようにすればいいのでしょうか。

  • メール送信時の不具合

    以下a.html→b.html→c.phpのフローでテキストエリアに入力された文章がc.php内で一行しか表示されませんでした。 全文表示したいのですが、どうすれば良いのでしょうか?ちなみにhtmlファイル内でもphpは使える環境になっています。サーバはロリポップです。 どなたか助けて下さい。よろしくお願い致します。 ■a.htmlファイル <form method=post action="b.html"> 内容:<br> <textarea name="comment" rows="5" cols="70"></textarea> <br> <input type="submit" value="確認"> <input type="reset" value="リセット"> </form> ■b.htmlファイル 内容:<?php echo $comment;?><br> で送信致します。<br> 宜しいですか?<br><br> <form method="POST" action="c.php"> <input type="hidden" name="comment" value=<?php print($comment);?>> <input type="submit" value="送信" /> </form> ■c.php <?php $comment=$_POST['comment']; echo $comment; ?>

    • ベストアンサー
    • PHP
  • テキストエリアに入力した改行コードを保持したい

    テキストエリアにコメントを入力して、その内容をDBに保存し、別ページで表示させる入力ページの作成で、フォーム内に ・テキストエリアを設置 ・その下に「プレビュー」ボタンを設置 ・その下にプレビューが表示されるエリアを設置 ・一番下にsubmitボタンを設置 test1.phpにて <form name ="form1" method="post" action="test2.php"> <table> <tr><td> <text area name ="comment" id ="comment"> </textarea> </td></tr> <tr><td> <a href="javascript:void(0);" onclick="preview_comment(); "> <img src="preview.jpg"> </a> </td></tr> <tr><td> <span id="preview_comment"> プレビュー </span> </td></tr> </table> <div><input type="submit" value ="submit"></div> </form> head部分に <script language="JavaScript"> <!-- function preview_comment() {var comment_details=document.getElementById("comment").value; document.getElementById("preview_comment").innerHTML=comment_details; } //--> </script> を設置しました。 テキストエリアにコメントを入力し、改行がある場合はその改行コードを保持した状態がプレビューとして表示され、確認をしてOKだったらSubmit、という処理を考えているのですが、改行コードがなくなってしまいます。 改行コードを維持したままプレビューエリアにコメントを表示させることはできますでしょうか? どこを修正すればいいか教えて下さい。

  • TEXTAREAにあらかじめ文字を表示させたい

    掲示板形式のCGIをダウンロードして、ど素人ですが自分なりに改造に挑戦しています。 表題の通り、TEXTAREAにあらかじめ文字を表示させたいのですが、うまくいきません。 <TEXTAREA rows=$row cols=$col name=$name_comment $css_style>$c_comment</TEXTAREA>\n"; 検索エンジンでやり方を検索してみても <TEXTAREA>ここに入力しておく</TEXTAREA> のやり方にしかたどり着けず・・・。 できれば、 (1) (2) (3) (4) (5) このように複数行をあらかじめ表示させたいと思っています。 どなたかご教授いただけると助かります。

    • ベストアンサー
    • Perl
  • 現在PHPにてsessionを使用したフォームを作成しております。

    現在PHPにてsessionを使用したフォームを作成しております。 現在、PHPは初心者で勉強中ですが悩んでいるため、ご質問させていただきます。 ソースは下記の通りです。 /* contact.php ----------------------*/ <html> <body> <form action="confirm.php" method="POST" > コメント:<br /> <?php echo $_SESSION['error_comment']; ?> <textarea name="comment"><?php echo $_SESSION['comment']; ?></textarea> <input type="hidden" name="contact" value="<?php $contact; ?>" /> <input type="submit" name="submit" value="確認" /> </form> </body> </html> /* confirm.php ----------------------*/ <?php session_start(); $comment = htmlspecialchars($_POST['comment']); if (isset($_POST["contact"])) { if (empty($comment)) { $_SESSION['error_comment'] = "コメントを入力してください!"; } if (!count($contact)) { $_SESSION["comment"] = $comment; header("Location: contact.php"); exit; } } else { $msg = '編集しました。'; } <html> <body> <?php echo $msg; ?> </body> </html> としております。 上記の内容でテストをするとcomment欄に入力されないと「コメントを入力してください!」と表示されますが、入力(テストと入力)をして確認をすると onfirm.phpのページは表示されずcontact.phpのcomment欄にテストと表示されたままです。 入力された場合はconfirm.phpを表示されせるにはどうしたらよろしいのでしょうか? お分かりの方がいらっしゃいましたら、ご教授お願いします。

    • ベストアンサー
    • PHP
  • 現在PHPの勉強をしています。初心者のためご教授いただければと思います

    現在PHPの勉強をしています。初心者のためご教授いただければと思います。 メールフォームを作成しており、エラーチェックで困っています。 簡単に流れを説明しますとフォーム画面で入力をしてもらったら確認画面へと移行します。 ここでエラーがあった場合、confirm.phpにてエラーチェックをし、form.phpに戻り、エラーがなければ確認画面にて入力した、項目が表示されるようにしたいと思っています。 ソースは下記のとおりになります。 form.php ---------------------- */ <html> <body> <form action="confirm.php" method="post"> 名前:<input type="text" name="name" value="" /<?php echo $errmsg['name'] ;?><br> 内容:<textarea name="comment" rows="5" cols="40"></textarea><?php echo $errmsg['comment'] ;?><br> <input type="hidden" name="contact" value="form" /> <input type="submit" name="submit" value="確認" /> </form> </body> </html> confirm.php ---------------------- */ <?php $name = $_POST['name']; $comment = $_POST['comment']; if(isset ($_POST['contact'])) { $errmsg = array(); if(empty($name)){ $errmsg['name'] = '未入力'; } if(empty($comment)){ $errmsg['comment'] = '未入力'; } if (count($errmsg) != 0) { header("Location: index.php"); exit; } } ?> <html> <body> 名前:<?php echo $name; ?><br /> 内容:<?php echo $comment; ?><br /> </body> </html> としております。 if (count($errmsg) != 0) { header("Location: form.php"); exit; 上記のようにするとエラーチェックの表示がされません。 require(form.php);にするとform.phpが表示されるのですがURLを見るとconfirm.phpの状態になっております。 header("Location: form.php");を使用してのエラーチェックをしたいのですが、どのように記述したらよろしいのでしょうか? 上記の内容でどなたかご教授いただけないでしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • Perl/JavaScript/サブルーチン

    はじめまして。 今ちょっといじってるプログラムについてお聞きしたいことがあります。 index.htmlのtextareaからmy.cgiを呼び出したい のですが。my.cgiというのは 1.textareaに入力された文章をデータベースに保存。 2.日付順にソートし新しいものを一つだけ取り出す。 3.index.htmlに表示する というものなのですが。 デフォルトでtextareaに一番新しい情報が入るようにしたいのです。valueで指示したのですがJavaScriptが邪魔してブラウザに反映されません。ソースを見るとvalue="********"とはいっています。 my.cgiを呼び出す命令を記述したmy.jsというファイルを作ってサブルーチンのように扱うという方法も考えているのですが、呼び出しやindex.htmlに表示させる記述の仕方が分かりません。 どなたか分かる方は、どうぞ宜しくお願いいたします。

  • textareaを使ったデータ呼び出し

    CGIで書き出すHTML部分の改良をしています。 print <<EOF; <input type=text name=comment size=50 value="$comment"> EOF これを textarea を使ってデータの呼び出し、書き換えをしたい のですが上手くできません。 記述の仕方を教えて頂けないでしょうか。宜しくお願い致します。

    • ベストアンサー
    • Perl
  • 携帯サイトでのPerlのtextarea容量

    はじめて質問させていただきます。  Perlを使って携帯サイトを作成しています。 以前にtextareaで作成した文章をファイルに保存しておき 再度、編集する際に以前の文章データをtextareaに表示しようとしました。  以前の文章データの容量が小さい場合は問題なくtextareaに表示されるのですが、 以前の文章データの容量が大きい場合は後半部分が欠けてしまいます。  PCでは問題なく表示されるのですが・・・・ どなたか、ヒントでも教えていただければ幸いです。  なお、ソースの一部は以下の通りです。 よろしくお願いします。    記 #----------naiyou1.datの読込み--------- open( LOAD,"naiyou1.dat"); $naiyou1 = <LOAD>; close(LOAD); #---------文字の逆処理------------------ $naiyou1 =~s/&amp;/&/g; $naiyou1 =~s/&lt;/</g; $naiyou1 =~s/&gt;/>/g; $naiyou1 =~s/<br \/>/\n/g; #----------表示(内容1の変更:)---------------- print "<br />内容の変更:<br />\n"; #----------TEXTAREA($naiyou1)----------------------------- print "<form method=\"$GO\" action=\"$cgi_name\">\n"; print "<textarea name=\"naiyou1\" rows=\"7\" cols=\"25\"wrap=\"hard\">$naiyou1</textarea>\n"; print "<input type=\"hidden\" name=\"label\" value=\"811P\" />\n";#label811Pに飛ぶ print "<br /><input type=\"submit\" value=\"決定\" /><br />\n"; print "</form>\n"; 以上