• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:次のような処理をしたいんですがエラってしまいます)

PHPで$_REQUESTを変数として扱う方法とは?

wakame0729の回答

回答No.1

まずスクリプトのコーディングがめちゃめちゃです。めちゃめちゃすぎてどこから説明すれば良いのかわからないくらいです・・・。 それとまだ$_REQUESTが何なのかを大きく勘違いしているみたいです。もともと$_REQUEST変数の使用自体推奨されてないみたいですし、一旦$_REQUEST変数の事は忘れましょう。なんか根本的に勘違いがあるみたいですよ。そもそも配列自体をわかってないように思います。この状態でスクリプトを書くのには無理があるので、一度入門書のサンプル等を組みながらひとつひとつ意味を調べて行ったほうがよいのでは?基本的な知識がないと、このような所でいくら質問をしても、その回答自体を理解できないんじゃないでしょうか。 ちなみにやりたい事をサクっと書くと for($i=1;$i<=100;$i++){ echo "jiroが$i人いる<br>\n"; } これだけじゃないですかね。$_REQUESTだのなんだのは、全く関係ないと思いますよ。

SariGEnNu
質問者

お礼

ありがとうございます すいません、たしかにjiroの処理に$_REQUESTは不要で wakame0729様の処理が一番です 私も質問した後に気がつきました. 本当にやりたいことは オプションから選んだ項目に対して それに応じた処理をするものですが もう少しやりたい処理の内容を整理して また$_REQUESTが本当に必要が否か検討して質問しなおさせてくださいませ

関連するQ&A

  • ループ処理について

    テキストファイルにある数字が存在するかしないかの判断をしたいですがうまくいきません、どこが悪いのでしょうか・・・。 <?php $log=file("1.txt"); for($i=1;$i<count($log);$i++){ echo"<a href=1.php?no=$i>$i</a> ";} echo"<BR><BR><BR><BR><BR>"; if ($_GET["no"]) { $no = $_GET["no"]; $log=file("1.txt"); for($i=0;$i<count($log);$i++){ $list=explode("<>",$log[$i]); if($no==$list[1]){echo"$list[0]"."はOk<BR>";} elseif($no!=$list[1]){echo"";} } if($no!=$list[1]){echo"存在しません";} } ?> 1.txtの中身は 7<>7<> 8<>7<> 5<>5<> 6<>5<> 3<>3<> 4<>3<> 1<>1<> 2<>1<> 右の数字(7・5・3・1)が存在確認対象で、 ?no=数字で呼び出し、getでの呼び出し数字が右に存在すれば左の数字を表示します。 存在しなかったら 存在しません という言葉を1回だけ表示します。 no=1とno=2 no=4 no=6だけ上手くいくのですが、他はokと存在しませんが両方混在してしまいます。no=3 5 7も1 2のようにしたいのですが、 どう記述すれば上手い具合にいくでしょうか? よろしくお願い致します。

    • 締切済み
    • PHP
  • phpで5で割って余りを表示させない方法

    phpで5で割って余りを表示させない方法を探しています。 例えば <?php for ($i = 1; $i < 15; $i++) { echo $i; if ($i % 5 == 0) { echo "<br />"; }} ?> を実行させた場合 12345<br/> 678910<br/> 11121314 となりますが、この場合11から14までを表示させないようにすればどうすればできますか?

    • 締切済み
    • PHP
  • 値の引継ぎについて

    下記のスクリプトについてなのですが… <?php $data=array("1","2","3","4","5","6","7","8","9","10","11","12"); for($i = 0; $i < 3; $i ++){ $index = fopen("$i.php", "w"); for($n = 0; $n < 4; $n ++){ fwrite($index,$data[$n]); } fclose($index); } for($i = 0; $i < 3; $i++){ echo "<a href=\"./$i.php\">$i</a><br>"; } ?> 0.php、1.php、2.phpのファイルができるのですが、1で表示されるのが5~8、2で表示されるのが9~12となるにはどのようにしたら良いでしょうか?

    • ベストアンサー
    • PHP
  • フォームを使った配列変数の受け渡し

    PHP初心者です、よろしくお願いします。 フォームからPHPで配列変数を受け渡すことを考えています。 一次元配列はうまく渡せましたので、これを二次元にしましたところ、 うまく渡せません。基本的なPHPの文法がわかってないので、つまづい ています。多分、配列変数の記述方法がおかしいのだと思うのですが・・。 ご教授よろしくお願いします。 <html> <body> <form method = "POST" action ="test2.php" > <?php //データ渡し側 for ($i = 0 ;$i < 2 ;$i ++){ for ($j=0 ;$j <2;$j ++ ){ echo ("<input type ='text' name = 'data[$i][$j]' size ='10'>\n"); echo ("<br>\n"); } echo ("</tr>\n"); } ?> <input type="submit" name ="sbmit" value="data_input" > </form> </body> </html> <?php //データ受け側 for ($i = 0 ;$i < 2 ;$i ++){ for ($j=0 ;$j < 2;$j ++ ){ $tmp_data[$i][$j] = $_POST["data"][$i][$j]; echo ("$tmp_data[$i][$j] <br>\n"); } } ?> <html> <body> <form method = "POST" action ="test2.php" > <?php for ($i = 0 ;$i < 2 ;$i ++){ for ($j=0 ;$j <2;$j ++ ){ echo ("<input type ='text' name = 'data[$i][$j]' size ='10' value='$tmp_data[$i][$j]'>\n"); echo ("<br>\n"); } } ?> </table> <input type="submit" name ="sbmit" value="in" > </form> </body> </html> 実行結果は、 Array[0] Array[1] Array[0] Array[1] と表示されて、実際の入力した値が反映されません。

    • ベストアンサー
    • PHP
  • phpの結果をjavaスクリプトタグで表示したい

    phpの変数を含んだ処理結果をHTMLに埋めこんだjavaスクリプトタグで表示したいです。 php側のプログラム <?php header("Content-type: application/x-javascript"); $a = array('abc', 'def', 'ghi'); rsort($a); foreach ($a as $tmp) { echo "document.write(\"<P>$tmp</P><br>\")"; } ?> 表示側のHTML <html> <body> <script type="text/javascript" src="http://www.aaa.com/hoge.php"></script> </body> </html> echo "document.write(\"<P>$tmp</P><br>\")"; の箇所が変数でなければ、記入した文字が表示されます。。 例: echo "document.write(\"あああ\")"; 変数に対応した書き方でないと思いますが、、、アドバイスいただけないでしょうか? よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHP&mysqlで、選択したcheckboxを次ページで表示させる方法

    php&mysqlの初心者です。 現在、以下の様なホームページを考えています。 (1)DB内を検索 (2)DBアクセスし、検索結果を表で表示。  その際、checkboxを左につける。 (3)チェックされたレコードを再表示。 (1)から(2)まではうまくいくのですが、 checkboxでチェックされたレコードを再表示させる部分で 悩んでいます。 具体的には以下のような感じです。 ●(2)の部分 while($row = mysql_fetch_array($result)) { echo "<tr><td>"; echo "<input type=checkbox name=d_decide value="; $row{renban}; echo ">"; echo "</td><td>"; echo $row{"renban"}; echo "</td><td>"; echo $row{"namae"}; … ●(3)の部分 for($i=0; $i<count($d_decide);$i++) { echo $i; echo $d_decide{$i}; echo $_POST[d_decide]{$i}; echo "<br>"; } … これで表示されません。 何とか解決する方法を教えてください。

    • 締切済み
    • PHP
  • phpの値の受け渡し方法について

    b.phpの <dl> <form action='a.php' method='post'> <dt>生年月日</dt> <dd> <select name="Y"> <?php $start = 1920; //始まりの年 $end = 2020; //終わりの年 $select = 2000; //最初に選択された状態で表示したい年 for ($i=$start;$i<=$end;$i++){ if($i==$select){ echo "<option value=\"$i\" selected=\"selected\">$i</option>\n"; }else{ echo "<option value=\"$i\">$i</option>\n"; } } ?> </select> 年 <select name="M"> <?php for ($i=1;$i<=12;$i++){ echo "<option value=\"$i\">$i</option>\n"; } ?> </select> 月 <select name="D"> <?php for ($i=1;$i<=31;$i++){ echo "<option value=\"$i\">$i</option>\n"; } ?> </select> 日 </dd> </dl> <input type="submit" value="送信する" /> </form> というコードで取得した生年月日をa.phpに渡し、表示させます。 a.phpファイルで <?php print('誕生日は:' . ($_REQUEST['Y']. '年',ENT_QUOTES)); print(($_REQUEST['M']. '月',ENT_QUOTES)); print(($_REQUEST['D']. '日',ENT_QUOTES)); ?> と、コードを入力しましたら、 誕生日は:1985年1月31日 という値を受け取り、ブラウザ上で表示することはできたのですが、他のコードで表示する方法はないのかと考えております。 もし、他のコードで表示できる方法がありましたらぜひ教えてください。お願いします。

    • ベストアンサー
    • PHP
  • phpで次の場合なぜ3が表示されず、2までなんでし

    phpで次の場合なぜ3が表示されず、2までなんでしょうか? <?php for($i = 0; $i <= 4; $i ++){ if($i == 3) { break; } echo $i."\n"; } ?>

    • ベストアンサー
    • PHP
  • PHPで配列に格納されたデータを表示させるには。

    PHPで配列に格納されたデータを表示させるには。 全ての配列の要素を表示させることは下のようにすればできるのはわかります。 <?php for($i=0;$i<sizeof($data);$i++){ echo $data[$i]; echo "<br>"; } ?> 配列の0~9まで(10個)をまず表示させて、「次へ」のようなリンクで次の10~19までを表示させるようにしたいのですが、どのようにすればよいのでしょうか。

    • ベストアンサー
    • PHP
  • フォームの値をまとめて取得する関数

    以下のようなフォームから値を取得するときに、(2)のような関数化したいと思っていますが、思うように取得できません。どこが問題かアドバイスください。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=sjis" /> <title>sample</title> </head> <body> <form action="" method="post"> 名前:<br /> <input type="text" name="name" size="30" value="" /><br /> コメント:<br /> <textarea name="comment" cols="30" rows="5"></textarea><br /> <br /> <input type="submit" value="登録する" /> </form> </body> </html> (1)問題なく表示できる <?php  foreach(${"_" . $_SERVER["REQUEST_METHOD"]} as $k=>$v) {   ${$k}=$v;  } echo "名前:$name<br>"; echo "コメント:$comment<br>"; ?> (2)表示できない? <?php function Request() {  foreach(${"_" . $_SERVER["REQUEST_METHOD"]} as $k=>$v) {   ${$k}=$v;  } } Request(); echo "名前:$name<br>"; echo "コメント:$comment<br>"; ?>

    • 締切済み
    • PHP