Hayer Skrevet 26. mars 2007 Del Skrevet 26. mars 2007 Hei! Noen som gidder å se gjennom her? finner ingen feil jeg....men skum leste bare Admin.php - Lager skjemaet <form action="admin_login.php" method="get"> Brukernavn:<br> <input type="text" name="navn"><br> Passord:<br> <input type="passord" name="pass"><br> <input type="submit" name="knapp" value="Logg inn : )"> </form> Admin_login.php - Sjekker brukernavn og pass <? session_start(); if ( ($_GET['navn']== "hayer") && ($_GET['pass']== "hemmelig") ) { $_SESSION['innlogget'] = true; echo "Du er nå innlogget!"; ?> <br> <a href="admin_nyhet.php">Nyhet</a> <? } else echo "Feil brukernavn/passord, prøv igjen"; } else echo "<form action="" method="get"> Brukernavn:<br> <input type="text" name="navn"><br> Passord:<br> <input type="passord" name="pass"><br> <input type="submit" name="knapp" value="Logg inn : )"> </form>" } ?> Admin_logut.php - Logger ut hvis trykkes <? session_start(); if (isset($_SESSION['innlogget'])){ echo "Du blir nå logget av..."; $_SESSION['innlogget'] = false; } else echo "Ikke innlogget, så du kan ikke logge ut..."; } ?> admin_sjekk.php - sjekker om personen er logget inn <? session_start(); function sjekk(){ if ( false == $_SESSION['innlogget'] ) { header("Location: http://pederslekeland.com"); exit(); } } ?> Problemet er at når jeg logger inn kommer det ikke opp noe! Har webserver hos one.com så skulle gå greit Lenke til kommentar
mske Skrevet 26. mars 2007 Del Skrevet 26. mars 2007 (endret) Offtopic: Du burde kanskje tenke deg om en gang til før du sender passord med $_GET Endret 26. mars 2007 av -Magne- Lenke til kommentar
Anders Moen Skrevet 26. mars 2007 Del Skrevet 26. mars 2007 if ( ($_GET['navn']== "hayer") Dette ser ikke akkurat riktig ut...men ikke bruk GET i passordet, i hvertfall ikke uten noen kryptering (md5, sha1, eller noe annet) Lenke til kommentar
magicgunnar Skrevet 26. mars 2007 Del Skrevet 26. mars 2007 Hei!Noen som gidder å se gjennom her? finner ingen feil jeg....men skum leste bare Admin.php - Lager skjemaet <form action="admin_login.php" method="get"> Brukernavn:<br> <input type="text" name="navn"><br> Passord:<br> <input type="passord" name="pass"><br> <input type="submit" name="knapp" value="Logg inn : )"> </form> Er det gyldig å gi input type="passord" ? Prøv å endre dette? Eventuelt print print_r($_GET); øverst på siden som tar imot og se hvilke parametre som har kommet med! Vil også i likhet med andre her fraråde å bruke get til å sende passord. Tenk deg at noen følger en lenke fra siden din til en annen side og denne andre siden logger "referrer" og vips denne andre siden har passordet ditt i loggen sin! Lenke til kommentar
Ståle Skrevet 26. mars 2007 Del Skrevet 26. mars 2007 <input type="password" name="pass"><br> Jeg ville hatt session_start() i index filen. Så burde du ha: <form action="admin_login.php" method="POST"> og $_POST istedenfor $_GET på resten av scriptet Lenke til kommentar
Bakke Skrevet 26. mars 2007 Del Skrevet 26. mars 2007 (endret) Det jeg ser: - session_start() i alle filene - type er password ikke passord - Tror kansje det kan lage krøll å avslutte php scriptet og fortsette i neste script med else, også noen andre feil med blanding av php og html. Men ditt script er ikke kommet så lang enda, fordi det avslutter pga feil med type ... Admin_login.php burde kansje være slik: Klikk for å se/fjerne innholdet nedenfor PHP <? session_start(); if ( ($_GET['navn']== "hayer") && ($_GET['pass']== "hemmelig") ) { $_SESSION['innlogget'] = true; echo "Du er nå innlogget!"; echo '<br>'; echo '<a href="admin_nyhet.php">Nyhet</a>' } else { // Dette tegnet glemte du... echo "Feil brukernavn/passord, prøv igjen"; } else { echo '<form action="" method="get"> Brukernavn:<br> <input type="text" name="navn"><br> Passord:<br> <input type="passord" name="pass"><br> <input type="submit" name="knapp" value="Logg inn : )"> </form>' // En del feil blanding av php og html oppi her... } ?> Edit: Husk at når du bruker echo til html kode inni php scriptet bruker du ' . F.eks: echo '<a href="www.diskusjon.no">Link til diskusjon.no</a>'. Vis ikke vil " tulle med hermetegnene inne i html koden... Alternativ til $_SESSION['innlogget'] = "false";, session_destroy();. Du hadde glemt "" rundt false btw... Endret 26. mars 2007 av mhbakke Lenke til kommentar
ZoRaC Skrevet 26. mars 2007 Del Skrevet 26. mars 2007 false er en boolean-verdi, ikke string, så false er rett, "false" er feil Men, nå er ikke PHP særlig nøye på slikt da Lenke til kommentar
Bakke Skrevet 26. mars 2007 Del Skrevet 26. mars 2007 La ikke merke til at true ikke var i hermetegn, trudde han ville ha string'en "false" Lenke til kommentar
The_Lozer Skrevet 27. mars 2007 Del Skrevet 27. mars 2007 ser veldig ut som om du mangler noen { tegn 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å