2012-01-28 6 views
0

私は週のよりよい部分で働くPHPスクリプトを取得しようとしています。あなたのようPHPフォームは、フィールドタイトル付きの電子メールを、収集されずに送信します。

Name: 
Phone number: 
Email Address : 
Street Address: 
Managment Contact: 

:私が次のメッセージを電子メールで受け取ることが十分に機能し
...私はそれは超シンプル守ってきた、と私はまだ妙に...これを見つけ出すように見えることはできません私にはデータが通っていません。

これは、HTMLフォームです:

<td width="487" height="240" bgcolor="#1D1D1D"><form action="Contact form/processrequest.php" method="post" name="request form" target="_parent" id="request form"> 
       <table width="488" border="0" cellspacing="0" cellpadding="6"> 
       <tr> 
        <td width="161" height="34" align="right"><label for="name" class="adf">Name </label></td> 
        <td width="303" align="left" bgcolor="#1D1D1D"><input name="Name" type="text" id="Name" size="50" maxlength="200" /></td> 
       </tr> 
       <tr> 
        <td height="34" align="right" class="adf"><label for="phone">Phone Number </label></td> 
        <td align="left"><input name="Phone Number " type="text" id="Phone Number " size="50" maxlength="300" /></td> 
       </tr> 
       <tr> 
        <td height="34" align="right" class="adf"><label for="email">Email Address </label></td> 
        <td align="left"><input name="Email Address" type="text" id="Email Address" size="50" maxlength="300" /></td> 
       </tr> 
       <tr> 
        <td height="34" align="right" class="adf"><label for="street">Street Address </label></td> 
        <td align="left"><input name="Street Address" type="text" id="Street Address" size="50" maxlength="300" /></td> 
       </tr> 
       <tr> 
        <td height="34" align="right" class="adf"><label for="mgmt">MGMT Contact </label></td> 
        <td align="left"><input name="Management Contact" type="text" id="Management Contact" size="50" maxlength="300" /></td> 
       </tr> 
       <tr> 
        <td height="36" align="right">&nbsp;</td> 
        <td align="left"><input type="submit" name="Send" id="Send" value="Submit" /></td> 

と、これはPHPです:

<?php 
// Get Data 
$name= "$name"; 
$phone= "$phone"; 
$email= "$email"; 
$street= "$street"; 
$mgmt= "$mgmt"; 

// Send Message 
mail("[email protected]", "Contact From Website", 
    "Name: $name \nPhone number: $phone \nEmail Address : $email\nStreet Address:    $street\nManagment Contact: $MGMT\n", 
    "From: Wearable Collections Facebook App Bin Request Form <[email protected]>"); 
    ?> 

私はおそらくので、任意の助けを---非常に何かを明らかに行方不明ですように私は感じます非常に感謝される!!!!

答えて

1

問題はここにある:

$name= "$name"; 

フォームデータを取得するには、使用する必要があります

$name = $_POST['name']; 

を繰り返し、フォームフィールドのそれぞれについて、あなたはデータのワーキングセットを持っています。

+0

はありがとう!!!!!私は上記の$ _REQUEST ["name"]を使用し、入力名を変更しました(私のフォームフィールドに与えた名前のうちどれが操作可能なものなのか分かりませんでした)。あなたの時間と提案をありがとうございました!!! –

1

データを取得する方法です。

次のようにお試しください。

また、下記のセキュリティに関する注意事項を参照してください。

<?php 
    // Get Data 
    $name= $_REQUEST["name"]; // Works for both get and post, as opposed to $_GET["name"] or $_POST["name"]; 
    $phone= $_REQUEST["phone"]; 
    $email= $_REQUEST["email"]; 
    $street= $_REQUEST["street"]; 
    $mgmt= $_REQUEST["mgmt"]; 

    // Send Message 
    mail("[email protected]", "Contact From Website", 
    "Name: $name \nPhone number: $phone \nEmail Address : $email\nStreet Address:    $street\nManagment Contact: $MGMT\n", 
    "From: Wearable Collections Facebook App Bin Request Form <[email protected]>"); 
    ?> 

ここにPHPとフォームでの作業についての詳細:

ここ

http://php.net/manual/en/tutorial.forms.php

詳細について$ _REQUESTを:

http://www.php.net/manual/en/reserved.variables.php

重要!!!!!また、フォーム処理と手に手を学ぶべき、セキュリティ上のこれらの記事を参照してください。

http://phpsense.com/2006/php-email-injection-attacks/

http://www.sitepoint.com/php-security-blunders/

http://php.net/manual/fr/function.mysql-real-escape-string.php

+0

'mysql_real_escape_string()'は電子メールを送信しているときに役に立ちません。 – JJJ

+0

ありがとう!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!私はこれらを読むでしょう - そして、本当にありがとう! –

+0

@Juhana - 本当ですが、彼女が現在のフォームを学習している場合、彼女が次にやることはデータベースに書き込むことです。私はそれが本当に問題の一部ではないことを知っています。メールを逃すことについて何かを与えておくべきですが、それは同じ概念です。 – Eli

関連する問題