Avatar billede kimox Nybegynder
03. november 2005 - 13:39 Der er 9 kommentarer og
1 løsning

E-mail check

Hej eksperter

Jeg har nu følgende script:

              <?php
if(isset($_POST['submit'])) {
if(strcmp($password1, $password2) == 0)  {
$password = md5($_POST['password']);
include 'db.php';

$bruger = $_POST['bruger'];
$navn = $_POST['navn'];
$alder = $_POST['alder'];
$komm = $_POST['komm'];
$email = $_POST['email'];
$admin = "2";
mysql_query("INSERT INTO bruger (bruger, password, admin, navn, alder, komm, email) VALUES ('$bruger', '$password', '$admin', '$navn', '$alder', '$komm', '$email')") or die(mysql_error());
echo "<div align=\"center\"><span class=\"style2\">Brugeren blev oprettet.</span></div>";
} else {  echo "<span class=\"style2\">De to kodeord er ikke ens.</span>";
}
}
?>

Som jeg gerne vil have tjekker om der MINDST er skrevet "@" i feltet "email" før de bliver oprettet.. Den må meget gerne hvis man kan tjekke om folk har skrevet ".dk", ".net", ".com", ".de" til sidst i feltet.. men det det IKKE nødvendigt !
Avatar billede wuggawugga Nybegynder
03. november 2005 - 13:41 #1
Avatar billede wuggawugga Nybegynder
03. november 2005 - 13:42 #2
Der er forresten download links i bunden af den side.

Ellers har jeg snuppet denne her fra en kommentar php manualen:

function isValidEmail($email_address) {
  $regex = '/^[A-z0-9][\w.-]*@[A-z0-9][\w\-\.]+\.[A-z0-9]{2,6}$/';

  return (preg_match($regex, $email_address));
}
Avatar billede kimox Nybegynder
03. november 2005 - 13:45 #3
gulp, de er ik direkte til at gå til..
Avatar billede wuggawugga Nybegynder
03. november 2005 - 13:55 #4
De to funktioner jeg har givet der validererer en email adresse, dvs. lidt mere end du har bedt om.
Den første funktion kan du downloade som en fil der bare skal inkluderes. Den anden skal bare copy/pastes ind i din kode.
Er det fordi du vil have tilpasset dem?
Avatar billede kimox Nybegynder
03. november 2005 - 22:17 #5
ja helst hehe .. er dette korrekt:

            <?php
if(isset($_POST['submit'])) {
if(strcmp($password1, $password2) == 0)  {
$password = md5($_POST['password']);
function isValidEmail($email) {
  $regex = '/^[A-z0-9][\w.-]*@[A-z0-9][\w\-\.]+\.[A-z0-9]{2,6}$/';
include 'db.php';

$bruger = $_POST['bruger'];
$navn = $_POST['navn'];
$alder = $_POST['alder'];
$komm = $_POST['komm'];
$email = $_POST['email'];
$admin = "2";
mysql_query("INSERT INTO bruger (bruger, password, admin, navn, alder, komm, email) VALUES ('$bruger', '$password', '$admin', '$navn', '$alder', '$komm', '$email')") or die(mysql_error());
echo "<div align=\"center\"><span class=\"style2\">Brugeren blev oprettet.</span></div>";
return (preg_match($regex, $email));
}
} else {  echo "<span class=\"style2\">De to kodeord er ikke ens.</span>";
}
}
?>
Avatar billede wuggawugga Nybegynder
04. november 2005 - 09:10 #6
Nej du skal bare have funktionen f.eks. i toppen af din fil. Derefter kan du kalde funktionen med den email adresse du vil validere:

function isValidEmail($email_address) {
  $regex = '/^[A-z0-9][\w.-]*@[A-z0-9][\w\-\.]+\.[A-z0-9]{2,6}$/';
  return (preg_match($regex, $email_address));
}

include 'db.php';

$bruger = $_POST['bruger'];
$navn = $_POST['navn'];
$alder = $_POST['alder'];
$komm = $_POST['komm'];
$email = $_POST['email'];
if(!isValidEmail($email)) {
    print('Email adressen er ugyldig');
}

...
Avatar billede kimox Nybegynder
04. november 2005 - 09:43 #7
Nja det virker fint med den brokker sig, men den stopper ikke oprettelsen :/

det ser sådan ud nu:

              <?php
if(isset($_POST['submit'])) {
function isValidEmail($email_address) {
  $regex = '/^[A-z0-9][\w.-]*@[A-z0-9][\w\-\.]+\.[A-z0-9]{2,6}$/';
  return (preg_match($regex, $email_address));
}
if(strcmp($password1, $password2) == 0)  {
$password = md5($_POST['password1']);
include 'db.php';
if(!isValidEmail($email)) {
    print('<span class=\"style2\">Email adressen er ugyldig</span>');
}
$bruger = $_POST['bruger'];
$navn = $_POST['navn'];
$alder = $_POST['alder'];
$komm = $_POST['komm'];
$email = $_POST['email'];
$admin = "2";
mysql_query("INSERT INTO db_bruger (bruger, password, admin, navn, alder, komm, email) VALUES ('$bruger', '$password', '$admin', '$navn', '$alder', '$komm', '$email')") or die(mysql_error());
echo "<div align=\"center\"><span class=\"style2\">Brugeren blev oprettet.</span></div>";
} else {  echo "<span class=\"style2\">De to kodeord er ikke ens.</span>";
}
}
?>
Avatar billede wuggawugga Nybegynder
04. november 2005 - 09:57 #8
...

function isValidEmail($email_address) {
  $regex = '/^[A-z0-9][\w.-]*@[A-z0-9][\w\-\.]+\.[A-z0-9]{2,6}$/';
  return (preg_match($regex, $email_address));
}

include 'db.php';

$error = false;

$bruger = $_POST['bruger'];
$navn = $_POST['navn'];
$alder = $_POST['alder'];
$komm = $_POST['komm'];
$email = $_POST['email'];
if(!isValidEmail($email)) {
    print('Email adressen er ugyldig');
    $error = true;
}

...

if(!$error) {
    mysql_query("INSERT INTO db_bruger (bruger, password, admin, navn, alder, komm, email) VALUES ('$bruger', '$password', '$admin', '$navn', '$alder', '$komm', '$email')") or die(mysql_error());
}
Avatar billede kimox Nybegynder
04. november 2005 - 10:14 #9
Ja tak !!! det er jo sådan det skal gøres :D.. mange tak for hjælpen !!
så mangler jeg kun en ting, jeg opretter et spørgsmål mere om lidt.
Avatar billede kimox Nybegynder
04. november 2005 - 10:14 #10
endnu engang tak !

-lukket-
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester