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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

1301閲覧

formのphpについての質問があります。phpが効かない原因がわかりません。よろしくお願いします。

reo_fukkase

総合スコア50

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

1グッド

0クリップ

投稿2020/03/13 07:48

編集2020/03/13 08:51

お問い合わせフォームを作りたく、下記のコードをかきました。
現在はまだサーバーには上げておらず、mampのローカル環境で作業しています。
送信を押しても、The requested URL /confirmation.php was not found on this server.という画面が表示されます。
ファイル名は、index.phpです。
よろしくお願いします。
form作成には、こちらのページを参考にしました。

php

1<?php 2if($_SERVER["REQUEST_METHOD"] !="POST"){ 3 $name=''; 4 $mail=''; 5 $inquiry=''; 6 $err_msg=''; 7 $complete_msg=''; 8}else{ 9 $name=$_POST['name']; 10 $mail=$_POST['mail']; 11 $inquiry=$_POST['inquiry']; 12 $err_msg=''; 13 $complete_msg=''; 14 if($name==''||$mail==''||$inquiry==''){ 15 $err_msg='全ての項目を入力してください。'; 16 } 17 if($err_msg==''){ 18 $to='test@test.com'; 19 $headers="From".$mail."\r\n"; 20 $inquiry="\r\n\r\n".$name; 21 md_send_mail($to,$inquiry,$headers); 22 $complete_msg='送信されました!'; 23 $name=''; 24 $mail=''; 25 $inquiry=''; 26 } 27} 28?> 29<!DOCTYPE html> 30<html> 31<head> 32 <meta charset="utf-8"> 33 <title></title> 34 <link rel="stylesheet" href="portfolio.css"> 35 <link href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" rel="stylesheet"> 36 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> 37</head> 38<body> 39 <section class="contact" id="contact"> 40 <h1>Contact</h1> 41 <?php if($err_msg!=''):?> 42 <div class="alert alert-danger"> 43 <?php echo $err_msg;?> 44 </div> 45 <?php endif;?> 46 <?php if($complete_msg!=''):?> 47 <div class="alert alert-success"> 48 <?php echo $complete_msg;?> 49 </div> 50 <?php endif;?> 51 <form action="confirmation.php" method="post"> 52 <p>名前:</p><br> 53 <input type="text" name="name" value="<?php echo $name;?>"> <br> 54 <p>メールアドレス:</p><br> 55 <input type="text" name="mail" value="<?php echo $mail;?>"><br> 56 <p>問い合わせ内容:</p><br> 57 <textarea name="inquiry"><?php echo $inquery;?></textarea> 58 <input class="submit" type="submit" value="送信"> 59 </form> 60 </section> 61 <script type="text/javascript" src="js/jQuery-3.4.1.min.js"></script> 62</body> 63</html>
s.k👍を押しています

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

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

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

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

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

m.ts10806

2020/03/13 07:55

なぜ、折角の参考先をコピペではなく手打ちするのでしょう。 PHPマニュアルを確認すれば解決することでもありますよ。
reo_fukkase

2020/03/13 09:40

phpの練習のために、参考サイトのコードの意味を考えつつ自分で入力していました。 ありがとうございました
guest

回答2

0

$_SEVERじゃなくて$_SERVERですよ。
$_SEVER["REQUEST_METHOD"]という未定義の変数を参照しているので、
それにぶら下がる処理が動いていません。

PHP: $_SERVER - Manual

わたしなら、こう書き換える。
なぜかっていうのをいちいち書くのもめんどくさいので、察してほしい。
興味を持ってPHPマニュアルなどあたってほしい。

php

1<?php 2 3$name = ''; 4$mail = ''; 5$inquiry = ''; 6$err_msg = ''; 7$complete_msg = ''; 8 9if ($_SERVER["REQUEST_METHOD"] === "POST") { 10 $name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING); 11 $mail = filter_input(INPUT_POST, 'mail', FILTER_VALIDATE_EMAIL); 12 $inquiry = filter_input(INPUT_POST, 'inquiry', FILTER_SANITIZE_STRING); 13 if (($name === '') || ($mail === '') || ($inquiry === '')) { 14 $err_msg = '全ての項目を入力してください。'; 15 } 16 if ($err_msg === '') { 17 $to = 'test@test.com'; 18 $headers = "From: " . $mail . "\r\n"; 19 $inquiry = "\r\n\r\n" . $name; 20 md_send_mail($to, $inquiry, $headers); 21 $complete_msg = '送信されました!'; 22 } 23}

投稿2020/03/13 07:51

編集2020/03/13 08:55
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

reo_fukkase

2020/03/13 08:55

SERVERに直しました! ですがやっぱり同じ結果でした、、
reo_fukkase

2020/03/13 08:56

ありがとうございます、参考にしてみます!
退会済みユーザー

退会済みユーザー

2020/03/13 08:56

メール送信は、もしかしたら動かないかもしれない。
退会済みユーザー

退会済みユーザー

2020/03/13 09:02

FILTER_SANITIZE_STRING を使うかどうかは、お好みで。(試してないから、挙動おかしかったら外して試してほしい。)
reo_fukkase

2020/03/13 09:34

action=confirmationとなっていたのが原因だったようです。 actionを消したらできました。 送信は、ローカル環境なのでまだできないようです。
reo_fukkase

2020/03/13 09:39

ありがとうございました
guest

0

自己解決

action属性が原因でした

投稿2020/03/13 09:44

reo_fukkase

総合スコア50

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問