2017-07-31 112 views
-2

註冊與HTML表單和

<form action="email.php" method="post"> 
 
<div class="icon1"> 
 
<i class="fa fa-user" aria-hidden="true"></i> 
 
<input type="text" id="name" placeholder="Enter your name" required="name"> 
 
</div> 
 
<div class="icon1"> 
 
<i class="fa fa-envelope" aria-hidden="true"></i> 
 
<input type="email" name="email" placeholder="Enter your email" required=""> 
 
</div> 
 
<div class="icon1"> 
 
<i class="fa fa-phone" aria-hidden="true"></i> \t 
 
<input type="tel" name="phone" placeholder="Phone number" required=""> 
 
</div> 
 
<div class="icon1"> 
 
<i class="fa fa-lock" aria-hidden="true"></i> 
 
<input type="text" name="age" placeholder="Age" required=""> 
 
</div> 
 
<div class="icon1"> 
 
<i class="fa fa-lock" aria-hidden="true"></i> 
 
<input type="text" name="talent" placeholder="Talent" required=""> 
 
</div> 
 
<div class="icon1"> 
 
<i class="fa fa-lock" aria-hidden="true"></i> 
 
<input type="text" name="university" placeholder="Universities" required=""> 
 
</div> 
 
<div class="bottom"> 
 
<input type="submit" value="Register"> 
 
</div> 
 
</form>

提交表單我只是讓我的電子郵件中,當我有問題的PHP腳本,請幫助。

當我收到郵件時,我只收到標籤而不是表格上填寫的實際數據。

<?php 
$Name = $_POST['name']; 
$Email = $_POST['email']; 
$Phone = $_POST['phone']; 
$Age = $_POST['age']; 
$Talent = $_POST['talent']; 
$University = $_POST['university']; 

$to = "[email protected]"; 
$subject = "Registration"; 
$message = "Name: $name \n\n Email: $email \n\n Phone: $phone \n\n Age: $age 
\n\n Talent: $talent \n\n University: $university"; 
$from = "[email protected]"; 
$headers = "From:" . $from; 
mail($to,$subject,$message,$headers); 
echo "Mail Sent."; 
?> 
+0

我認爲我們需要查看錶單的html。你還應該更清楚地指出問題所在。 – Difster

+0

我已經更新了我的代碼,看到我的html表格 –

+0

任何好的PHP編輯器甚至PHP服務器本身都應該告訴你至少你的主要問題在這裏(你應該用[display_errors](http://php.net)運行腳本。 /manual/en/function.error-reporting.php)PHP設置或調試模式)。那麼你會得到這樣的錯誤:'注意:未定義的變量:名稱'。 – xander

回答

1

PHP是如果你使用大寫變量($名稱)很敏感,但您使用smallcase($名) 嘗試:

首先,你應該使用:

<input type="text" id="name" name="name" placeholder="Enter your name" required="name"> 

其次:

$Name = $_POST['name']; 
$Email = $_POST['email']; 
$Phone = $_POST['phone']; 
$Age = $_POST['age']; 
$Talent = $_POST['talent']; 
$University = $_POST['university']; 

$to = "[email protected]"; 
$subject = "Registration"; 
$message = "Name: $Name \n\n Email: $Email\n\n Phone: $Phone \n\n Age: $Age 
\n\n Talent: $Talent\n\n University: $University"; 
$from = "[email protected]"; 
$headers = "From:" . $from; 
mail($to,$subject,$message,$headers); 
echo "Mail Sent."; 
+0

我已更新我的帖子查看錶單。 –

+0

我已經改變了如上所述,現在我甚至沒有收到電子郵件。 –

1

這裏有個問題。您實際上並未使用name="name"屬性。

<input type="text" id="name" placeholder="Enter your name" required="name"> 

修改成:

<input type="text" id="name" name="name" placeholder="Enter your name" required="name"> 

我總是用它在我的表單輸入兩個idname的習慣。只有name屬性被傳遞給表單操作。

另外,正如其他用戶指出的那樣,您必須具有一致的變量名稱。 $Name$name等不同

+0

#Difster&#andreas karimi謝謝,它現在正在工作。再次感謝 :-) –