Ziroh Skrevet 29. mai 2010 Del Skrevet 29. mai 2010 (endret) Hei Jeg sliter litt med å få laget et veldig simpelt loginn system. Jeg skal ikke ha database, for det skal kun være 1 bruker som jeg har valgt. Det er 2 koder som jeg har, en html og en php. Jeg har sikkert brukt 1 time på å prøve å sette di sammen, men får det ikke til Håper noen kan hjelpe meg! Kodene er nedenfor.. <?php$bruker = $_GET['bruker']; $passord = $_GET['passord']; if (($bruker == "kongen") && ($passord == "1234")) echo "<h1>HALLA </h1>"; else echo "<h1>HADE </h1>"; ?> <label for="name">Username</label><input name="bruker" type="text" /> <label for="password">Password</label> <input name="passord" type="password" /> <input type="submit" value="submit" /> </form> Endret 30. mai 2010 av cyclo Emnetitel endret da original emnetitetl brøt med forumets retnignslinjer Lenke til kommentar
TheRealL Skrevet 29. mai 2010 Del Skrevet 29. mai 2010 [...] <label for="name">Username</label><input name="bruker" type="text" /> <label for="password">Password</label> <input name="passord" type="password" /> <input type="submit" value="submit" /> </form> Få se <form> greia de. Den skal ligne på denne: <form method="get" action=""> Lenke til kommentar
Ziroh Skrevet 29. mai 2010 Forfatter Del Skrevet 29. mai 2010 mmm.. Den har jeg ikke x)) haha... men det som er greia da, det er masse txt som skal komme opp når man har logget inn. Kan du hjelp meg? Lenke til kommentar
TheRealL Skrevet 29. mai 2010 Del Skrevet 29. mai 2010 (endret) Tja. Kan vel det. Slik ditt system ser ut så er dette sånn jeg ville gjort det: <?php // Per standard så er ikke en bruker logget inn. Så vi definerer det i variablen $loggedIn = false; // Her sjekker vi om formen har blitt sent (submitted) if(!empty($_GET)) { // Samle det hele inn i variabler $bruker = $_GET['bruker']; $passord = $_GET['passord']; // Sjekk om det stemmer if (($bruker == "kongen") && ($passord == "1234")) { // Hvis det gjør det, ja da er brukern logga inn $loggedIn = true; } else { // Hvis ikke, nei da må han logge inn. I tilleg så skriver vi en liten advarsel vi $loggedIn = false; } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Conforming HTML 4.01 Transitional Template</title> </head> <body> <!-- Dette er det samme som og skrive if($loggedIn == true) { ; Dette ser bare bedre ut i en template --> <?php if($loggedIn == true): ?> Du er innlogget <b>Kongen</b>. <?php else: ?> <?php if(!empty($_GET) && $loggedIn == false): ?> <b>Du har skrevet feil brukernavn eller passord. <?php endif; ?> <form> <label for="name">Username</label> <input name="bruker" type="text" /> <label for="password">Password</label> <input name="passord" type="password" /> <input type="submit" value="submit" /> </form> <?php endif; ?> </body> </html> Men skal man gjøre det en smule mer avansert så må man bruke sessions. Kommer tilbake med et session script straks EDIT: Her har du et med sessions. Det anbefaler jeg da det er byggeblokkene for og lage et ordentlig login / logout / register system <?php error_reporting(E_ALL & ~E_NOTICE); // Dette starter en "Session Instance" session_start(); // Hvis brukeren vil logge ut så sletter dette informasjonen som er laget. if($_GET["action"] == "loggut") { $_SESSION = array(); session_destroy(); header("Location: {$_SERVER[php_SELF]}?action=loggut_ok");} // Dette viser en melding om at brukeren har logget ut if($_GET["action"] == "loggout_ok") { $message="Du har logget ut"; } // Her sjekker vi om formen har blitt sent (submitted) if(!empty($_POST)) { // Samle det hele inn i variabler $bruker = $_POST['bruker']; $passord = $_POST['passord']; // Sjekk om det stemmer if (($bruker == "kongen") && ($passord == "1234")) { // Hvis det gjør det, ja da er brukern logga inn $_SESSION["loggedIn"] = true; $_SESSION["bruker"] = $bruker; } else { $message = "Du har skrevet inn feil brukernavn eller passord"; } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Conforming HTML 4.01 Transitional Template</title> </head> <body> <?php if(isset($message)): echo $message . "<br />"; endif; ?> <?php if(@$_SESSION["loggedIn"] == true): ?> Du er innlogget <b><?=$_SESSION["bruker"]?></b>. <br /><a href="?action=loggut">Logg ut</a> <?php else: ?> <form method="post"> <label for="name">Username</label> <input name="bruker" type="text" /> <label for="password">Password</label> <input name="passord" type="password" /> <input type="submit" value="submit" /> </form> <?php endif; ?> </body> </html> Endret 29. mai 2010 av Surmoth Lenke til kommentar
MikkelRev Skrevet 29. mai 2010 Del Skrevet 29. mai 2010 if (($bruker == "kongen") && ($passord == "1234")) { echo "<h1>HALLA </h1>"; echo "masse tekst"; } else { echo "<h1>HADE </h1>"; } Lenke til kommentar
greygenic Skrevet 29. mai 2010 Del Skrevet 29. mai 2010 (endret) Siden du er nybegynner tenkte jeg at du skulle få det så enkelt som mulig: <?php error_reporting(E_ALL ^ E_NOTICE); if (isset($_COOKIE['admin'])) { if ($_GET['MosKake']) { setcookie("admin", "administrator", time()-99999); header('Location:'.$_SERVER['PHP_SELF'].''); } ?> <html> <head> </head> <body> <h3>Innlogget!</h3> <a href="?MosKake=1">Logg ut</a> <?php } else { if ($_POST['OK']) { $Brukernavn = $_POST['Brukernavn']; $Passord = $_POST['Passord']; if (strcmp($Brukernavn, "kongen") === 0 && strcmp($Passord, "12345") === 0) { setcookie("admin", "Administrator"); header('Location:'.$_SERVER['PHP_SELF'].''); } } ?> <html> <head> </head> <body> <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post"> Brukernavn: <input type="text" name="Brukernavn" size="20" /> <br /> Passord: <input type="password" name="Passord" size="20" /> <br /> <input type="submit" name="OK" value="Logg inn" /> </form> <?php } ?> </body> </html> Riktig nok ribbet til benet og forenklet, men det fungerer. Endret 29. mai 2010 av greygenic Lenke til kommentar
slacky Skrevet 30. mai 2010 Del Skrevet 30. mai 2010 Skjønner ikke hvorfor jeg ser ===, når det riktig nok skal fungere med ==? if (strcmp($Brukernavn, "kongen") === 0 && strcmp($Passord, "12345") === 0) Lenke til kommentar
greygenic Skrevet 30. mai 2010 Del Skrevet 30. mai 2010 Skjønner ikke hvorfor jeg ser ===, når det riktig nok skal fungere med ==? if (strcmp($Brukernavn, "kongen") === 0 && strcmp($Passord, "12345") === 0) Er riktig det. Lenke til kommentar
Kaptein Snus Skrevet 31. mai 2010 Del Skrevet 31. mai 2010 Skjønner ikke hvorfor jeg ser ===, når det riktig nok skal fungere med ==? if (strcmp($Brukernavn, "kongen") === 0 && strcmp($Passord, "12345") === 0) Når man bruker "==" så sjekker PHP om verdiene er like. Når man bruker "===" så sjekker PHP om verdiene er like OG at de er av samme type. 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å