Thread: Verbergen van email adres
-
11-05-2010, 05:38 #16
Ik kan uit dat script meteen 100 fouten halen. Sorry maar dat script is echt brak en ouderwets.
Als je nog iets gemakkelijker wilt gaan kan je best met SwiftMailer werken. Dit is de vernieuwde PHPMailer van vroeger...PHP Code:<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$naam = htmlspecialchars($_POST["naam"]);
$email = htmlspecialchars($_POST["email"]);
$onderwerp = htmlspecialchars($_POST["onderwerp"]);
$bericht = htmlspecialchars($_POST["bericht"]);
$error = "";
if(trim($naam) == "") $error .= 'Naam niet ingevuld.<br />';
if(trim($email) == "") $error .= 'Mail niet ingevuld.<br />';
if(trim($onderwerp) == "") $error .= 'Onderwerp niet ingevuld.<br />';
if(trim($bericht) == "") $error .= 'Bericht niet ingevuld.<br />';
$mail = "blabla@gmail.com";
$ip = $_SERVER['REMOTE_ADDR'];
// enzovoort
}no votes
-
-
11-05-2010, 14:08 #17
Werkt helemaal! Bedankt!
Naar SwiftMailer heb ik nog niet gekeken, maar het werkt nu in ieder geval al!
PHP Code:<?
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$naam = htmlspecialchars($_POST["naam"]);
$email = htmlspecialchars($_POST["email"]);
$onderwerp = htmlspecialchars($_POST["onderwerp"]);
$bericht = htmlspecialchars($_POST["bericht"]);
$error = "";
if(trim($naam) == "") $error .= 'U heeft uw naam niet ingevuld.<br />';
if(trim($email) == "") $error .= 'U heeft uw email-adres niet ingevuld.<br />';
if(trim($onderwerp) == "") $error .= 'U heeft geen onderwerp opgegeven.<br />';
if(trim($bericht) == "") $error .= 'U heeft geen bericht ingevuld.<br />';
$mail = "voorbeeld@gmail.com";
if(trim($error) == "") {
$tijd = time();
$datum = strftime("%d/%m/%y %H:%M", $tijd);
$ip = $_SERVER['REMOTE_ADDR'];
$message = "" . $naam . " met het e-mailadres " . $email . " en het IP " . $ip . " stuurde op " . $datum . " het volgende bericht:
____________________________________
Onderwerp: " . $onderwerp . "
" . $bericht . "
____________________________________";
$message = str_replace ("<br>","\n", $message);
mail("$mail", "Bericht van mijndomein.nl",
$message, "From: " . $email . "");
echo "<p> Uw bericht is verzonden. U krijgt zo snel mogelijk antwoord.";
echo "<a href=\"http://www.domein.nl\">Ga terug naar home.</a></p>";
}
else{
echo "<h1 class=\"error\">Er is iets fout gegaan</h1><br/>
<p>Hieronder vindt u een lijstje met wat er fout kan gegaan zijn:</p>";
echo " <p> " . $error . " </p> ";
echo "<a href=\"#\" onClick=\"history.go(-2)\">Ga terug om eventueel wat aan te passen.</a></p>";
}
}
?>Last edited by [ JO ]; 07-02-2011 at 22:55.
Be cabbage, be U!
no votes
-
11-05-2010, 14:15 #18
Ik zoek nu op internet om te kijken of het een geldig email-adres is, en kwam dit tegen:
Maar dat blijkt niet te werken... Iemand een idee? Sorry voor de vele vragen!PHP Code:if (!preg_match("/^( [a-zA-Z0-9] )+( [a-zA-Z0-9\._-] )*@( [a-zA-Z0-9_-] )+( [a-zA-Z0-9\._-] +)+$/" , $email)) $error .= 'U heeft geen geldig email-adres ingevuld.<br />';
Be cabbage, be U!
no votes
-
11-05-2010, 15:10 #19
Heb een minder stricte gevonden op internet die werkt...
PHP Code:if (!preg_match('/^[^@]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+$/', $email)) $error .= 'U heeft geen geldig email-adres ingevuld.<br />';
Be cabbage, be U!
no votes
-
11-05-2010, 15:44 #20
ik gebruik altijd dze:
PHP Code:/**
* This function checks an email for it regex pattern
*
* @param String $email - The email to match
*
* @return bool - True if valid match , otherwise false
*/
function validateEmail($email){
// regex pattern for valid emails
$pattern = "/^[A-z0-9\._-]+". "@". "[A-z0-9][A-z0-9-]*". "(\.[A-z0-9_-]+)*". "\.([A-z]{2,6})$/";
// compare the regex pattern and the email value given
return preg_match($pattern, $email);
}
no votes
-
11-05-2010, 19:29 #21Member
- Registered
- 22/12/09
- Location
- Ravels
- Posts
- 35
- iTrader
- 0
- Mentioned
- 0 Post(s)
Ik heb deze twee php functies eens ergens gevonden en die gebruik ik nu om email adressen te 'verbergen'.
Een email adres ziet er dan zo uit in uw code:functies:HTML Code:<a href="mailto:herman.de.proost@kfcflandria.be" >
PHP Code:function eMail($email, $name='', $params='') {
$encMail = encString($email);
if(!$name) $name=$email;
return '<a href="mailto:'.$encMail.'" '.$params.'>'.$name.'</a>';
}
function encString ($orgStr) {
$encStr = "";
$nowStr = "";
$rndNum = -1;
$orgLen = strlen($orgStr);
for ( $i = 0; $i < $orgLen; $i++) {
$encMod = rand(1,2);
switch ($encMod) {
case 1: // Decimal
$nowStr = "&#" . ord($orgStr[$i]) . ";";
break;
case 2: // Hexadecimal
$nowStr = "&#x" . dechex(ord($orgStr[$i])) . ";";
break;
}
$encStr .= $nowStr;
}
return $encStr;
}
www.peades.be - eenvoudige websites voor ieders budgetno votes
-
11-05-2010, 19:38 #22Member
- Registered
- 18/03/04
- Location
- Brussel
- Posts
- 6,529
- iTrader
- 7 (100%)
- Mentioned
- 0 Post(s)
Het is misschien een goed idee om jouw email uit dat stukje code te halen [ JO ], want nu haal je de hele opzet onderuit.
no votes
-
11-05-2010, 21:51 #23
Bedankt Kandul!
Ik was het niet vergeten tot mijn laatste. Ik had toen maar snel een copy paste gedaan.
Stom van me;-)Be cabbage, be U!
no votes
