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 https://www.diskusjon.no/topic/1168146-e-postsjekk-i-gjestebok/
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 https://www.diskusjon.no/topic/1168146-e-postsjekk-i-gjestebok/#findComment-14602956
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 https://www.diskusjon.no/topic/1168146-e-postsjekk-i-gjestebok/#findComment-14603028
Alex Moran Skrevet 31. oktober 2009 Del Skrevet 31. oktober 2009 <?php filter_var('[email protected]', FILTER_VALIDATE_EMAIL) ?> Lenke til kommentar https://www.diskusjon.no/topic/1168146-e-postsjekk-i-gjestebok/#findComment-14603957
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 https://www.diskusjon.no/topic/1168146-e-postsjekk-i-gjestebok/#findComment-14604017
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 https://www.diskusjon.no/topic/1168146-e-postsjekk-i-gjestebok/#findComment-14604655
Joachimv Skrevet 31. oktober 2009 Forfatter Del Skrevet 31. oktober 2009 Da fikk jeg det til Takker for hjelpa! Lenke til kommentar https://www.diskusjon.no/topic/1168146-e-postsjekk-i-gjestebok/#findComment-14605049
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å