2017-06-27 10 views
0

PHPを使用して基本的な連絡フォームを送信しました。提出されると、私は電子メールを受け取るが、フィールドに入力された情報は表示されない。しかし、その情報は送信されます。ブラウザのアドレスバーに表示されます。電子メールに入力情報が表示されない基本連絡フォームPHP HTML5

../contact.phpurl=antispam&name=dfsaa&number=fdfd&email=fdsafds%40fds.com&message=Please+contact+me+regarding+this 

フロント:

<form action="contact.php"> 
<input class="form-control" id="name" name="name" placeholder="Name" type="text" required> 
<input class="form-control" id="number" name="number" placeholder="Contact Number" type="text" required> 
<input class="form-control" id="email" name="email" placeholder="Email" type="email" required> 
<textarea class="form-control" id="message" name="message" placeholder="Message" rows="5">Please contact me regarding this...</textarea><br> 
<button class="btn btn-default pull-right" type="submit">Send</button> 
</form> 

PHP:お問い合わせフォームは別のサイト上で完璧に動作

<?php 
    $name = @trim(stripslashes($_POST["name"])); 
    $email = @trim(stripslashes($_POST["email"])); 
    $number = @trim(stripslashes($_POST["number"])); 
    $message = @trim(stripslashes($_POST["message"])); 

    $email_from = $email; 
    $email_to = "[email protected]"; 

    $body = "Name: " . $name . "\n\n" . "Email: " . $email . "\n\n" . "Number: " . $number . "\n\n" . "\n\n" . "Message: " . $message; 

    $success = @mail($email_to, $body, "Name: " . $name . "\n\n" . "Email: " . $email . "\n\n" . "Number: " . $number . "\n\n" . "Message: " . $message); 


?> 

<!DOCTYPE HTML> 
<html lang="en-US"> 

<head> 
    <script> 
     alert("Thank you for contacting us. A member of our team will be in touch as soon as possible."); 

    </script> 
    <meta HTTP-EQUIV="REFRESH" content="0; url= index.html"> 
    </head> 

...この1つはi「は、私が作成didntのGoDaddyは敷地内にあり私はちょうどうんざりしている。

私が受け取るメールには、すべてのフィールドタイトルがありますが、入力情報はありません。

なぜでしょうか?

+0

これは重複していません! @Fred – tilz0R

+0

@ tilz0Rありがとう!私は他のすべての同様の回答を見て、誰も私が探していたものは誰も – spbrad

+0

この質問を再開した人は誰もそうすることを正当化していなかった、それは重複している。モデレートのための質問にフラグを立てる。 –

答えて

1

あなたのフォームは、POSTではなく、GETタイプのPOSTであるため、データは$_GETで表示され、$_POSTグローバルPHP変数では表示されません。

あなたはPOSTをしたいので、リクエストメソッドがあなたが持っているPOST

<?php 
if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') { 
    //Get data and send email 
    $name = trim($_POST['....']); 
    ... 
} 
+0

それは問題でした!どうもありがとう!そして、これは実際には重複していないことに気づいたことに感謝します。 – spbrad

1

であれば、

<form action="contact.php"> 

フォームの構造を変更することは

<form action="contact.php" type="post"> 

そして、あなたのPHP、最初のチェックであるべきフォームのmethodを設定しないで、デフォルトでGET要求を行うようにします。

URLに表示されるデータは、$_GETに入力されます。

<form>要素にmethod="POST"を設定して、POST要求を行い、データを要求本体に入れ、$_POSTに表示する必要があります。

関連する問題