Smidt Skrevet 26. august 2004 Del Skrevet 26. august 2004 (endret) jeg bruker et innloggingsscript som funker sånn delvis. og lurer på om jeg kan få litt hjelp til å få det til å fungere optimalt. her er koden som sjekker om infoen fra skjemaet er riktig: <?php session_start(); header("Cache-control: private"); $passord = md5($_POST['passord']); $brukernavn = 'brukernavn'; $md5_passord = 'dfa7b4911dea450657bf517eae50513b'; header("Location: http://cms.predicted.net/index.php"); if($_POST['navn'] == $brukernavn && $passord == $md5_passord) { $_SESSION['navn'] = $_POST['navn']; // regner ikke med det finnes noen annen $navn variabel $_SESSION['passord'] = $passord; echo "Du er nå logget inn."; } // end if else { echo "Feil brukernavn eller passord"; } // end else ?> om innloggingen er riktig sendes du til en ny side som er spesifisert i header der sjekkes det om du er logget inn før siden vises, følgende kode ligger altså over header, html og body taggene. <?php session_start(); $author=$_SESSION['navn']; if(isset($_SESSION['navn']) && isset($_SESSION['passord'])) { } else { echo "Du må være logget inn for å nå disse sidene!"; exit; } ?> så langt funker det bra, men jeg vil gjerne legge til en legge til en header location som gjør at om sjekken finner at du ikke er logget inn blir du sendt til skjemaet. edit: jeg legger sjekken i index.php som inkluderer resten av filene på siden, når jeg inkluderer en annen fil får jeg opp at jeg må være logget inn. har jeg lagt sjekken feil sted? det hadde også vært supert om noen kan hjelpe meg med en liten logout snutt. Endret 28. august 2004 av Smidt Lenke til kommentar
Lemkin Skrevet 26. august 2004 Del Skrevet 26. august 2004 (endret) Mitt logoutscript jeg har på en av sidene jeg lager: case 'loggut': $_SESSION = array(); session_destroy(); echo '<h2>Logg ut.</h2>' .'<p>Trykk <a href="../?side=nyheter">her</a> for å logge ut.</p>'; include './includes/footer.html'; die(); break; Litt feil å si "trykk her for å logge ut" siden sessionen allerede er dø, men Har helt sikkert sterkt forbedringspotensiale Kan også si at jeg bruker denne koden for å skjekke om man er logget inn: session_start(); if (isset($_SESSION['brukernavn'])) { // masse rart } else { echo 'Du har ikke tilgang til denne siden.' .'Trykk <a href="../?side=nyheter">her</a> for å gå tilbake.'; } merk at jeg har en egen admin mappe som man blir reconnecta til om man har rett brukernavn og passord som ligger i en db. Endret 26. august 2004 av smoothie Lenke til kommentar
Smidt Skrevet 26. august 2004 Forfatter Del Skrevet 26. august 2004 måten du sjekker om en burker er logget inn på gjør jo at du må echoe ut alt innholdet på siden eller? Lenke til kommentar
Lemkin Skrevet 26. august 2004 Del Skrevet 26. august 2004 Nei, eller.. Alt av tekst på siden ligger i en database. Så teksten blir vel echoa ut om du tenker det sånn fra databasen. Ellers kan man vel "operere" som om det var den vanlige siden innenfor if (isset($_SESSION['brukernavn'])) { // masse rart } Lenke til kommentar
Smidt Skrevet 26. august 2004 Forfatter Del Skrevet 26. august 2004 jeg skulle aller helst hatt en sak som kan ligge som en sjekk helt øverst på siden. noe ala den jeg har postet over, men som må virke. blir litt tungvint å enten måtte require en fil om innloggingen har skjedd, eller sende til innloggingsskjemaet om det ikke stemmer. det som hadde vært best ville vært en sjekk som bare stopper opp om det ikke er logget inn, og om det er logget inn vises bare siden. Lenke til kommentar
jorgis Skrevet 27. august 2004 Del Skrevet 27. august 2004 (endret) <?php session_start(); header("Cache-control: private"); $passord = md5($_POST['passord']); $brukernavn = 'brukernavn'; $md5_passord = 'dfa7b4911dea450657bf517eae50513b'; header("Location: http://cms.predicted.net/index.php"); if($_POST['navn'] == $brukernavn && $passord == $md5_passord) { $_SESSION['navn'] = $_POST['navn']; // regner ikke med det finnes noen annen $navn variabel $_SESSION['passord'] = $passord; echo "Du er nå logget inn."; } // end if else { echo "Feil brukernavn eller passord"; } // end else ?> kan bli til <?php session_start(); header("Cache-control: private"); $passord = md5($_POST['passord']); $brukernavn = 'brukernavn'; $md5_passord = 'dfa7b4911dea450657bf517eae50513b'; header("Location: http://cms.predicted.net/index.php"); if($_POST['navn'] == $brukernavn && $passord == $md5_passord) { $_SESSION['navn'] = $_POST['navn']; $_SESSION['passord'] = $passord; header("Location: http://cms.predicted.net/index.php"); } // end if else { header("Location: http://cms.predicted.net/feilpassordprøvigjen.php"); } // end else ?> Endret 27. august 2004 av jorgis Lenke til kommentar
Torbjørn Skrevet 27. august 2004 Del Skrevet 27. august 2004 hvorfør ønsker du å lagre passordet i session? Lenke til kommentar
Smidt Skrevet 27. august 2004 Forfatter Del Skrevet 27. august 2004 jeg har egentlig ikke noe behov for å lagre noe annet enn brukernavnet, men det jeg sliter med nå er sjekken om du er logget inn eller ikke. om jeg legger til koden til jorgis over helt øverst i index.php (som inkluderer resten av sidene) blir jeg sendt tilbake til innloggingssiden. Lenke til kommentar
Smidt Skrevet 28. august 2004 Forfatter Del Skrevet 28. august 2004 jeg har prøvd meg litt frem og tilbake og nå har jeg fått innloggingen til å funke i IE, men ikke i opera. koden som henter info fra skjema og sjekker om brukernavn og passord er riktig: ?php session_start(); header("Cache-control: private"); $passord = md5($_POST['passord']); $brukernavn = 'Roald Jespersen'; $md5_passord = 'dfa7b4911dea450657bf517eae50513b'; header("Location: http://cms.predicted.net/index.php"); if($_POST['navn'] == $brukernavn && $passord == $md5_passord) { $_SESSION['navn'] = $_POST['navn']; header("Location: http://cms.predicted.net/index.php"); } // end if else { header("Location: http://cms.predicted.net/login/"); } // end else ?> og så koden som ligger øverst i index.php som inkluderer diverse sider: <?php session_start(); header("Cache-control: private"); if(isset($_SESSION['navn'])) { $author=$_SESSION['navn']; } else { header("Location: http://cms.predicted.net/login/"); echo"Du må logge inn får å nå disse sidene"; } er veldig takknemlig om noen kan ta en titt på koden og se over om det er noen feil. jeg har lest i manualen uten å bli så veldig mye klokere, har googlet en del og uten hell. 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å