09. juni 2004 - 20:10Der er
14 kommentarer og 1 løsning
Tjek værdi! HVORDAN?
Hej igen. Jeg vil også gerne have postnr. på min login, men behøver ikke godkendelse, det eneste er at jeg gerne vil have at den tjekker at nummeret består af 4 numre, hvordan gør jeg det. Det samme med email: jeg vil gerne have at den vil have: x@x.dk hvordan gør jeg det?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Slettet bruger
09. juni 2004 - 20:14#1
Der skal du vidst over i PHP, og mht. det sidste, skal du have fat i en regexp!
en regular expression burde kunne klare det hvordan afhænger af det programmerings sprog du skriver i og du burde nok oprette i katagorien for det sprog.
Jeg er ikke så perfekt til det, så kunne i ikke lave en kode med det til mig i php. Det skal være noget if. I kan se hvad det skal bruges til her. www.friendsavisen.1go.dk/login/create.html Jeg ville være så taknemmelig hvis i giver koden færdiglavet. :-)
include("access.php"); $query = "SELECT id, user, pass FROM login WHERE user = '".$bruger."'"; $result = mysql_query($query)or die("MySQL fejl: " . mysql_error()); $test = mysql_fetch_array($result);
if (!$_POST["bruger"] | !$_POST['pass'] | !$_POST['passa'] | !$_POST['mail'] | !$_POST['post']){ echo "<script type=\"text/javascript\">alert(\"Alle felter med * SKAL udfyldes!!!\");history.go(-1)</script>"; }
if (@$_POST['pass'] != @$_POST['passa']){ echo "<script type=\"text/javascript\">alert(\"Koderne er ikke identiske\");history.go(-1)</script>"; }
if (isset($test['user'])) { print(" <font face='verdana' size='2' color='#ff0000'> <b>Brugernavnet \"$bruger\" er allerede optaget vælg venligst et nyt </b></font><br> <font face='verdana' size='2' color='#000000' text-decoration='none'> <a href='create.html'>Tilbage</a></font>"); } else { $sql = "INSERT INTO login (id, user, pass, email, postnr, telefon) VALUES ('', '$bruger', '$pass', '$mail', '$post', '$tele')"; mysql_query($sql); echo "<script type=\"text/javascript\">alert(\"Kodeordet og de andre oplysninger vil nu blive vist!!!\")</script>"; print(" <font face='verdana' size='2' color='#669900'> <b> Bruger: $bruger <br> Password: $pass <br> Email: $email <br> Postnummer: $postnr <br> Telefonnummer: $telefon <br> Er nu oprettet </b></font><br> <font face='verdana' size='2' color='#000000' text-decoration='none'> <a href='login.php'>Login</a></font>"); } ?>
Synes godt om
Slettet bruger
09. juni 2004 - 23:23#12
Når du i toppen tildeler alt postet data en variabel, hvorfor bruger du dem så ikke i dine if-sætninger?
Her tænker jeg på f.eks: if (!$_POST["bruger"] | !$_POST['pass'] | !$_POST['passa'] | !$_POST['mail'] | !$_POST['post']){ ...
Kunne skrives som: if (!$bruger | !$pass | !$_POST['passa'] | !$email | !$postnr){ - det er grundlæggende lige meget, men når du tildeler dem, burde de vel også blive brugt.. :)
For at tjekke postnr's længde, kan du smide en ifsætning ind mellem de andre:
if (strlen($postnr) != 4) { die("Postnummer skal være på 4 tegn"); }
if ( ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $email)) { die("Din email skal være x@x.tld"); }
Bemærk at denne regExp ikke sikrer mig at man skriver "æblegrød@õstrãg.zxy" - men kun x@x.tld :)
Postnr. virker fint, men når jeg bruger den med email, så sker der bare de, at den ikke vil finde sig i at der er @ eller . i. Hvis jeg skriver noget som "asfas" så går den igennem!
Synes godt om
Slettet bruger
10. juni 2004 - 10:40#14
Nåja, doh
if (!ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $email)) { die("Din email skal være x@x.tld"); }
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.