Joachimv Skrevet 31. oktober 2009 Del Skrevet 31. oktober 2009 Prøver å få til en e-post-sjekk i gjesteboka mi men får det fanken ikke til! Her er koden uten de funksjonene jeg har prøvd: <form method="post" action="?gjest" name="gjest"> Namn:<br><input maxlength="30" size="25" name="namn"><br><br> E-post:<br><input maxlength="30" size="25" name="epost"><br><br> Kommentar:<br><textarea cols="30" rows="3" name="kommentar"> </textarea> <br> <br> <input name="store" value="Lagre" type="submit"></form> <?php include 'db.php'; retrieve(); $kommentar = $_POST['kommentar']; $namn = $_POST['namn']; $epost = $_POST['epost']; $store = $_POST['store']; if ($store) store($namn,$epost,$kommentar); function store($namn,$epost,$kommentar) { date_default_timezone_set("Europe/Oslo"); $dato = date("Y-m-d H:i:s"); $resultat = mysql_query("INSERT INTO gjestdb VALUES ('$dato', '$namn', '$epost', '$kommentar')"); if (!$resultat) echo "<br><b>Dataene er ikke godkjent!</b>"; else $store = false; } function retrieve() { $query = "SELECT * FROM gjestdb ORDER BY dato DESC"; $result = mysql_query($query); $number = mysql_numrows($result); $runner = 0; while ($runner < $number) { $dato = mysql_result($resulta, $runner,"dato"); $namn = mysql_result($result, $runner,"namn"); $epost = mysql_result($result, $runner,"epost"); $kommentar = mysql_result($result, $runner,"kommentar"); echo "<br><br><b>$namn skreiv: </b><br> $kommentar <br>"; $runner++; } } ?> Lenke til kommentar
footnote Skrevet 31. oktober 2009 Del Skrevet 31. oktober 2009 Har du prøvd google? http://www.linuxjournal.com/article/9585 http://articles.sitepoint.com/article/user...ail-address-php http://www.totallyphp.co.uk/code/validate_...expressions.htm Noen utdrag fra googles velv av kunnskap Lenke til kommentar
Joachimv Skrevet 31. oktober 2009 Forfatter Del Skrevet 31. oktober 2009 Er nettopp derfor jeg spør. Jeg vet ikke hvor henn i det jeg allerede har det skal være. Det jeg har prøvd meg på er dette scriptet: if (isset($_POST['epost'])) $epost = $_POST['epost']; $sok1 = "@"; $sok2 = "."; function sjekk_streng($streng,$sok) { $sjekk = strpos($streng,$sok); if ($sjekk == FALSE) return FALSE; else return TRUE; if ((sjekk_streng($epost,$sok1)== TRUE) AND (sjekk_streng($epost,$sok2)== FALSE) ) { echo "<br><b>$epost er ei gyldig e-postadresse<b>"; } else { echo "<br><b>$epost er ikkje ei gyldig e-postadresse</b>"; } } Lenke til kommentar
Alex Moran Skrevet 31. oktober 2009 Del Skrevet 31. oktober 2009 <?php filter_var('[email protected]', FILTER_VALIDATE_EMAIL) ?> Lenke til kommentar
Joachimv Skrevet 31. oktober 2009 Forfatter Del Skrevet 31. oktober 2009 Men hvor setter jeg den? Og hvordan hindrer jeg om det ikke er gyldig i å komme i databasen? Lenke til kommentar
footnote Skrevet 31. oktober 2009 Del Skrevet 31. oktober 2009 Du bør kanskje følge en og annen tutorial slik at du lettere skjønner sammenhengen i den koden du har. Men ja enten sjekker du før du kaller store funksjonen, eller så sjekker du i den. Det hele er egentlig veldig logisk. Du må jo sjekke eposten før du setter den inn i eposten, MySQL lagrer bare det den får beskjed om. Og du kan ikke sjekke e-posten før du har mottatt den fra brukeren. altså må $_POST['epost'] være satt før du kan sjekke den # her sjekker du før du kjører store if ($store) { if(($fepost = filter_var($epost, FILTER_VALIDATE_EMAIL))) store($namn,$fepost,$kommentar); else echo "Ugyldig e-post: $epost"; } #her sjekker vi i store. Store kan da returnere false dersom det ikke blir lagret function store($namn,$epost,$kommentar) { date_default_timezone_set("Europe/Oslo"); $dato = date("Y-m-d H:i:s"); # sjekk e-post før du prøver å lagre den i mysql if (($fepost = filter_var($epost, FILTER_VALIDATE_EMAIL))) { $resultat = mysql_query("INSERT INTO gjestdb VALUES ('$dato', '$namn', '$fepost', '$kommentar')"); if (!$resultat) { echo "<br><b>Dataene er ikke godkjent!</b>"; return False; } else { $store = false; // hva mente du med denne? echo "Kommentar lagret i gjestebok"; } } else { echo "Ugyldig e-postadresse: $epost"; return False; } return True; } sånn ca. Lenke til kommentar
Joachimv Skrevet 31. oktober 2009 Forfatter Del Skrevet 31. oktober 2009 Da fikk jeg det til Takker for hjelpa! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå