<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でかこっても
真っ白い画面になってます。
エラーではないんですが、何故なんでしょうか?
すいません。今日からphpの勉強に入った者です。
A 回答 (11件中1~10件)
- 最新から表示
- 回答順に表示
No.11
- 回答日時:
>Parse error: syntax error, unexpected '$_POST' (T_VARIABLE) in C:\xampp\htdocs\9.php on line 26
parse error → 文法のエラー
on line 26 → コードの26行目あたりにエラーの原因があります
ということなんですね。
だからコードの26行目を書いていただくのが速いんですけど。。
今回はおおかた
<?php
echo $_POST['ad1'];
?>
のechoの前に全角スペースが入ってるとかじゃないですか?
本のほうで、「ああああああああ」のように
送信した内容を表示させる部分にどのようなphpコードが記述されているか
確認してみて下さい。僕の書いた内容でも表示は出来るんですけど。
9.phpになにも記述せずに、6.phpから送信した内容が
9.phpから表示されることはありえないので。
手紙だけ受け取って開封していない、みたいなもんですからね。
この回答への補足
すいません。度重なるご無礼とご指導><
できました。
echoの前に全角スペースが入ってるとかじゃないですか?
これでした。
それと本で<?php
echo $_POST['ad1'];
?>
はやはり書くようです。
なんだかこの本ばらばらに書いてあってわかりにくいです。
ですが一転
<?php
print"ようこそ";
print$_POSTS["ad1"];
print"様";
?>
と書いたのですが、様がでてきませんでした。
?なんでしょうかね^^
No.10
- 回答日時:
OKです。
質問者さんがPHPで情報を送る仕組みについて勘違いしていることがわかりました。
サーバーだなんだの説明はこの際省きます。
まず、9.phpには6.phpから送信された情報を受け取って
表示させるコードを書かなければだめです。
現状だと、いくらformから9.phpに情報を送っても、
9.phpのほうでその情報を活用する手続きが書かれていない状態です、
9.phpには<form>~</form>もいりません。
代わりに、次のように書いてください。
<?php
echo $_POST['ad1'];
?>
この$_POST['○○']というのは、
nameが◯◯のinput要素から送信されたデータ、
という意味だと思ってひとまず大丈夫です。
この場合はname="ad1"のテキストボックスから9.phpに
入力内容を送信するので、
9.phpのほうで$_POST['ad1']と書いて入力内容を表示させるわけです。
この回答への補足
しかしですね、本では
<?php
echo $_POST['ad1'];
?>
とは書いてないのですが、でたエラーが
Parse error: syntax error, unexpected '$_POST' (T_VARIABLE) in C:\xampp\htdocs\9.php on line 26
とでてます。
そこで本にデバックとあり
C:\xampp\htdocs\9.phpと26という部分が太字になっています。
本では、ここがエラーの要因であるとなってます。
テキストボックスの中に書かれた字を
9に送った際、ああああああああああと書いた場合
画面にああああああああああとでないと本通りではないようなわけです。
No.9
- 回答日時:
>ファイルはあるんですよ。
でもテキストに入れた文字を送るという事が>PHPの技術?なんじゃないんすかね。
データを送るのはhtmlとhttpの仕組みです。送るのはブラウザで、受けとるのが(サーバで動作する)phpスクリプトです。で、phpスクリプトで受けとるのには $_POST というスーパーグローバル変数を使います。
#あまりに基礎の話なので、ここから説明するのは時間の無駄な気が・・・
http://www.php.net/manual/ja/reserved.variables. …
↑ これを読んで理解できないなら、まだphpスクリプトを書いてはいけません。
ごく簡略化して
【form.html】
<form action="test.php" method="post">
POSTするデータ:<input type="text" name="dataname" />
<input type="submit" />
</form>
【test.php】
<?php
if (isset($_POST['dataname'])) {
print htmlspecialchars($_POST['dataname'], ENT_QUOTES, 'sjis') . " がPOSTされました";
} else {
print "データがPOSTされていません";
}
これだけのファイルで試してください。文字セットはsjisで。本当はutf-8推奨ですが、メモ帳で作成されると面倒なので(汗
No.8
- 回答日時:
いちど6.phpというファイルをメモ帳で開いて、
その中身を全部コピペしてここに書いてもらえますか?
できれば9.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>
が6なんですよ。
それで
<p><input type="text" size="20px" name="ad1"></p>
<p><input type="submit" value="送信"></p>
<?php
print"ようこそ"
?>
の部分がないのが9です。これ以上の書き方はできないです。
これ以外書いてないですから。
No.7
- 回答日時:
>じゃあ、自分の考えている事と違う展開になっているという事なんでしょうか?
→ですから、この「自分の考えている事」というのは具体的になんですか?
送信ボタンを押したらページが変わって、
テキストボックスに入力した内容が表示されることですか?
それとも、送信ボタンを押したら9.phpというファイルに
直接入力内容が書き込まれることですか?
送信ボタンを押したら9.phpというファイルの内容が直接書き換わって、
ブラウザから9.phpを開くことでそれが直接表示される、というような動作は基本的にはしませんよ。
そういう処理の流れを想像しているなら完全に勘違いです。
>実際ですけど、テキストの文面を送るというのはPHPでできるんでしょうか?
→この場合だとテキストではなくテキストボックスのほうが正しい言い方ですけれども、
テキストボックスに入力した文面をサーバに送信すること、という意味でなら可能です。
この回答への補足
>→この場合だとテキストではなくテキストボックスのほうが正しい言い方ですけれども、
テキストボックスに入力した文面をサーバに送信すること、という意味でなら可能です。
これに関しては失礼しました。
一応色々ためしてみたんですが、
ようこそ
Notice: Undefined variable: _post in C:\xampp\htdocs\6.php on line 35
様
なる部分が展開的には6というページを開くとでてくるのですが
actionのところにはつまりactionとは送付先だと思うんですが
変化がないんですよ。ならこれは一体なんの意味があるのかが、
本の趣旨がわからないわけです。
余談ですがテキストボックスに書かれた例えば、名前とかは
簡単に9というファイルに6に書いたものを9に移す事は簡単にできるもんなんでしょうか?
※適切じゃないかもしれませんが、つまり内容を違うファイルにつまり
6で”あ”とかいたら9を開いたら”あ”と出てくるみたいな感じです。
No.6
- 回答日時:
#「サーバーサイドプログラムの仕組み」を理解して
#いないんだろうとしか思えません。
form要素でPOSTしたデータは、phpスクリプトに送られるだけです(phpスクリプトでは、$_POSTなどに格納されて利用出来る)。
勝手に 9 というファイルが出来上がったりはしませんww
>テキストの中に入った字を9というファイルに
>転送したいんです。
9 という名前のファイルに転送したければ、form要素のaction属性に指定している(つまりformデータを受け取る)9.php というphpスクリプトで
<?php
file_put_contents('9', $_GET['ad1']);
echo "9 に保存しました";
?>
とでもしないといけませんが、そういうことをする意味は何もないです(毎回上書きされるなんて作り方はあり得ない)。まして「9.php が存在する(受け取ったデータを適切に処理する)」ことが大前提です。
まずは受け取った(formから送られた)データを表示でもして確認するのが先です。
この回答への補足
>勝手に 9 というファイルが出来上がったりはしませんww
ファイルはあるんですよ。でもテキストに入れた文字を送るという事が
PHPの技術?なんじゃないんすかね。
まだ一日目とかなんで解りませんけど。
No.5
- 回答日時:
補足を読んだ上で、
質問者さんが現時点でどういう状態に持って行きたいのかが
(画面がどういう表示になれば成功なのかが)
まったくわからないので、まずそこを整理することでしょうか。。
それがわからないままであれば、いくら実践してもしょうがないかと。
ちなみにformのactionを9.phpに指定していて、
9.phpにあらかじめなにも記述していないのであれば
現時点で送信ボタンを押しても画面は真っ白になるだけです。
この回答への補足
>現時点で送信ボタンを押しても画面は真っ白になるだけです。
じゃあ、自分の考えている事と違う展開になっているという事なんでしょうか?
実際ですけど、テキストの文面を送るというのはPHPでできるんでしょうか?
No.4
- 回答日時:
質問者の意図がわからないのでもうちょっと詳しく書くことにしました。
・送信ボタンをクリックしたら9.phpというページにジャンプして、
その画面でad1というテキストボックスに入力した文字を表示させたい場合
→9.phpをテキストエディタで開いて
<?php echo $_POST['ad1']?>と記入して保存。
・送信ボタンをクリックした時に、9.phpというファイルの中身自体を書き換えたい場合
→ひとまずは9.phpじゃなくて9.txtの形式のほうがいいような。。
ファイルの形式を変更したらプロパティのセキュリティから書き込みの許可を設定(ググってください)
→<form action="9.php" method="POST">を次のように書き換え
<form action="" method="POST">
→次に自分自身で受け取った値($_POST['ad1'])を9.txtに書き込む処理を追加
以下を入力欄のあるphpファイルの一番上に書き込み
<?php
if(isset($_POST['ad1'])){
$file = "9.txt";
$crr = file_get_contents($file);
$crr .= $_POST['ad1']."\n";
file_put_contents($file, $crr);
}
?>
→ここまでやって実際に送信したら9.txtを開いて送信内容が書き込まれているか確認
これでどうですか?だめですか?
この回答への補足
明日実践してみようと思いますが、
たぶん本のながれから例えば、
申し込み用紙とかをテキストに入力しますよね。
その内容を送信して受け取り側が見れるようにするというのが
これからの展開だと思うのです。
こうのうなかは解りませんが、こういう事をPHPではできるという事なんでしょうか?
No.3
- 回答日時:
9.phpのファイルをテキストエディタで開き、
以下のコードを書いて(コピペでいいです)上書き保存してください。
<?php echo $_POST['ad1']?>
これで表示されないなら、XAMPPを入れていないなど、
環境の設定をそもそもしていない可能性がありますね。
No.2
- 回答日時:
>しかし、転送に失敗したのか字がでてこないのです
いや、ですから 9.php というスクリプトはどういうソースなのですか?
<?php
print $_POST['ad1'];
?>
だけのスクリプトということでしょうか?
<?php
var_dump($_POST);
?>
ではどうなりますか?
この回答への補足
><?php
print $_POST['ad1'];
?>
ではなくてですね。
テキストの中に入った字を9というファイルに
転送したいんです。
つまり9は空なんです。
もしかして、本が意図している事と僕は違う事をやっているのかな?
でも、後にアンケートを作るらしいのです。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別ファイルの変数を呼び出した...
-
include先でのinclude元の変数...
-
phpinfo.phpを開くとファイルの...
-
別PHPファイルに変数を渡す
-
シェルスクリプトからphpファイ...
-
MySQLの配置が変わったため、db...
-
ワードプレスの編集でphpファイ...
-
PHPのWARNINGをcatchするには
-
フォントの色を変えるには?
-
phpでPEAR::DBを使っているので...
-
onedrive にexcelファイルをア...
-
PHPのif文でその処理を途中で抜...
-
バッチを用いたフォルダの自動移動
-
現在位置より2つ上のディレク...
-
CSV出力にHTMLが入ってしまう
-
「クラス関数」「メンバ関数」...
-
phpでメール送信できません 原...
-
one drive のアップロード失敗...
-
さくらサーバーにて、phpからメ...
-
index.phpに入るには、どうすれ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの変数を呼び出した...
-
別PHPファイルに変数を渡す
-
シェルスクリプトからphpファイ...
-
phpのソースコードが、そのまま...
-
MySQLの配置が変わったため、db...
-
入力フォームの空白や改行を制...
-
DreamweaverMX2004で挿入するFl...
-
include先でのinclude元の変数...
-
.phpのファイルを開けない!
-
拡張子なしのファイルを稼働さ...
-
他人にphpファイルをダウンロー...
-
phpinfo.phpを開くとファイルの...
-
ファイルのダウンロードが始ま...
-
#!/usr/local/bin/phpはどこに...
-
PHPファイルを.html拡張子で動...
-
拡張子php画像をbmp画像等に変...
-
Javascriptで解凍のコマンドは...
-
crontabでPHPスクリプトが実行...
-
PHPから別なPHPへ移動(?)する方法
-
連続投稿対策
おすすめ情報