2012-11-05 96 views
0

有創建一個簡單的工作表單的問題,HTML是所有下面,後面的PHP。我試圖找到一個體面的,但簡單的php形式嘖嘖,但從來沒有發現一個是清澈的。掙扎與簡單的PHP

<form class="form-horizontal" method="post" action="mail.php"> 
        <div class="control-group"> 
         <label class="control-label" for="name">Name:</label> 
         <div class="controls"> 
          <input class="input-xlarge" type="text" id="name" name="name"> 
         </div> 
        </div> 
        <div class="control-group"> 
         <label class="control-label" for="email">Email:</label> 
         <div class="controls"> 
          <input class="input-xlarge" type="text" id="email" name="email"> 
         </div> 
        </div> 
        <div class="control-group"> 
         <label class="control-label" for="number">Number:</label> 
         <div class="controls"> 
          <input class="input-xlarge" type="text" id="number" name="number"> 
         </div> 
        </div> 
        <div class="controls"> 
         <textarea class="input-xlarge" rows="6" id="message" name="message"></textarea> 
        </div> 
        <div class="controls"> 
         <button class="btn btn-small btn-primary" id="send-mail-btn" type="submit">Send Message!</button> 
        </div> 
       </form> 

用下面的PHP

<? php 

//import of user info 
$name = $_POST['name']; 
$email = $_POST['email']; 
$number = $_POST['number']; 
$message = $_POST['message']; 

//mail input 
$from = 'From: MissMoneyPenny.uk.com' 
$to = '[email protected]'; 
$subject = 'Enquiry from Website' 

//email content 
$body = "From: $name\n E-Mail: $email\n Number: $number\n Message: $message"; 

//send mail 
mail ($to, $subject, $body, $from); 

?> 

但經營形式當我拿到第4行的誤差是$name = $_POST['name'];什麼想法?

+1

「我得到一個錯誤」 - 什麼該錯誤消息說?! – Quentin

+1

你也應該考慮一下這段代碼的安全性。由於$ email可以包含\ n,用戶也可以注入自己的電子郵件標題並使用腳本來發送垃圾郵件。您會在術語「 郵件頭注入」下找到許多關於該信息的信息。避免這種情況的簡單方法是使用圖書館發送「Swift Mailer」之類的電子郵件。 – Johni

回答

3
<? php 
^

那裏沒有空間。那是不對的。它被解釋爲一個簡短的腳本打開標記<?,然後是php,這不是一個有效的標記。

-1

嘗試在html輸入表單中使用不同的名稱,因爲id和name在這裏是以html輸入表格 ,所以請嘗試使用其他名稱。 用於例如, 名稱: 和mail.php。你可以通過,

$ name = $ _POST ['txtName'];

+1

一個元素具有匹配的名稱和id是完全正確的。 – Quentin

0

請試試這個

把賦值(=)中,如果循環

<?php 

    //import of user info 

    if($_REQUEST['submit']) 
    { 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $number = $_POST['number']; 
    $message = $_POST['message']; 
    } 

    //mail input 
    $from = 'From: MissMoneyPenny.uk.com' 
    $to = '[email protected]'; 
    $subject = 'Enquiry from Website' 

    //email content 
    $body = "From: $name\n E-Mail: $email\n Number: $number\n Message: $message"; 

    //send mail 
    mail ($to, $subject, $body, $from); 

    ?> 

而且

<?php 

使用這種起始