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

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

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

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

HTML

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

Q&A

0回答

591閲覧

SQLSTATE[HY000] [2002] No such file or directory

Dragon131

総合スコア14

PHP

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

HTML

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

0グッド

0クリップ

投稿2021/09/09 13:13

フォームをPHPで作ったのですがサーバーにアップロードしてメッセージを送ってみたところエラーが出ます。メールも送信できません。どこかおかしいでしょうか。

index.php

1<form method="POST" action="form_check.php"> 2 <dl> 3 <dt>お名前</dt> 4 <dd><input type="text" name="name" class="name"></dd> 5 <dt>メールアドレス</dt> 6 <dd><input type="email" name="email" class="email"></dd> 7 <dt>メッセージ</dt> 8 <textarea name="message" class="message" placeholder="ご意見、ご感想など"></textarea> 9 <input type="submit" value="SEND"> 10 </dl> 11 </form>

form_check.php

1<body> 2<?php 3$name=$_POST['name']; 4$email=$_POST['email']; 5$message=$_POST['message']; 6 7 $okflg=true; 8 ?> 9 <table class="form-check"> 10 <tr> 11 <th>お名前</th> 12 <?php if($name==''):?> 13 <td><?php echo 'お名前を入力してください。<br><br>';?></td> 14 <?php $okflg=false; 15 else: 16 ?> 17 <td><?php echo $name.'様'.'<br><br>'; ?></td> 18 <?php endif;?> 19 </tr> 20 <tr> 21 <th>メールアドレス</th> 22 <?php if(preg_match('/\A[\w\-.]+\@[\w\-.]+.([a-z]+)\Z/',$email)==0):?> 23 <td><?php echo 'メールアドレスを正確に入力してください。<br><br>';?></td> 24 <?php $okflg=false; 25 else: 26 ?> 27 <td><?php echo $email.'<br><br>'; ?></td> 28 <?php endif;?> 29 </tr> 30 <tr> 31 <th>メッセージ</th> 32 <?php if($message==''):?> 33 <td><?php echo 'メッセージを入力してください。<br><br>';?></td> 34 <?php $okflg=false; 35 else: 36 ?> 37 <td><?php echo $message.'<br><br>'; ?></td> 38 <?php endif;?> 39 </tr> 40 </table> 41 42<?php if($okflg==true):?> 43<form class="form" method="post" action="form_done.php"> 44<input type="hidden" name="name" value="<?php echo $name ;?>"> 45<input type="hidden" name="email" value="<?php echo $email;?>"> 46<input type="hidden" name="message" value="<?php echo $message;?>"> 47<input type="button" onclick="history.back()" value="戻る"> 48<input type="submit" value="送信"><br> 49</form> 50 <?php else:?> 51 <form> 52 <input type="button" onclick="history.back()" value="戻る"> 53</form> 54 <?php endif;?> 55 </body> 56</html>

form_done.php

1<body> 2<?php 3 4try{ 5$name=$_POST['name']; 6$email=$_POST['email']; 7$message=$_POST['message']; 8 9echo $name.'様<br><br>'; 10echo'メッセージありがとうございます。<br>'; 11echo'近々お返事させていただきます。<br>'; 12echo $email.'にメールを送りましたのでご確認ください。<br>'; 13 14$honbun=''; 15$honbun.=$name."様\n\nこのたびはサイト訪問とメッセージありがとうございます。\n"; 16$honbun.="\n"; 17$honbun.="いろいろ情報交換ができればいいなと思っています。"; 18$honbun.="是非またお立ち寄りください。"; 19$honbun.="近々返信させていただきます。\n"; 20 21$dsn='mysql:dbname=sample;host=localhost;charset=utf8'; 22$user='user'; 23$password='パスワード名'; 24$dbh=new PDO($dsn,$user,$password); 25$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 26 27$sql='INSERT INTO privates (name,email,message) VALUES(?,?,?)'; 28$stmt=$dbh->prepare($sql); 29$data[]=$name; 30$data[]=$email; 31$data[]=$message; 32$stmt->execute($data); 33 34$dbh=null; 35 36 }catch(PDOException $e){ 37 echo($e->getMessage()); 38 exit; 39} 40 41$title='メッセージありがとうございます。'; 42$header='From:メールアドレス'; 43$honbun=html_entity_decode($honbun, ENT_QUOTES,'UTF-8'); 44mb_language('Japanese'); 45mb_internal_encoding('UTF-8'); 46mb_send_mail('$email',$title,$honbun,$header); 47 48 49$title='サイトを見てくれた方からメッセージがあります。'; 50$header='From:'.$name.'様'; 51$honbun=html_entity_decode($honbun, ENT_QUOTES,'UTF-8'); 52mb_language('Japanese'); 53mb_internal_encoding('UTF-8'); 54mb_send_mail('メールアドレス',$title,$honbun,$header); 55 ?> 56</body> 57</html> 58

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

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

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

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

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

FKM

2021/09/10 01:05

そのエラーはMYSQLが接続されていないというエラーですよ。PHPプログラム内容とは別の問題です。 だいたい、ポートを他のものが使っているとかそのへんの類で起きます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問