2017-11-18 12 views
0

を使って電子メールを送るにはどうすればいいですか?これを読んでいただきありがとうございます。 私はプログラミングの初心者です。私が作ろうとしている簡単なウェブサイトで助けが必要です。 私の目標は私にメールを送るフォームを作ることですが、私がsendを押すと、それがページの先頭に戻ってきます。私は下にHTMLとPHPをペーストしています。私はあなたに頼んでいる別の質問は、私は私のWebホスティングサービス(ovh)のPHPを動作させるために何かを設定する必要がありますか?ありがとう、ありがとう!materializeCSSとPHP

HTML:

<form class="col s12"> 
    <div class="row"> 
    <div class="input-field col s6"> 
     <i class="material-icons prefix">info</i> 
     <input id="first_name" type="text" class="validate"> 
     <label for="first_name">Prénom</label> 
    </div> 
    <div class="input-field col s6"> 
     <i class="material-icons prefix">info</i> 
     <input id="last_name" type="text" class="validate"> 
     <label for="last_name">Nom de famille</label> 
    </div> 
    </div> 
    <div class="row"> 
    <div class="input-field col s12"> 
     <i class="material-icons prefix">phone</i> 
     <input id="Mail" type="email" class="validate"> 
     <label for="Mail">E-mail</label> 
    </div> 
    </div> 
    <div class="row"> 
     <form class="col s12"> 
     <div class="row"> 
      <div class="input-field col s12"> 
      <i class="material-icons prefix">chat</i> 
      <textarea id="message" class="materialize-textarea"></textarea> 
      <label for="message">Message</label> 
      </div> 
     </div> 
<button class="btn waves-effect waves-light" type="submit" 
name="action">Envoyer 
<i class="material-icons right">send</i> 
</button> 
     </form> 

PHP:

<?php 
if(isset($_POST['submit'])){ 
$to = "[email protected]"; 
$from = $_POST['Mail']; 
$first_name = $_POST['first_name']; 
$last_name = $_POST['last_name']; 
$subject = "Mail subject"; 
$message = $first_name . " " . $last_name . " à écrit ceci:" . "\n\n" . 
$_POST['message']; 

$headers = "From:" . $from; 
$headers2 = "From:" . $to; 
mail($to,$subject,$message,$headers); 
echo "Mail Sent. Thank you " . $first_name . ", we will contact you 
shortly."; 

} 
?> 

答えて

0

は、私は最終的に、自分の質問に答え、あなたの時間をありがとうございましたと:) バイバイ

インデックスを助けます。 html:

<form class="col s12" method="POST" action="mail.php"> 
    <div class="row"> 
    <div class="input-field col s6"> 
     <i class="material-icons prefix">info</i> 
     <input id="first_name" type="text" class="validate" name="first_name"> 
     <label for="first_name">Prénom</label> 
    </div> 
    <div class="input-field col s6"> 
     <i class="material-icons prefix">info</i> 
     <input id="last_name" type="text" class="validate" name="last_name"> 
     <label for="last_name">Nom de famille</label> 
    </div> 
    </div> 
    <div class="row"> 
    <div class="input-field col s6"> 
     <i class="material-icons prefix">mail</i> 
     <input id="mail" type="email" class="validate" name="email"> 
     <label for="mail">E-mail</label> 
    </div> 
    <div class="input-field col s6"> 
     <i class="material-icons prefix">phone</i> 
     <input id="phone" type="tel" name="phone"> 
     <label for="phone">Téléphone (optionel)</label> 
    </div> 
    </div> 
    <div class="row"> 
      <div class="input-field col s12"> 
      <i class="material-icons prefix">chat</i> 
      <textarea id="message" class="materialize-textarea" name="message"></textarea> 
      <label for="message">Message</label> 
      </div> 
<button class="btn waves-effect waves-light" type="submit" name="action" id="submit" for="submit">Envoyer 
<i class="material-icons right">send</i> 
</button> 
    </div> 
</form> 

メール。PHP:

<?php 
$prenom = !empty($_POST['first_name']) ? $_POST['first_name'] : NULL; 
$nom = !empty($_POST['last_name']) ? $_POST['last_name'] : NULL; 
$from = !empty($_POST['email']) ? $_POST['email'] : NULL; 
$msg = !empty($_POST['message']) ? $_POST['message'] : NULL; 
$tel = !empty($_POST['phone']) ? $_POST['phone'] : NULL; 
$headers = 'From: WEBSITE E-MAIL'; 
// echo "$msg" . "$nom" . "$from"; 

if(empty($prenom) || empty($nom) || empty($from) || empty($msg)) 
{ 
    echo 'Mail couldn't be send, a fiel is empty'; 
} 
elseif(mail('EMAIL ADRESS', "Commande Amarrex de $prenom $nom", "$prenom $nom a ecrit : $msg \n\n\n E-mail de contact : $from\n\n Telephone : $tel", "$headers")) 
{ 
    echo 'Mail sent.'; 
} 
else 
{ 
    echo 'mail not sent, unexpected error'; 
} 
// } 
?> 

これが動作している、あなたのウェブサイトはそれを試し、その後ホストされている必要がありすなわちのみライブサーバー上で動作する電子メールを送信することはかなり厄介だ場合でも

1

まあ遅い開始、こちらのフォームは、この場合、サーバ側でクライアントとサーバ側との特別なダイアログで提出多少の誤差がありますPHPの場合、フォームタグはまずデータを送信するために使用するメソッド、POSTやGETを必要としますが、htmlフォームタグでこれを確認する必要があります。

<form class="col s12" method="post"> 

2番目の問題は、データを送信する場所とは何ですか?どのファイルですか?また、これはbegin usingアクションでフォームに書き込まれ、フォームになります。アクションが同じページ内にある場合に使用しなければならないエラーがあるので、あなたにも

if(isset($_POST['submit'])) 

を記述する必要はありませんした後アクションが「」= を空のようにアクションを残すことができます

<form class="col s12" method="post" action="nameOfFilePHPWhereSendData.php"> 

htmlの名はそう$ _POST [「行動」]と、あなたの$ _POST

$from = $_POST['Mail']; 
$first_name = $_POST['first_name']; 
$last_name = $_POST['last_name']; 

AHHHを投稿で記述しなければならないと私見の意見は、より良い使用の入力タイプ=である

「を提出」電子メールを送信する
0

ボタンをクリックしたときに実行されるだろう、と明らかにメールを送信するためにどのようなPHPスクリプト、フォームアクションを定義する必要があり、サーバーやホスティングは確かにいくつかの設定が必要

<form action="thephpfilename.php"> 

</form> 
1

シンプルで簡単な方法最適なオプションはPHPMailerです。

これをチェックしてください! https://github.com/PHPMailer/PHPMailer

+0

それを使用して自由に感じます。それ以外の場合は、hostgatorなどのようには動作しません。あなたは試しましたか? –

0

初心者を助けてくれてありがとう、ありがとうございます。 あなたの指示とWebチュートリアルの後に私のコードを少し変更しましたが、メールが送信されましたが、私の変数が空であるように見えます。おかげ

index.htmlを

<form class="col s12" method="POST" action="mail.php"> 
    <div class="row"> 
    <div class="input-field col s6"> 
     <i class="material-icons prefix">info</i> 
     <input id="first_name" type="text" class="validate" name="first_name"> 
     <label for="first_name">Prénom</label> 
    </div> 
    <div class="input-field col s6"> 
     <i class="material-icons prefix">info</i> 
     <input id="last_name" type="text" class="validate" name="last_name"> 
     <label for="last_name">Nom de famille</label> 
    </div> 
    </div> 
    <div class="row"> 
    <div class="input-field col s12"> 
     <i class="material-icons prefix">phone</i> 
     <input id="mail" type="email" class="validate" name="email"> 
     <label for="mail">E-mail</label> 
    </div> 
    </div> 
    <div class="row"> 
      <div class="input-field col s12"> 
      <i class="material-icons prefix">chat</i> 
      <textarea id="message" class="materialize-textarea"></textarea> 
      <label for="message">Message</label> 
      </div> 
    <button class="btn waves-effect waves-light" type="submit" name="action" id="submit" for="submit">Envoyer 
<i class="material-icons right">send</i> 
    </button> 
    </div> 
</form> 

mail.php

<?php 
error_reporting(E_ALL); 
// if (isset($_POST['submit'])) { <<-- not an error, I just wanted to get rid of it w/o deleting it 
$prenom = !empty($_POST['first_name']) ? $_POST['first_name'] : NULL; 
$nom = !empty($_POST['last_name']) ? $_POST['last_name'] : NULL; 
$from = !empty($_POST['mail']) ? $_POST['mail'] : NULL; 
$msg = !empty($_POST['message']) ? $_POST['message'] : NULL; 

if(mail('[email protected]', 'Commande Amarrex', $msg)) 
{ 
    echo 'Le message a été envoyé'; 
} 
else 
{ 
    echo 'Le message n\'a pu être envoyé'; 
} 
// } 
?> 
関連する問題