- 締切済み
formタグについてPHP
他でも質問しましたが、xamppはもともと練習に使うつもりでしたが、 現在はレンタルサーバーを使っているのでここで試したらどうかと 帰りの電車の中で考えました。 ※送るデーター <form acition="index.php"method="POST"> <p>氏名<input type="text" size="20" name="ad"></p> <input type="submit" value="送信"> </form> ※受け取るデーター index.php <?php echo$_POST['ad1']; echo$_POST['ad2']; ?> 質問1.上記に名前が書かれれば、サーバーに引き渡したデーターを ブラウザーに表示ができるのでしょうか? 質問2.echoはeachとは違うのでしょうか? 質問3.actionのところによくメールアドレスが入っていたりするような気がします。 メールアドレスでも受け取れるのでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- agunuz
- ベストアンサー率65% (288/438)
>この件に関しては修正してまたアップしたのです。 >間違えたと思ったのです。 今現在、まだ修正されていませんよね? いずれにしても、http://sen.jeez.jp/2.php が404エラーになっている現状では(正しい場所にphpスクリプトがアップロードされていない)どうしようもありません。phpスクリプトが動くとかどうとか以前の問題です。「htmlファイルやCSSファイル、画像ファイルを正しくアップロード出来る」のは最低限のスキルです。これが出来ないうちにphpスクリプトを書いても何の意味もないです。
- agunuz
- ベストアンサー率65% (288/438)
>これがindexファイルです > ><form action="2.php" method="POST"> 本当にそう書かれたんでしょうか?ブラウザに返っているソースでは <form action="sen.jeez.jp/2.php" method="POST"> となっています。なのでPOST先が「http://sen.jeez.jp/sen.jeez.jp/2.php」になってしまうので404エラーになります。 書くとすれば <form action="2.php" method="POST"> か <form action="http://sen.jeez.jp/2.php" method="POST"> のどちらかなんですけどね(php云々の前にhtmlを学んでください)。 まぁ、http://sen.jeez.jp/2.php も存在していないみたいなので「置く場所を間違っている」か「ファイル名を間違っている」というのもあるでしょうけど。 (蛇足) phpを使う予定ならSJISを使うのはやめましょう。utf-8を使うべきです。真っ当に動作させるのに余計な苦労をします。
補足
><form action="sen.jeez.jp/2.php" method="POST"> この件に関しては修正してまたアップしたのです。 間違えたと思ったのです。
- agunuz
- ベストアンサー率65% (288/438)
>平たく言うと、formに書かれた内容が受け取れる練習をしたいんです。 はい。存分にどうぞ。 <form action=受けとるphpスクリプト" method="post"> <!-- input要素やselect要素などをここに記述 --> </form> とform要素を書いたなら、とりあえず受け取り側のスクリプトで <pre> <?php var_dump($_POST); ?> </pre> としておいて、form要素の内側(input要素など)をいろいろ変更して、どういう内容が受けとれるのかを試せばいいと思います。
補足
やったんすけど http://sen.jeez.jp/ これ一応アップしていると思います。 これがindexファイルです <form action="2.php" method="POST"> <p>氏名<input type="text" size="20" name="ad1"></p> <p>住所<input type="text" size="20" name="ad2"></p> <p><input type="submit" value="送信"> <input type="reset" value="リセット"></p> </form> </body> 2.phpは <body> <?php print"試験"; print$_POST["ad1"]; print"様"; print$_POST["ad2"]; ?> </body> と書きました。 しかし送信しても Not Found The requested URL /2.php was not found on this server. となります。
- agunuz
- ベストアンサー率65% (288/438)
input要素のname属性値が "ad" なのに、受け取った側では $_POST['ad1']、$_POST['ad2'] になっているのはどういうことですかねぇ・・・ >質問1.上記に名前が書かれれば、サーバーに引き渡したデーターを >ブラウザーに表示ができるのでしょうか? サーバ側のphpスクリプトが「POSTされたデータを出力する(ブラウザに返す)」ので、それはブラウザに表示されるハズですよね。 帰りの電車の中でなく帰宅してからPCで実行して試してください。当然、ローカルのデバッグ環境(=xampp)は必要ですね。こんなものをいちいちレンタルサーバでやっていたら効率悪いです。 >質問2.echoはeachとは違うのでしょうか? 全然意味が違いますが・・・。echo と print を取り違えるならわかりますが、何故each? 帰宅してマニュアルをよく読んでくださいwww http://www.php.net/manual/ja/function.echo.php http://www.php.net/manual/ja/function.each.php >質問3.actionのところによくメールアドレスが入っていたりするような気がします。 >メールアドレスでも受け取れるのでしょうか? mailtoスキームを書くことは出来ます。ブラウザの動作として「メーラを起動させる」だけなので、デフォルトのメーラが未設定の環境では動きません。動作は不確定です。ましてユーザが(メーラが起動したとしても)送信ボタンを押してくれるかどうかはわかりません。
補足
平たく言うと、formに書かれた内容が受け取れる練習をしたいんです。
補足
>今現在、まだ修正されていませんよね? どうなんでしょうか?色々やってはいますが回答時とは違うもんでアップしたり 自分で解決しようとはしてますが、結局は上手く言ってないですね。 ところでアドバイスでないなら回答はいいです。