テキストボックスの内容を送信する事は成功しました。
しかし複数のテキストボックスはできませんでした。
<h1>PHPのテストです</h1>
<form action="9.php" method="POST">
<p><input type="text" size="20px" name="ad1"></p>
<p><input type="text" size="20px" name="ad2"></p>
<p><input type="submit" value="送信"></p>
<?php
print"ようこそ";
print$_POST["ad1"];
print$_POST["ad2"];
print"様";
?>
</form>
これは間違いでしょうか?
エラーもでてました
Notice: Undefined index: ad1 in C:\xampp\htdocs\6.php on line 37
Notice: Undefined index: ad2 in C:\xampp\htdocs\6.php on line 38
様
とでてます
すいません いつもいつも
入力された内容を受け取るという作業ができれば
なんとなく一応目標達成だとおもいます
No.10ベストアンサー
- 回答日時:
> つまりページをアップロードする際、こうしたアンケート用紙などは
> PHPファイルとしてつくりアップロードするという事になるのではないか?
> と思うのです。
「アンケート用紙」とはアンケート項目が書かれたフォームのあるページの事でいいでしょうか。
フォームに記入されたデータを受取るページはPHP等で書かれたプログラムで無ければ処理できません。
しかし、フォームの項目や選択肢が変化しないのであればHTMLで書いてフォームのaction先をPHPのファイルにすると送れます。
もし、アクセスしている人に合わせて項目が変化したり、名前などを予めフォームに記入された状態で表示したのであればフォームの表示自体をPHPで処理する必要があります。
> 今回の質問ではテキストボックスの送信は万事上手くいっておるんです。
> 質問としてはただの文字、例:おはようございます
> という字をテキストボックス以外で送る方法をお聞きしたいのです。
「おはようございます」をフォームで次のページへ送るという意味でしょうか?
であれば
<input type="hidden" name="hello" value="おはようございます">
でいいのではないですか。
これならフォームのデータを受け取ったページの$_POST{"hello"]に「おはようございます」が入ってきます。
もし、フォームに埋め込むのが嫌なのであればセッション機能を使って遷移先のページへデータを引き継ぐ事も出来ます。
> も一点、このやりかただと字が連続しでてしまって、みずらいです
> <br>か<¥n>などのことで段区切りみたいのはできないのでしょうか?
<?php
print "ようこそ<br>".$_POST["ad1"]."<br>".$_POST["ad2"]."<br>様";
?>
と<br>を改行したい場所でprintするだけす。
この回答への補足
>フォームのaction先をPHPのファイルにすると送れます。
でも送る際printとかの関数が必要ですよね。
でないと受け取り側がechoで取り込めませんし、
こういう場合はいいんでしょうか?
でもなんとなく送り先が特定できれば、文字が送れてるって事なんでしょうかね。
これが二番の話にもなりますが
print "ようこそ<br>".$_POST["ad1"]."<br>".$_POST["ad2"]."<br>様";
とそのまま貼り付けて実行しましたが、やはり様がでてこないんですよ。
なんでなんだろうと思います。
送り先ではテキストボックスだけがでてくる状態ですしどうも<br>もきいてなかったです
No.9
- 回答日時:
識別できないと言っているのは、HTML内での位置を指定してPHPからデータを出力できないと言う事でしょうか。
PHPはHTMLの好きな位置にプログラムを埋め込んで実行できる言語なので、HTML内でプログラムからデータを出力したい位置に echo や print 文で書き出すようにします。
例えば
<?php
$title = "PHPのテストです";
?>
<html>
<body>
<h1><?php print $title; ?></h1>
</body>
</html>
といった具合です。
プログラム内からDOMの位置を指定する必要はありません。
print $_POST["ad1"]; は <input type="text" size="20px" name="ad1"> のvalueをセットする命令ではありません。
あくまでもprint文が実行された位置に $_POST["ad1"] という配列変数の中身を出力しています。
このあたりを勘違いされているのでしょうか。
この回答への補足
しつこいようですいません
>単純なHTMLだけのページはHTMLだけでも問題ありません。
お聞きしたいのはそういう事ではなくでですね、例えばアンケートなんかは
PHPでないとその結果内容がこちらにわからなくて集計できませんよね。
でもそれはPHPファイルだからだきる事であって、HTMLのファイルではできな
いわけですね。
つまりページをアップロードする際、こうしたアンケート用紙などは
PHPファイルとしてつくりアップロードするという事になるのではないか?
と思うのです。
>「受け取り側echo」とは何の事を仰っているのでしょうか?
今回の質問ではテキストボックスの送信は万事上手くいっておるんです。
質問としてはただの文字、例:おはようございます
という字をテキストボックス以外で送る方法をお聞きしたいのです。
echo$_POST['ad1'];
これが受け取り手のプログラムですよね。
これはテキストボックスの事を指定してますよね。
でも様というただの字には識別する為の名前もありません。
だから送れないと思うのです。
名前の際、テクストボックスに○○その後ろに様なんてつけたい場合
これだとできない事になります。
も一点、このやりかただと字が連続しでてしまって、みずらいです
<br>か<¥n>などのことで段区切りみたいのはできないのでしょうか?
No.8
- 回答日時:
> 質問1 しかしですね、PHPを作動させるにはPHPのファイルでなければならないですよね。
> 例えば申込用紙を作る際、PHPで作らなければならないんでしょうか?
> 例えば、HTMLで作っておいて後にファイルをPHPに変えるとかにするんでしょうか?
プログラムによる処理が必要ない所はPHPである必要はありません。
単純なHTMLだけのページはHTMLだけでも問題ありません。
> 質問2 テキストボックスのやつではなく”様”にはそれを示す目印?みたいのが
> 無い為に、受け取り側echoにはなにも入らないのではないでしょうか?
「print "様";」は「様」という文字を出力しているだけです。
プログラマーが指定した文字を、その場所に書き出しているだけですので、特に目印は必要ないと思いますが。
「受け取り側echo」とは何の事を仰っているのでしょうか?
この回答への補足
>単純なHTMLだけのページはHTMLだけでも問題ありません。
でもですね、アップしているページはHTMLだとすると
PHPじゃないとその書き込んだ内容は受け取れないわけですよ。
print$_POST["ad1"];というプログラムが必要なわけで
これはPHPですよね。HTMLでないわけですよ。
>
「print "様";」は「様」という文字を出力しているだけです。
そうです。
つまり6→9に例えばファイルを送ろうとした場合
echo$_POST['ad1'];
となるわけで
様はべつに字なだけで、テキストボックスの中ではないので
識別できないと思うのです。
こういう場合javascriptの場合ノードでなく例えば
getElementByIdとかID属性でこれを指定するわけですけど
PHPでは文字だけを送るのはどうしたらよいでしょうか?
No.7
- 回答日時:
> 質問1.これはPHPファイルに書いてますよね。
> でも本来HTMLのテキストな訳ですよね。
> これはどういう事なんでしょうーか?
> ページとしてはPHPのファイルで実際HTML?
> どっちでやるもんなんでしょうーか?
PHPはプログラムがWebサーバ上で実行され、その結果がHTMLに埋め込まれてWebサーバから送られてきます。
ブラウザが受け取った時点ではHTMLデータとなっています。
JavaScriptだとプログラムごとブラウザが受け取り、ブラウザ上(閲覧者のPCサイト上)でプログラムを実行しますのでユーザーの操作を直接そのページに反映できますが、PHPは一旦サーバにデータを送ってサーバ上で処理をしてもらわないと結果が反映されません。
この辺りの、動作原理をちゃんと理解できていますでしょうか。
> 質問2.たぶんこれがここで躓いている要因のような気がします。
> テキストボックスには識別名が入ってます。
> これを送る。これはわかるんです。
> しかしprintの文字の部分には識別名がないですよね。
> あいてはつまり受け取るときにecho[識別名]で認識してますよね。
> たぶんみなさんがおっしゃりたい事と関係があるんではないでしょうか?
識別名と言っているのはinputタグのname属性のことでしょうか?
「print $_POST["ad1"];」という処理は、ブラウザからPOSTメソッドで送信されて来た、name属性が "ad1" のデータをprintするとい処理です。
ちゃんと識別名が入っていますよ。
この回答への補足
質問1 しかしですね、PHPを作動させるにはPHPのファイルでなければならないですよね。
例えば申込用紙を作る際、PHPで作らなければならないんでしょうか?
例えば、HTMLで作っておいて後にファイルをPHPに変えるとかにするんでしょうか?
質問2 テキストボックスのやつではなく”様”にはそれを示す目印?みたいのが
無い為に、受け取り側echoにはなにも入らないのではないでしょうか?
No.6
- 回答日時:
> 送信前という事です。
送信していないデータをプログラムは受け取ることはできません。
$_POST に入ってくるデータは、そのページを表示する前のページのフォームから送信されたデータになります。
この回答への補足
ちょっとこれまでの事で疑問が出てきました。
違う質問ですがやっぱりif関数は出てこなかったです。
そこで思った事ですが
質問1.これはPHPファイルに書いてますよね。
でも本来HTMLのテキストな訳ですよね。
これはどういう事なんでしょうーか?
ページとしてはPHPのファイルで実際HTML?
どっちでやるもんなんでしょうーか?
質問2.たぶんこれがここで躓いている要因のような気がします。
テキストボックスには識別名が入ってます。
これを送る。これはわかるんです。
しかしprintの文字の部分には識別名がないですよね。
あいてはつまり受け取るときにecho[識別名]で認識してますよね。
たぶんみなさんがおっしゃりたい事と関係があるんではないでしょうか?
No.5
- 回答日時:
> array(0) { } とでました。
と言う事は、フォームから何も送信されてきていないと言う事です。
そもそも、
<form action="9.php" method="POST">
と、フォームからの送信先は「9.php」で、エラーが出ているのは
Notice: Undefined index: ad1 in C:\xampp\htdocs\6.php on line 37
「6.php」とファイル名が異なっています。
エラーが出るのは送信ボタンを押した後の画面なんですか?
それとも送信ボタンを押す前ですか?
この回答への補足
いちおうテキストボックスの入力したのは成功したんですが、
テキストボックス以外と文字が連続してでて読みずらいですし、
エラーがでます。
送信前という事です。エラーがでるのは、
まあ送信自体に問題はなくなったのですが
エラーがでてるのがきになりますし、
テキストボックス以外の文字がおくれませんでした。
No.4
- 回答日時:
……んーと、ひょっとしてご呈示のプログラムってエラーメッセージからすると、
http://oshiete.goo.ne.jp/qa/8651711.html
の質問の 6.php の方に書いてますよね?
はっきり言います、6.php の内容は
<body>
<h1>PHPのテストです</h1>
<form action="9.php" method="POST">
<p><input type="text" size="20px" name="ad1"></p>
<p><input type="submit" value="送信"></p>
<?php
print"ようこそ"
?>
</form>
</body>
</html>
のままで変更しません。
そのかわり、9.php の方を
<body>
<h1>PHPのテストです</h1>
<?php
print "ようこそ";
print $_POST["ad1"];
print $_POST["ad2"];
print "様"; ?>
</body>
</html>
にしてください。
No.3
- 回答日時:
そもそも
>print"ようこそ";
>print$_POST["ad1"];
>print$_POST["ad2"];
>
>print"様";
この記述はPOSTされたときだけでいいハズですよね?
if ($_POST) {
print "ようこそ";
print $_POST["ad1"];
print $_POST["ad2"];
print "様";
}
というか、この表示をform要素の内側に書くセンスが理解できない。普通は(特に何も意識しなければ)</form>の後ろ(もしくは<form>の前)に書きますけどねぇ・・・
No.2
- 回答日時:
Noticeは通知とか警告という意味です。
(エラーではない)表示したくなければ、iniファイルで出力させないように設定するか、
if(is_set($_POST["ad1"])){
print $_POST["ad1"];
}
過去質問・・またはエラーそのままでぐぐりましょう・・
No.1
- 回答日時:
Undefined index: ad1 って言われてますから正しくPOSTされてきていませんね。
var_dump($_POST);
を実行してみて、意図した通りの名前と値でデータが送られてきているか確認しましょう。
この回答への補足
array(0) { } とでました。
array(0) { } ようこそ
Notice: Undefined index: ad1 in C:\xampp\htdocs\6.php on line 38
Notice: Undefined index: ad2 in C:\xampp\htdocs\6.php on line 39
様
という具合です
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「ソースコードは 左~右へと読...
-
書籍とその書籍が提供している...
-
vbYesNoの使い方
-
!==について
-
<A href ~で複数の値を渡したい
-
PHP SESSION変数を複数使用でき...
-
実行中の他のアプリのパスの取...
-
php 入力画面から確認表示画面...
-
wordの差し込み印刷で文字...
-
findstrのerrorlevel
-
セッションのスコープ(有効範...
-
バッチファイルでpingの結果を...
-
Yahoo! JAPAN IDを新規取得でき...
-
switch()文で値の大小比較
-
excel access連携 このテーブル...
-
VB6でDBからクリップボード経由...
-
ps3で久しぶりにCDの音楽情報取...
-
PHPを使って、別サイトの一部を...
-
RSS URL 取得 判定
-
VBS「開いているページ」のURL...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<A href ~で複数の値を渡したい
-
日付を基にした乱数生成
-
テーブルに送信ボタンをつける
-
「次の10件を表示する」のよ...
-
PHPでwait処理ってできます?
-
なぜエラーが出るのか分からな...
-
null代入とunset()の違いについて
-
PHPのif文「POSTしていな...
-
if (isset($_a)&&$_a)この意味は
-
microtime関数は、結構イイカゲ...
-
複合演算子につきまして!
-
POSTされたかどうか確かめる方...
-
アクセスキーについて
-
Luaにて、and or の組み合わせ...
-
$_SERVER["QUERY_STRING"]の仕...
-
PHPのGETパラメーターの検索値...
-
データ)表示件数について
-
「ソースコードは 左~右へと読...
-
vbYesNoの使い方
-
初歩的な質問だと思います。IF...
おすすめ情報