22. september 2004 - 23:14Der er
16 kommentarer og 1 løsning
Login system
Hej Jge er ved og lave et login ind system til en ny hjemmeside, jeg er ikke så god til php/mysql men prøver dog alligevel..
Jeg har lavet login systemmet, og det virker også bare ikke efter planen, hvis man indstaster et forkert brugernavn eller adgangskode, laver den ny side hvor der står forkert brugernavn eller adgangskode..
Jeg ønsker at den bliver på samme side og bare skriver fejlen med rødt, over det formfelt som er indtastet forkert..
<table width="751" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td colspan="2"> <?php include "includes/header.php"; ?> </td> </tr> <tr> <td height="10" colspan="2"><img src="hp_billeder/mellemrum.gif" width="1" height="1"></td> </tr> <tr> <td width="159" height="383" valign="top"> <?php include "includes/menu.php"; ?> <?php include "includes/nyheder.php"; ?> </td> <td width="592" align="right" valign="top"> <table class="body" width="572" border="0" cellpadding="0" cellspacing="0" background="hp_billeder/graymidbottom.gif"> <tr> <td width="3%"><img src="hp_billeder/mid_corner_left.gif" width="21" height="19"></td> <td width="94%" class="menuoverskrift" background="hp_billeder/mid_streng.gif"> <div align="center" >Medlems login !</div></td> <td width="3%"><div align="right"><img src="hp_billeder/mid_corner_right.gif" width="21" height="19"></div></td> </tr> <tr> <td> </td> <td><div align="center"><br> Log ind på: <br> <img src="hp_billeder/mitsu_logo_graa.gif" width="58" height="49"><font class="overskrift"> <?php echo NAVN; ?> </font><img src="hp_billeder/mitsu_logo_graa.gif" width="58" height="49"></div></td> <td> </td> </tr> <tr> <td height="210"> </td> <td align="left" valign="top"> <table class="body" width="86%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td> </td> <td> </td> </tr> <tr> <td height="76" colspan="2">Hvis du allerede har oprettet en profil, skal du blot indtaste dit brugernavn samt adgangskode og trykke på login. <br> <br> Hvis du endnu ikke har oprettet dig som bruger, kan du gøre det <a href="ny.php">her</a>.</td> </tr> </table> <form action="tjek_user.php" method="get"> <table class="body" width="53%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="34%" height="28">Brugernavn:</td> <td width="66%" height="25"> <input type="text" size="20" name="username" maxlength="20" class="input"> </td> </tr> <tr> <td>Adgangskode:</td> <td height="25"> <input type="password" size="20" name="passcode" maxlength="15" class="input"> </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr align="center"> <td colspan="2"> <input type="submit" name="submit" value="Login" class="button"> </td> </tr> </table> </form></td> <td> </td> </tr> <tr> <td height="21"> </td> <td> </td> <td> </td> </tr> <tr> <td height="21"> </td> <td><div align="center">Har du glemt din adgangskode eller brugernavn? Tryk <a href="glemt.php">her</a>.</div></td> <td> </td> </tr> <tr> <td height="21"><img src="hp_billeder/grayleftbottom.gif" width="21" height="21"></td> <td> </td> <td><div align="right"><img src="hp_billeder/grayrightbottom.gif" width="20" height="21"></div></td> </tr> </table> <div align="center"></div></td> </tr> <tr> <td height="15" colspan="2"> </td> </tr> <tr> <td height="15" colspan="2"><div align="center"> <?php include "includes/footer.php"; ?> </div></td> </tr> </table> </body> </html>
Tjek_user.php <? addslashes($username); addslashes($passcode); $new_password = md5($passcode); require("db_ind.inc"); $passquery = mysql_query("SELECT password, id FROM brugere WHERE username = '$username'"); if (!mysql_num_rows($passquery)) { echo "<font color=\"red\">Ugyldigt brugernavn!<p></font>"; echo "<br><br><a href=\"java script: history.back();\">Tryk her for at komme tilbage og forsøge igen!</a>"; exit(); } else { if($row = mysql_fetch_array($passquery)) { $dbpassword = $row["password"]; $profilid = $row["id"]; } if($dbpassword == $new_password) { $login = (true); } if ($dbpassword != $new_password) { echo "<font color=\"red\">Forkert brugernavn eller adgangskode!!!<br><br></font>"; echo "Hvis du ikke kan huske din adgangskode<br>kan du få den tilsendt, ved at trykke <a href=\"glemt.php\">her</a>.<br>"; echo "<br><br><a href=\"java script: history.back();\">Tryk her for at komme tilbage og forsøge igen!</a>"; exit(); } setcookie("coo_username","$username",time()+3600); setcookie("coo_password","$new_password",time()+3600); setcookie("coo_profilid","$profilid",time()+3600); $today = date("d-m-Y"); require("db_ind.inc"); mysql_query("UPDATE brugere set lastlogin = '$today' WHERE username = '$coo_username'"); header("Location: muligheder.php"); } ?>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Den fejler ikke nogen, det er måden den skriver fejl på.. Hvis du indtaster et forkert brugernavn eller kode, skriver den i et helt tomt vindue "Forkert brugernavn eller adgangskode!!!"
Kan man ikke på eller anden måde få den til og blive på login siden, og skrive fejlen over det felt der er indtastet med forkert, så man bare kan prøve igen uden og skulle trykke tilbage
Hvis du vil have den til at finde ud af præcist, hvad det er for et felt, der er fejl på, så skal du smide det igennem en if/else løkke, som så tjekker det.
noget ala.
$fejl = ""; if(!$brugernavn) { $fejl .= "Du skal indtaste et brugernavn, for at kunne logge ind!<br>\n"; } elseif(!$password) { $fejl .= "Du skal indtaste et password, for at kunne logge ind!<br>\n"; } elseif($password != $dbpassword) { $fejl .= "Det indtastede password er forkert, prøv igen!<br>\n"; } elseif{ $fejl .= "Det indtastede brugernavn er forkert, prøv igen!<br>\n"; } else { header("Location: logged_ind.php"); }
skal du så smide dette ind, hvor du vil have fejlen til at stå:
<? if($fejl) { echo $fejl; } ?>
så skal den anden if/elseif/else løkke selffølgelig tilpasses ind i dit script, dvs. alle de steder hvor du har noget ala:
if (!mysql_num_rows($passquery)) { echo "<font color=\"red\">Ugyldigt brugernavn!<p></font>"; echo "<br><br><a href=\"java script: history.back();\">Tryk her for at komme tilbage og forsøge igen!</a>"; exit(); }
skal du så lave den med $fejl, eller hvad du vil kalde den. :)
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.