2017-11-14 6 views
-3

私は自分のウェブをコードしていますが、現在はフォームを作成中です。私は自分のウェブサイトeventhought私のPHPコードは既に成功している入力を持っている電子メールを受け取ることはできません。ここで は私のフォームのコードはHTMLPHPはメールで送信する

<form action="booking-process.php" method="post"> 
     <div class="container fluid"> 
      <h2 class="midtext">Booking Service</h2> 
      <h5 class="ff2 note">* Harap Melakukan Booking 1 hari sebelumnya.</h5> 
      <div class="col-md-4 col-xs-12 col-sm-6"> 
       <label for="nama">Nama</label> 
       <input type="text" name="nama" class="form-control"> 

       <label for="telp">Telepon/HP</label> 
       <input type="text" name="telp" class="form-control"> 
      </div> 
      <div class="col-md-4 col-xs-12 col-sm-6"> 
       <label for="plat">Nomor Polisi/Plat</label> 
       <input type="text" name="plat" class="form-control"> 

       <label for="jam">Jam</label> 
       <input type="text" name="jam" class="form-control" placeholder="HH:MM"> 
      </div> 
      <div class="col-md-4 col-xs-12 col-sm-6"> 
       <label for="tanggal">Tanggal</label> 
       <input type="text" name="tanggal" class="form-control" placeholder="DD/MM/YYYY"> 

       <label for="jenis" class="bookingdate">Jenis</label> <br> 
       <select name="jenis" id="jenis" class="form-control"> 
        <option value="BookingShowroom">Booking Showroom</option> 
        <option value="ToyotaHomeService">Toyota Home Service</option> 
       </select> 
      </div> 
     </div> 
     <div class="col-md-12"> 
      <button type="submit" class="mybtn ff2">BOOK</button> 
     </div> 
    </form> 

でだとここに私のPHPコードが

<?php 

$to = "[email protected]"; 
$nama = $_REQUEST['nama']; 
$telp = $_REQUEST['telp']; 
$plat = $_REQUEST['plat']; 
$jam = $_REQUEST['jam']; 
$tanggal = $_REQUEST['tanggal']; 
$jenis = $_REQUEST['jenis']; 
$headers = "From: $from"; 

$fields = array(); 
$fields{"nama"} = $nama; 
$fields{"telp"} = $telp; 
$fields{"plat"} = $plat; 
$fields{"jam"} = $jam; 
$fields{"tanggal"} = $tanggal; 
$fields{"jenis"} = $jenis; 

$body = "FORM BOOKING\n\n"; foreach($fields as $a => $b){ $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); } 

$send = mail($to, $subject, $body, $headers); 
echo 'SUCCESS' 
?> 
+0

私は$の対象に割り当てられた値が表示されませんでした。 – wishab

+1

関数の後に "SUCCESS"をエコーし​​ても、関数が正しく機能するわけではありません。 https://stackoverflow.com/questions/7912992/php-mail-does-not-get-sent-how-do-i-debug(またはそれに関連する)の​​ような質問に記述されているようにデバッグしようとしましたか? –

+0

成功をエコーすることは必ずしもmail()が正常に実行されたことを意味しません。いくつかの件名 "subject"を入れてみてください – wishab

答えて

0

ちょうどそれが正常に動作しているという意味ではありません、ファイルの末尾に成功をエコー。あなたは、それが働いているかどうかを確認し、他の場合は、これを検証するために使用する必要がある -

if ($send) { 
echo "mail send ... OK"; 
} else { 
echo "mail send ... ERROR!"; 

}

をまた、あなたはそれのContent-Type、MIME-バージョンのような適切な仕事を得るために、よりheardersを送信する必要があります、返信になど

は、詳細があり、このLinkを参照してください。

-1
<?php 

    $to = "[email protected]"; 
    $nama = $_REQUEST['nama']; 
    $telp = $_REQUEST['telp']; 
    $plat = $_REQUEST['plat']; 
    $jam = $_REQUEST['jam']; 
    $tanggal = $_REQUEST['tanggal']; 
    $jenis = $_REQUEST['jenis']; 
    /*$headers = "From: $from";*/ 

    $fields = array(); 
    $fields{"nama"} = $nama; 
    $fields{"telp"} = $telp; 
    $fields{"plat"} = $plat; 
    $fields{"jam"} = $jam; 
    $fields{"tanggal"} = $tanggal; 
    $fields{"jenis"} = $jenis; 

    $subject = "Testing"; 
    $body = "FORM BOOKING\n\n"; foreach($fields as $a => $b){ $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); } 

    $headers = "MIME-Version: 1.0" . "\n"; 
    $headers .= "Content-type: text/html; charset=utf-8" . "\n"; 
    $headers .= "From: $from" . "\n"; 

    if(mail($to, $subject, $body, $headers)) 
    echo 'SUCCESS'; 
    else 
    echo 'FAILURE'; 

    ?> 
+0

この回答には複数のセキュリティ上の脆弱性が存在します。 – CubicleSoft