前提・実現したいこと
フォームデータを正常に送信させ、入力されたデータを確認したいです。
はじめまして。3日前にphpを学び始めた初心者です。
フォームを作るにあたり、phpの勉強を始めた次第です
Webサーバーにアップロードする前に、ローカルサーバーでフォームのデータがきちんと送信されているか、データは確認できるのかを試していたのですが、フォームに入力し、送信を押すと真っ白な画面に。。。
ネット色々調べていると「Webサーバーにアップしないとphpは動作しないので、まずはアップロードをする」ということだったので、Webサーバーにアップロードしましたが結果は同じく真っ白でした。
また、トップページ「index.html」をphpファイルがある同じ「/xampp/htdocs/php」の階層に入れているので、ローカルホストでphpを開こうとしても「index.html」が立ち上がり確認することができません。
・フォームに入力されたデータはきちんと送信できているのかの確認
・送信されたデータの内容の確認
上記2点を確認する方法を教えて頂けると幸いです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
誤解がありますね、
「Webサーバーにアップしないとphpは動作しないので、まずはアップロードをする」
のではなく、
「Webサーバープログラム上でアクセスしないとphpは動作しないので、まずはドキュメントルート上に置く」
とでも言い換えればいいのかな。
WindowsでXAMPPを入れたのなら、
C:\xampp\htdocs
というのがドキュメントルートにあたるので、
XAMPP Control Panel上でApacheの動作状況を確認。
Apacheの右横にPID(s)に数字があり、
Port(s)に数字があれば、
Port(s)の左側がHTTPポート番号。
そこに書いたphpファイルを置けば
http://localhost:ポート番号/~.php
とでもかけばwebブラウザで結果を観られます。
HTTPポート番号は一般的に80番なので、
Port(s)の表示が80,443であれば省略可能。
http://localhost/~.php
真っ白画面になるのは、実行時エラーが発生しているケースで、
phpをデバッグに向いた動作方法に導く必要があります。
C:\xampp\php\php.ini
をテキストエディタで開いて、
display_errors=OFF
から
display_errors=ON
に変更。
error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT
から
error_reporting=E_ALL
に変更。
iniファイル上では行頭に「;」があるとコメント行として無視されることに注意。
php.iniを保存してからApacheを再起動。←忘れずに。
また、XAMPPなら
C:\xampp\apache\logs
というフォルダに
error.log
というファイルがあるので、エラーメッセージが記録されているか確認すること。
投稿2018/11/23 06:18
編集2018/11/23 06:25退会済みユーザー
総合スコア0
0
ベストアンサー
「ローカルサーバー」は例えばXAMPPなどを入れられているということでしょうか(MacならMAMP)
であればそれはローカル上の「Webサーバー」ですので、動作確認をしたいだけしたら特にWebサーバーレンタルの必要はありません。
WWWに公開したい場合には必要になるものです。
フォームデータの送信もローカルサーバーであっても関係なく動作は確認できますし、ファイル送信もできます。
PHP学習で3日でローカルサーバーという言葉が出ていることから単純にPHPを動作させられる環境はあり、
Hello Worldをechoまたはprintで出力するくらいはできているのですよね。
でした、そこからはデバッグです。
「画面が真っ白」はPHP側で、例えば構文エラーなどがあって処理が中断している状態です。(または何もechoしてない)
まずはエラー表示をOnにしてください。(その場ですぐ確認したいならphpコード内にini_set()書いてください)
エラーが起きていて中断しているのでしたらこれでエラーが表示されるはずです。
と、現在の提示内容で言えることはここまでです。
PHPのファイル名もコードも提示されていないので現在の状態に合うこれ以上の解決案の提示は難しいです。
単にPHPの動作確認したいのであればindex.PHPじゃなくても他の名前の.phpにしてアクセスすれば良いだけですが、「ローカルホストでphpを開こうと」というのも具体的にどのような操作をしているのか私のほうでは理解できませんでした。
・フォームに入力されたデータはきちんと送信できているのかの確認
・送信されたデータの内容の確認
上記だけでしたら、formタグのactionに指定されたPHPファイルURLの冒頭で下記を入れればとりあえず確認はできます(エラー回避などは考慮してません)
php
1var_dump($_POST);
もちろん、「画面真っ白」ということはこのコードを実行する以前の問題なので、まずは現在の状況を打破してから考えてください。
コメントを受けての追記
複数条件したい場合は「且つ」か「または」で書きかたが変わります。
「and条件」「or条件」ですね。今回はおそらく「and条件」なので、&&でつなぎます。
php
1<?php 2ini_set('display_errors', 1); 3if (isset($_POST["name"]) && isset($_POST["email"]) && isset($_POST["message"])){ 4 echo htmlspecialchars($_POST["name"]); 5 echo htmlspecialchars($_POST["email"]); 6 echo htmlspecialchars($_POST["message"]); 7}
PHPマニュアル参考:
蛇足:
いわゆる「テキストエディタ」よりも実行前に文法チェックなど行ってくれる、
また、文書フォーマット機能もある「IDE」導入をつよくすすめます。
それだけで今回のようなミスに悩むことがなくなります。
私はひとまずEclipseが多いですね。
投稿2018/11/23 06:03
編集2018/11/23 11:22総合スコア80850
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/23 11:10
2018/11/23 11:12
2018/11/24 03:28
2018/11/24 05:03
2018/11/25 03:21
2018/11/25 04:40
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/23 10:50
退会済みユーザー
2018/11/23 12:17