2013-10-09 45 views
4

我正在我的第二個網站上工作,並在整個創建這一個和我的第一次在StackOverflow這裏的人都是一個驚人的幫助。 我可以瀏覽並找到幾乎任何我不想知道的東西。 我有99%的問題,我解決了我在這裏閱讀的答案。所以首先非常感謝你!提交按鈕,我的聯繫表格沒有提交和重定向

這是我第一次發佈的東西,因爲我無法找到我的代碼的具體答案。 有人在這裏有同樣的問題,但當我看着他們的代碼,我只是迷路了。 到目前爲止,我已經知道html了。這是我無知的php。 我不是在尋找某種奇特的東西,我只是想創建一個簡單的聯繫表單。

所以這裏是我的問題和代碼,我希望你們中的一些人能夠幫助我。

我使用了一個來自youtube教程的PHP代碼,它的deadeasy(如前所述:第一次PHP),但我無法讓它工作。儘管我和剪輯中的男人做的一切都一樣。他表明他正在工作,所以我非常好奇,因爲我的方式不是?

我的表單沒有「發送」,點擊提交按鈕後,我沒有收到「謝謝」的信息。

下面是HTML:

<form method="post" action="contactform" name="contactform" id="contactform"> 

      <ol> 
       <li> 
        <label for="voornaam">Voornaam</label> 
        <input type="text" name="voornaam" /> 
       </li> 
       <li> 
        <label for="achternaam">Achternaam</label> 
        <input type="text" name="achternaam" /> 
       </li> 

       <li> 
        <label for="telefoon">Telefoon Nummer</label> 
        <input type="text" name="telefoon" /> 
       </li> 
       <li> 
        <label for="email">E-mail Adres</label> 
        <input type="text" name="email" /> 
       </li> 
       <li> 
        <label for="bericht">Type hier je bericht</label> 
        <textarea name="bericht"></textarea> 
       </li> 
       <li> 
        <input name="submit" type="submit" value="submit" /> 
        <input name="reset" type="reset" value="reset" />      
       </li> 

      </ol> 

      </form> 

和PHP:

<?php 

$voornaam = $_POST ['voornaam']; 
$achternaam = $_POST ['achternaam']; 
$telefoon = $_POST ['telefoon']; 
$email = $_POST ['email']; 
$bericht = $_POST ['bericht']; 

$to = "[email protected]"; 
$subject = "dkl groep bericht"; 

mail ($to, $subject, $bericht, "From " . $voornaam . $achternaam . $telefoon}; 
echo "Bedankt. We nemen zo snel mogelijk contact met u op."; 

?> 

回答

2

這可能是因爲你的行動沒有設置正確:

<form method="post" action="contactform" name="contactform" id="contactform"> 

這個動作的標籤是表單發送到的URL。在上面給出的例子中,它看起來不是文件名。你希望它是這樣的:

<form method="post" action="http://mysite.com/process-form.php" name="contactform" id="contactform"> 

另外請注意,在你的例子PHP代碼您發送電子郵件到表單回覆不清洗的響應。如果您不先清理數據,有人可能會將惡意代碼發送到您的服務器。

喜歡的東西:

$cleaned_voornaam = preg_replace("/[^ 0-9a-zA-Z]/", "_", $_POST['voornaam']); 

祝你好運!

+0

不知道你是否在這篇文章中獲得我的新條目。我希望可能願意再看一眼。 非常感謝! – fee

+0

我沒有得到您的輸入,因爲您將它添加爲另一個答案。行上有一個錯誤的結束括號(一個大括號而不是右括號)。即使在小型網站上,安全問題也非常重要。 –

+0

是的!非常感謝!看了它很長時間後,我無法相信看到那個花括號!當然它現在正在工作。非常感謝你的時間和幫助!我將繼續清理回覆,謝謝! – fee

0

您必須將第一行代碼的動作屬性更改爲您要處理表單的頁面。它可能是相同的頁面,但建議在另一頁上。這裏是提交表單在同一個頁面的例子:

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="contactform" id="contactform"> 

像上面的例子那麼你的網頁應該是PHP擴展不要,如果你在同一頁面上提交忘記否則將無法工作。