• 締切済み

どのように指定したらいいの?

PHPフォームの「form action」の記述についてですが、 次のページで入力結果を出力したい場合はどうすればいいのでしょうか? <?php echo $_SERVER["PHP_SELF"]; ?> $_SERVER["PHP_SELF"]、とした場合、 データ出力のファイル名はどうすればいいんでしょうか? <form action="hoge.php3"~略>のように指定してしまえば、 出力先のファイル名は「hoge.php」でいいと思うのですが…。 初めてフォームをPHPで作るので本を読んでも良く分かりません;; よければ教えてくださると助かります!; よろしくお願いします!!

みんなの回答

  • kami-san
  • ベストアンサー率100% (1/1)
回答No.2

<form action=<?php echo $_SERVER["PHP_SELF"]; ?>> の指定の場合には、自分のphp名が戻りますので、下記のように POSTかGETか指定して送信してやり、普通に受けてやればいいと思います。 <form method="post" action=$_SERVER[PHP_SELF]> 受け取り名が指定されているので有れば、ファイル名を 変えてやれば、その受け取り名になります。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

回答出てますね。 <form action="hoge.php">で良いです。 action属性で飛ばしたいURLを指定します。

noname#51801
質問者

補足

いえ、<form action=<?php echo $_SERVER["PHP_SELF"]; ?>> じゃないとダメなんです;;>課題なので それのみ指定の場合にはどうしたらいいんでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • セキュリティについて

    プログラムど素人です いくつか質問させてください 自分自身に対してpostやgetする場合、セキュリティは大丈夫でしょうか?$_SERVER['PHP_SELF']を使うと危ないときいたので気になっています 下記の場合はどうですか?自分自身にポストする場合はファイル名で指定しても大丈夫ですか?(hoge.phpは自分自身) <form method="post" action="<?php echo hoge.php ; ?>"> getで自分自身に送るときはファイル名で大丈夫でしょうか? header("Location: hoge.php?msg={$msg}"); もう一つ、フォームの送信ボタンをjavascriptのdocument.writeで表示してもセキュリティ的に問題ないでしょうか?(変なロボットがくるのでその対策です。javascriptはよみこんでないようなので) document.write('<input type="submit" value="書き込む" />'); よろしくお願いします

    • ベストアンサー
    • PHP
  • PHP_SELFについて

    お世話になります。 <form method=post action=   >のACTIONの記述に、 1)$PHP_SELF 2){$_SERVER['PHP_SELF']} という記述をフリー配布のPHP内によく見かけるのですが、 これの違いは何でしょうか? 教えて下さい。

    • ベストアンサー
    • PHP
  • フォームから受け取ったデータを変数に/PHP

    入力フォームからデータを送信し、受け取ります。 <form action="index.php" method="post"> <input type="text" name="hoge"> <input type="submit"> </form> <?php echo htmlspecialchars($_POST['hoge']); ?> この時に受けったデータが、「りんご」だとして この「りんご」を変数にしたいです。 ↓ <?php $keyword = "りんご"; ?> このようにするには、 <form action="index.php" method="post"> <input type="text" name="hoge"> <input type="submit"> </form> <?php echo htmlspecialchars($_POST['hoge']); ?> の後にどのような処理をすればよいでしょうか? または初めから「$keyword」としてフォームからデータを送ることはできるのでしょうか? 何卒ご指導の程よろしくお願いします。

    • ベストアンサー
    • PHP
  • <input type="hidden" >で配列(複数の要素)を渡したいとき?

    こんにちわ, 今HTML+PHPで $hoge[]にいくつかの要素が入っているとき, それをあるfoo.phpというページに渡したいとき, echo '<form action="foo.php" method="POST">'; echo '<input type="hidden" name="$hoge[]" >'; echo '</form>'; としたのですが,うまくいきません。 どうしたらよろしいでしょうか。

    • ベストアンサー
    • PHP
  • 再帰処理で変数が戻ってきません

    下記プログラムで$viewdataの値が再帰処理時にうまく渡されません。 $actionのregistは渡されるのですが、なぜでしょうか? <html> <head></head> <?php $data_file="new_bbs.log";//ログファイル if(!isset($PHP_SELF)){$PHP_SELF=$_SERVER["SCRIPT_NAME"];} if(!isset($action)){$action=$_POST['action'];} if(!isset($viewdata)){$viewdata=$_POST['viewdata'];} ?> <body> ■TEST<br> <FORM ACTION="<?php echo $PHP_SELF; ?>" METHOD="POST" ENCTYPE="multipart/form-data" style="margin: 0px;"> <INPUT TYPE="HIDDEN" NAME="action" VALUE="regist"> <INPUT TYPE='SUBMIT' VALUE='---UP---'> <?php if($action != "regist"){ $viewdata= file_get_contents( $data_file );//ログファイルのデータ読込 echo "<br>データ:".$viewdata; }else{ echo "再帰データ:".$viewdata; } ?> </FORM> </body> </html>

    • ベストアンサー
    • PHP
  • 使い方

    print "<form action=\"".$_SERVER["PHP_SELF"]."?mode=henko\" method=\"post\"><input type=\"image\" src=\"henko.gif\"></form>\n"; 上記の記述ではactionでform action=\"".$_SERVER["PHP_SELF"]."?mode=henko\"に飛ばしますが、そのときsessionで先に登録している変数にdataが入るのでしょうか? sessionに変数を登録するには<input type="hidden" name="action" value="submitted">とかの動きが必要ですよね? 又、form action=\"".$_SERVER["PHP_SELF"]."?mode=henko\" の$_SERVER["PHP_SELF"]."?mode=henko\はどういう動きをするのでしょうか? ?mode=henkoとは何を意味するのですか?

    • ベストアンサー
    • PHP
  • cakePHPのrouteについて

    現在、cakePHPを使って、プログラムを行っているのですが、 その場合単純に'/'とする場合のみ、routeで実行できるのですが、 formからsubmitボタンが押されたとき、route.phpの名前を見て処理を実行させることができません。 formは、 <form action="<?php echo h($html->url('/blog/view')) ?>" method="post" style="margin-bottom:1em"> <p><?php echo $html->input('Task/content') ?> <?php echo $form->submit("TEst", array("action" => "sample", "type" => "post")) ?> </form> として記述しています。 route.phpには、 Router::connect('/blog/:action', array('controller' => 'top', 'action' => 'cake', 'home')); と記述しています。 考え方'/blog/:action'が、blog(コントローラー名)、actionがfunction action名() {} なので、formから、blogコントローラーのviewアクションを実行するように指示を出し、 本来ならその手順に従い画面が表示される。 なのですが、 Object not found! 要求された URL は本サーバでは見つかりませんでした。 もし手入力で URL を入力した場合は、綴りを確認して再度お試し下さい。 サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください。 Error 404 と表示される。 この場合の対策はどうすべきなのでしょうか? つまり、formアクションで渡された引数をroute.phpのroute:connect()の指示の通りに実行し、画面を表示させたい。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 複数のドロップダウンリストを連携するには?

    PHP+MySQLで作成しています。 hoge.phpでデータ処理を行い、hoge.htmlでhoge.phpをrequireしています。 このサイトの新規質問投稿フォーム(http://okwave.jp/oshiete_new.php3)の「投稿カテゴリー」のようなものを作りたいと思っています。 onChangeとdocument.hoge.submit()を使うところまではわかりましたが、以下のことについて教えてください。 <Q1> ドロップダウンリストのデータは、DBから取得します。 カテゴリーを選択した後、そのデータはどのように保持すればいいのでしょうか? 二つ目のドロップダウンリストを選択すると、一つ目のドロップダウンリストがリセットされます。 <Q2> <form name="all" action="entry.php> //フォーム全体 <input type="text" name="onamae"> //名前 <input type="text" name="email"> //E-Mail <form name="dd1" action="$PHP_SELF></form> //一つ目のドロップダウンリスト <form name="dd2" action="$PHP_SELF></form> //二つ目のドロップダウンリスト <form name="dd3" action="$PHP_SELF></form> //三つ目のドロップダウンリスト <textarea></textarea> //コメント欄 <input type="submit" value="送信"> </form> 上記のように<form>をネストできません。全データを送信するにはどのようにすればいいのでしょうか?

    • 締切済み
    • PHP
  • phpファイルの命令実行順番について

    いつも勉強させていただいております。 初歩的な質問になるかもしれませんが、回答いただければ幸いです。 現在PHPの学習をしております。 phpファイルに記載された命令がどのような順に実行されるのか、ということにたいして私なりの理解が正しいかどうか確認していただきたいのと、ソースについての質問をさせていただきたく思います。 以下、動作確認済みのサンプルソースです。 <html> <head> <title> 画像を保存 </title> </head> <body> <?php if(@$_POST["text1"]) { $width = 300; $height = 200; $fname = $_POST["text1"]; $img = imagecreate($width, $height); imagecolorallocate($img, 0, 255, 0); if(imagepng($img,$fname)) { echo "<p><a href=\"$fname\">作成されたファイル</a>"; } } ?> <form method="POST" action="<?php echo $_SERVER["PHP_SELF"]?>"> <table> <tr> <td> <input type="text" name="text1" value="test.png" > </td> <td> <input type="submit" value="作成" name="sub1" > </td> </tr> </table> </form> </body> </html> ”作成”ボタンを押すと、text.pngという画像ファイルをこのソースがあるフォルダ内に保存し、というだけの処理をするものです。 ・上記サンプルにおける、記述された命令の実行順について (1) <?php で囲まれている部分が動作する。 →最初は$_POSTに何も入っていないので、if条件は偽となり、何も動作しない。 (2) <form>から、</form>で囲まれている部分が動作する。 テキスト入力エリアや作成ボタンなどのイメージが完成する PHP_SELFを$_SERVERに指定しているので、この情報をこのファイル内の、<?php~で囲まれているところに渡す。 ここまでで画面表示が完了する。さらに作成ボタンを押したときの動作を続ける (3) <input type="text" name="text1" value="test.png" > 初期値として画面に表示したい値をvalueに指定する。 <input type="submit" value="作成" name="sub1" > ボタンに表示したい文字をvalueに指定する。 作成ボタンを押すことで、"text1"という名前とヒモづいたテキストエリアに書かれた情報がPOSTにより渡される。 このサンプルではtextひとつしかないが、他のラジオボタンなど全ての情報が作成ボタンを押すことにより、渡される。 これにより、$_POSTへnameに該当するものを指定すると、それにヒモづいた情報が取得できるようになる。 作成ボタンを押した後は、(1)に戻り、text1にヒモづく情報が見つかることにより、if条件内の処理が動作する。 この場合は「作成されたファイル」という文字がでてくる。 さらに(2)が動作し、「作成されたファイル」という文字の下にテキストエリアや作成ボタンが表示される。 質問 <form>内にあるactionへの設定ですが、"<?php echo $_SERVER["PHP_SELF"]?>"は決まり文句のようなもので、PHP_SELFのみ期待する動作に応じて変化する、という考え方でいいでしょうか? この記述は使用している参考書にあったものですが、googleなどで検索するとaction=ファイル名、となっているものもありました。なぜこのファイルではこのような書き方をしていて、他のものではファイル名をactionに設定しているのでしょうか? actionへ指定するものはどういったものを指定するものなのでしょうか? actionの使い方がよくわかりません。 お手数ですが、ご回答いただける方、よろしくお願いします。

    • ベストアンサー
    • PHP
  • フォームから'味'送信

    フォームから'味'という漢字を送信するとなぜか'?'と表示するんです。 でも、'味見'とか2文字以上だときちんと'味見'になります。 PHP(4.4.4)もMYSQL(4.0.17)もEUCJPで統一してあります。 ちなみに'味'ではなくて他の文字なら1文字でもキチンと表示します。 hoge.php ECHO $_POST['hoge_hoge']; ECHO "<FORM action=hoge.php method=POST>\n"; ECHO "<INPUT TYPE=text NAME=hoge_hoge value='味'>\n"; ECHO "<input type=submit value='検索'>\n"; どなたか原因と対処法をご存知ないでしょうか?

    • ベストアンサー
    • PHP