質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

4回答

6144閲覧

【初心者】$_POSTで配列に値が入らないくてフォームがうまくいかない

K_9301

総合スコア69

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/04/26 00:48

初心者の質問で大変恐縮なのですが教えて下さい。。

●やろうとしてること

単純に以下です。
1,フォーム入力 index.html
2,入力内容を表示 conf.php

●コード

index.html

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>フォームを作る</title> </head> <body> <form method="post" action="conf.php"> 名前<input type="text" name="name"><br> <input type="submit" value="送信"> </form> </body> </html>

conf.php

<?php echo $_POST['name'];

●課題
phpに遷移するとUndefined indexとなります。
if (isset($_POST['name'])){}でやると、nameには値が入ってないということで
処理が実行されません

どこが問題かご指摘いただけないでしょうか。。

よろしくお願い申し上げます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

サーバ側とcontent-Typeが違うと読み取れない事があるそうです。
その時の調べ方はphp://inputを読み取るのだそうで。
conf.php

<?php $fp = fopen("php://input", 'r'); $a = fread($fp,1000); echo $a;

これで何も出なかったらプログラム側は間違いないと思われるので、サーバ側に文句いってはどうでしょうか。

投稿2016/04/26 05:04

pochi0701

総合スコア210

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K_9301

2016/04/26 08:19

ありがとうございます。ただやはり何もならなかったのでサーバ側にも確認とってみます!
guest

0

<input type="text" name="name" value="">

の問題だったような…

違ったかな…

投稿2016/04/26 04:27

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K_9301

2016/04/26 08:21

いろいろ正しいソースをコピぺしてトライしたのですがうまくいかず。。 もう少し調べてみます
guest

0

何かが間違っているんでしょうが、そのソースだけでは判断できないですね。
どんな環境でテストしておられるか分かるとヒントがありそうです。

また、

PHP

1<?php 2var_dump($_POST); 3```として、$_POSTに値が入っているか確認してみてください。

投稿2016/04/26 03:16

shi_ue

総合スコア4437

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K_9301

2016/04/26 08:21

var_dumpしてみると、array(0) { }がかえってきてました。やはり中身はからのようです。。 環境については ・xampを使って、テスト的にフォームを作ってます。 ・PCはmacで、OSは10.10.5yosemiteです。 ・ブラウザはchrome のような感じです、、、
guest

0

ベストアンサー

問題なく動くはずなんですけど..不可解ですねぇ...
index.htmlconf.phpは同じディレクトリにあって
submitをクリックでページ移管しているって事で間違いないですか?

直接conf.phpにアクセスした場合は
Undefined index: name in
になってしまいます。

投稿2016/04/26 01:02

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K_9301

2016/04/26 08:22

はい、同じディレクトリに置きsubmitをトリガーにページ遷移してます。URL自体は正しく変更されてますので。。もうすこし調べてみます
K_9301

2016/04/26 08:23

まだ未解決ですが、一番早くコメントをいただきましたのでBAにさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問