我已經提出了這種形式,我想問一下,這是否足夠安全。我嘗試了很多次做驗證碼的東西,但它不會爲我工作。我仍然是一名學生,請不要發難事。Mail form trough php
問題1:mysql_real_escape_string安全嗎? 問題2:我需要一個非常簡單的(數字)驗證碼,有人可以給我一個例子(或其他堆棧帖子)
這gona被用於信息的網站就像郵件的形式。在該網站上沒有數據庫/登錄和那個。
<?php
include '../connect.php'; #db connection for mysql_real_escape_string
$errors = array('');
//valideren of er op de submit gedrukt is en of alle benodigde data is ingevuld
if(isset($_POST['submit'])){
if(!empty($_POST['naam']) && !empty($_POST['email']) && !empty($_POST['bericht'])){
$naam = mysql_real_escape_string($_POST['naam']);
$email = mysql_real_escape_string($_POST['email']);
$bericht = mysql_real_escape_string($_POST['bericht']);
$telefoon = mysql_real_escape_string($_POST['telefoon']);
$regex = "/^[A-Za-z .'-]+$/";
if(!preg_match($regex,$naam)) {
array_push($errors , 'De naam is niet geldig');
}
if(strlen($bericht) < 5) {
array_push($errors , 'Het bericht is te kort');
}
$email_regex = '/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_regex,$email)) {
array_push($errors , 'Uw email is niet geldig.');
}
這裏是郵件部分。
}else{
array_push($errors , 'Een van de verplichte velden is niet ingevuld. Alle velden met * zijn verplicht.');
}
}
?>
<form method="post">
<p>
<label>naam*</label>
<input type="text" name="naam"/>
</p>
<p>
<label>email*</label>
<input type="text" name="email"/>
</p>
<p>
<label>telefoon</label>
<input type="text" name="telefoon"/>
</p>
<p>
<label>Bericht*</label>
<textarea name="bericht" style="width:459px; height:187px;" ></textarea>
</p>
<p>
<label> </label>
<input type="submit" value="verstuur" name="submit"/>
</p>
</form>
<?php
if (count ($errors > 0)){
foreach($errors as $error){
echo '<p class="error">'.$error.'</p>';
}
}
?>
你保存到一個數據庫或發送電子郵件或兩者兼而有之? (它缺少代碼) – mlishn 2012-08-09 11:42:29
只想給它發郵件。那部分不在這裏,因爲我現在正在做這件事。對不起,不清楚 – JochemQuery 2012-08-09 11:47:33
那些'