login  Naam:   Wachtwoord: 
Registreer je!
 Forum

e-mail validatie (Opgelost)

Offline Appie_Dijk - 05/03/2009 20:14 (laatste wijziging 05/03/2009 20:15)
Avatar van Appie_DijkLid Hallo iedereen,

Ik heb het volgende script hier van de site afgehaald (en met dank aan het forum werkend gekregen), maar is het ook mogelijk om te kijken of er een @ in het e-mail adres zit (en als het even kan ook een .)

  1. // Hiervoor komt jouw database check
  2. (!$formulier_naamverzender) ? $error[] = 'U heeft geen naam ingevuld' : NULL;
  3. (!$formulier_adres) ? $error[] = 'U heeft geen adres ingevuld' : NULL;
  4. (!$formulier_postcode) ? $error[] = 'U heeft geen postcode ingevuld' : NULL;
  5. (!$formulier_plaats) ? $error[] = 'U heeft geen plaats ingevuld' : NULL;
  6. (!$formulier_telefoon) ? $error[] = 'U heeft geen telefoonnummer ingevuld' : NULL;
  7. (!$formulier_mailverzender) ? $error[] = 'U heeft geen emailadres ingevuld' : NULL;
  8. (!$formulier_onderwerp) ? $error[] = 'U heeft geen onderwerp ingevuld' : NULL;
  9. (!$formulier_bericht) ? $error[] = 'U heeft geen bericht ingevuld' : NULL;
  10. if(is_array($error)){
  11. // Hier doe je wat er moet gebeuren met error's
  12. // Bijvoorbeeld ze laten zien aan de gebruiker
  13. $tekst .= 'Er waren fouten bij het invullen';
  14. foreach($error as $row){
  15. $tekst .= $row.'<br>';
  16. }}else{
  17. //alles goed ingevuld
  18. }


Alvast bedankt!

13 antwoorden

Gesponsorde links
Offline nick5556 - 05/03/2009 20:17 (laatste wijziging 05/03/2009 20:18)
Avatar van nick5556 PHP beginner Uhm. Ik heb even geen antwoord op je vraag. Maar weet jij of iemand anders hoe die controle in elkaar zit? Maar ik weet niet waar het voor staat.

Dankjewel. Oja, veel succes met t antwoord zoeken 

Ik heb misschien wel antwoord. Kijk in het script gedeelte van SiMa
Offline Koen - 05/03/2009 20:20
Avatar van Koen PHP expert
nick5556 schreef:
Uhm. Ik heb even geen antwoord op je vraag. Maar weet jij of iemand anders waar het ? voor staat? Ik zie aldoor scripts met die ?'tekentjes. Maar ik weet niet waar het voor staat.

Dankjewel. Oja, veel succes met t antwoord zoeken 

Ik heb misschien wel antwoord. Kijk in het script gedeelte van SiMa


Verkorte versie van het if statement:
  1. (statement) ? true : false;
  2. // =>
  3. if(statement)
  4. {
  5. // true
  6. } else
  7. {
  8. // false
  9. }


//Ontopic:
dat doe je met PHP.net: strstr 
Offline Appie_Dijk - 05/03/2009 20:21 (laatste wijziging 05/03/2009 20:25)
Avatar van Appie_Dijk Lid @nick5556, geen idee ? , verder heb ik al gekeken tussen de scripts maar daar staat volgens mij niet deze controle tussen (daar wordt de validatie vaak anders gedaan) en ik vindt deze nou net zo overzichtelijk 

@sliphead: thnx, ga er even mee puzzelen, als ik er niet uit kom hoor je het ;), als ik er wel uit kom vink ik deze topic als opgelost!
Offline nick5556 - 05/03/2009 20:26
Avatar van nick5556 PHP beginner
sliphead schreef:
[..quote..]

Verkorte versie van het if statement:
[..code..]


Dankjewel 
Offline Koen - 05/03/2009 20:26
Avatar van Koen PHP expert Je kan bijvoorbeeld ook het domein checken of het wel bestaat (PHP.net: gethostbyname), of checken op mx records. (PHP.net: getmxrr)
Offline Martijn - 05/03/2009 20:35
Avatar van Martijn Crew PHP het is ook zo

  1. $error[]=(!$formulier_naamverzender) ? = 'U heeft geen naam ingevuld' : NULL;
Offline Martijn2008 - 05/03/2009 20:40
Avatar van Martijn2008 PHP beginner Mijn emailcontrole controleert op het apenstaartje en punten. Een controle op de hostname klinkt mij ook wel interessant in de oren. Iemand een idee hoe ik dat eventueel zou kunnen realiseren? Mijn code ziet er als volgt uit:

  1. <?
  2.  
  3. if(!preg_match ("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$/i", $_POST['email']))
  4. {
  5. $errors[] = 'Uw emailadres valideerd niet, een goed voorbeeld is: email@example.com';
  6. }
  7.  
  8. ?>


Offline Koen - 05/03/2009 20:43
Avatar van Koen PHP expert @Martijn2008:
sliphead schreef:
Je kan bijvoorbeeld ook het domein checken of het wel bestaat (PHP.net: gethostbyname), of checken op mx records. (PHP.net: getmxrr)


Lees dat dan? 
  1. $sDomein = array_pop(explode('@', $sEmail));

trouwens 
Offline Damage - 06/03/2009 11:16
Avatar van Damage PHP interesse
  1. <?
  2. if ((!strpos($emailAddress, "@")) || (!strpos($emailAddress, "."))) {
  3.  
  4. echo "Fout";
  5.  
  6. } else {
  7.  
  8. echo "Goed";
  9.  
  10. }
  11. ?>
Offline Appie_Dijk - 06/03/2009 12:02 (laatste wijziging 06/03/2009 12:26)
Avatar van Appie_Dijk Lid @Sliphead
Citaat:
Je kan bijvoorbeeld ook het domein checken of het wel bestaat (PHP.net: gethostbyname), of checken op mx records. (PHP.net: getmxrr)

Lijkt me een leuke optie... heb vandaag helaas niet veel tijd, maar ga er even mee bezig!
==============================
@DeviourSoul
Citaat:
Het is ook zo

Het is niet zo! Als ik de code invoer zoals jij weergeef krijg ik een foutmelding.
==============================
@Martijn2008
Citaat:
Mijn emailcontrole controleert op het apenstaartje en punten. Een controle op de hostname klinkt mij ook wel interessant in de oren. Iemand een idee hoe ik dat eventueel zou kunnen realiseren? Mijn code ziet er als volgt uit:

Thnx, als ik er met die domeinvalidatie niet uitkom ga ik daarmee verder!
==============================
@iedereen
Hoe kan ik deze code:
  1. if (is_array($hosts)) {
  2. echo "Host ".$hostname." resolves to: ";
  3. foreach ($hosts as $ip) {
  4. echo $ip;
  5. }
  6. } else {
  7. echo "Host ".$hostname." is not tied to any IP.";
  8. }

omzetten naar zoiets als dit:
  1. (!$formulier_naamverzender) ? $error[] = 'U heeft geen naam ingevuld' : NULL;
Offline voltrex - 06/03/2009 12:31
Avatar van voltrex Lid Ik weet niet hoe je dat omzet... Maar is dat nodig..? 
Offline Martijn2008 - 06/03/2009 12:32
Avatar van Martijn2008 PHP beginner
  1. <?
  2.  
  3. $sDomein = array_pop(explode('@', $sEmail));
  4. if(!gethostbyname($sDomain))
  5. {
  6. $errors[] = 'Foutief emailadres. Hostname bestaat niet!';
  7. }
  8.  
  9. ?>
Offline Appie_Dijk - 06/03/2009 12:35
Avatar van Appie_Dijk Lid E-mail validatie ingevoerd:

  1. $hostname = explode("@", $formulier_mailverzender);
  2. $hostname = $hostname[1];
  3. $hosts = gethostbynamel($hostname);
  4.  
  5. (!is_array($hosts)) ? $error[] = 'U heeft geen geldig e-mailadres ingevuld' : NULL;
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.306s