Bluebeans Skrevet 14. februar 2004 Skrevet 14. februar 2004 (endret) *peke på topic* Altså at det skal være 2 kontoer. Skriver man (f.eks.) : Username: Admin Password: meinpass så skal man komme til sida: admin.php Når man skriver: Username: vanliguser Password: hallo så kommer man til member.php Admin.php og member.php må jo også være beskytta da Tror ikke svaret ligger hos http://www.hotscripts.com denne gangen.. Noen som veit om en bra løsning? Kan htaccess brukes til dette? Endret 14. februar 2004 av Garbion
Nervetattoo Skrevet 15. februar 2004 Skrevet 15. februar 2004 Her er et enkelt svar. Selve login scriptet: <?php session_start(); if (!empty($_POST['username']) && !empty($_POST['password'])) { if (($_POST['username'] == "Admin") && ($_POST['password'] == "meinpass")) { $_SESSION["access"] = "Admin"; header("Location: admin.php"); } elseif ($_POST['username'] == "vanliguser") && ($_POST['password'] == "hallo")) { $_SESSION["access"] = "Member"; header("Location: member.php"); } else { header("Location: login.html"); } } else { header("Location: login.html"); } ?> Login formen: <form action="auth.php" method="post" name="auth"> <input type="text" name="username" /> <input type="password" name="password" /> <input type="submit" name="auth" /> </form> Hiv dette HELT I STARTEN av Admin fila: <?php session_start(); if ($_SESSION["access"] !== "Admin") { header("Location: not_logged_in_place.html"); } ?> Og dette HELT I STARTEN av Member fila: <?php session_start(); if ($_SESSION["access"] !== "Member") { header("Location: not_logged_in_place.html"); } ?> Litt trøtt, men det skulle funke fint. Du må selvfølgelig forandre de forskjellige filnavnene og passordene brukt her slik som du skal ha det.
Bluebeans Skrevet 15. februar 2004 Forfatter Skrevet 15. februar 2004 Aaaah, takk. Skal få testa det i morgen
Bluebeans Skrevet 15. februar 2004 Forfatter Skrevet 15. februar 2004 Testa det nå allikavel. Det funka perfekt. Bare 1 liten feil du gjorde som jeg fort fant ut: elseif (($_POST['username'] == "user") && ($_POST['password'] == "passord")) { Altså to "(" etter elseif. Tusen takk
BlueEAGLE Skrevet 16. februar 2004 Skrevet 16. februar 2004 (endret) For en enklere beskyttelse som du kan konfigurere flere brukere og/eller grupper så se phpSecurePages. Dessuten så kan jeg også anbefale søkefunksjonen til forumet. Endret 16. februar 2004 av BlueEAGLE
Vonbo Skrevet 2. mars 2004 Skrevet 2. mars 2004 Noen som kan forklare denne? Cannot send session cookie - headers already sent Komme når siden lastes med dette scriptet.
Torbjørn Skrevet 2. mars 2004 Skrevet 2. mars 2004 session sendes med cookies, som feilmeldingen implisitt sier. cookies er en del av HTTP headers (HTTP er navnet på protokollen du bruker når du surfer) Man trenger ikke kunne HTTP for å drive med php, men man må vite at headers skal være øverst, før noen som helst annen output. Det er nok med en liten linjeskift for å ødelegge dette. Så pass på at du ikke har skrevet ut noe innhold eller tomme linjer øverst i phpfila før du starter sessions.
Vonbo Skrevet 2. mars 2004 Skrevet 2. mars 2004 Hm.. en lærer hver dag. Jeg er klar over at headeren skal være øverst, men har ikke en tom linje før eller i php-scriptet... Warning: Cannot send session cache limiter - headers already sent (output started at /customers/XXXX.com/XXXX.com/httpd.www/index.phtml:5) in /customers/XXXX.com/XXXX.com/httpd.www/index.phtml on line 18 Linje 18: 17 <? 18 session_start(); 19 if (!empty($_POST['username']) && !empty($_POST['password'])) { Mulig jeg overser små viktige ting, her, men jeg har ikke erfaring nok til å være med på denne... ps: Torbjørn: jobber du her? bare nysgjerrig. du er her mye.
Torbjørn Skrevet 2. mars 2004 Skrevet 2. mars 2004 jobber ikke her nei, er heller ikke innom så mye, men svarer på en del når jeg først stikker innom på et eller annet tidspunkt så kommer det output.. fila inkluderes ikke i en annen da kanskje? kan forøvrig bytte ut <? med <?php
Vonbo Skrevet 2. mars 2004 Skrevet 2. mars 2004 på et eller annet tidspunkt så kommer det output.. fila inkluderes ikke i en annen da kanskje? Skjønner ikke helt. Hva mener du med inkludert? En må ikke ha sessiontest på alle sidene vel? Jeg har loginscriptet i index.phtml , og en sessiontest på bilder.phtml. Jeg finner fortsatt ikke feilen. Ettersom det står her at andre har fått det til å virke er det jo ikke scriptet det er noe galt med... Denne forsvinner når jeg trykker på login, uten å skrive inn. Men det er fortsatt to igjen når etterpå som ikke vil bort. Warning: Cannot add header information - headers already sent by (output started at /customers/xxx.com/xxx.com/httpd.www/index.phtml:5) in /customers/xxx.com/xxx.com/httpd.www/index.phtml on line 33
???????? Skrevet 2. mars 2004 Skrevet 2. mars 2004 Det er ikke line 33 eller 18 som er problemet - ...httpd.www/index.phtml:5) Du har startet en output på line 5 eller så kommer første php tag på linje 5 (du har html eller blanke felter før php taggen) Pass på at det ikke er noen echo eller print på linje 5 - og at det ikke er noen tegn (inkl tomme tegn) før <?php
Vonbo Skrevet 2. mars 2004 Skrevet 2. mars 2004 Så du mener at scriptet må ligge helt på toppen i dokumentet? Ja, jeg har html rundt scriptet, er det dumt?
Torbjørn Skrevet 2. mars 2004 Skrevet 2. mars 2004 det får sessions til ikke å virke, hvis du synes det er dumt.
Vonbo Skrevet 2. mars 2004 Skrevet 2. mars 2004 (endret) Men jeg prøvde å legge scriptet over <html> starttagen, og da brukten leseren evig lang tid på å laste siden... nå skjer det ting her ja. tror jeg har resten. Takk for hjelpen! Endret 2. mars 2004 av Vonbo
???????? Skrevet 2. mars 2004 Skrevet 2. mars 2004 det får sessions til ikke å virke, hvis du synes det er dumt. Det er også mulig å starte en output kontroller på starten av scriptet - og skrive alt etter session. Se http://no.php.net/outcontrol Men det "ekleste" er ofte likevel å starte scriptet med session, eventuelt så kan du include en session fil i starten av scriptet, hvor du har hele sessionkoden din.
Vonbo Skrevet 3. mars 2004 Skrevet 3. mars 2004 Oppdragelse er vel og bra, men enda bedre når dere lærer meg Jeg får fortsatt denne, og jeg har ikke et eneste mellomrom før scriptet... har sittet siden 11 i dag, og jeg finner ikke noe som er feil. Parse error: parse error, unexpected T_BOOLEAN_AND in /customers/xxx.com/xxx.com/httpd.www/index.phtml on line 8 Si fra hvis dere trenger mer informasjon, jeg er evig takknemelig for all hjelp.
Torbjørn Skrevet 3. mars 2004 Skrevet 3. mars 2004 kan du paste linje 5 til linje 12 så vi får sett hva som skjer på linje 8? merk at feilmeldingen faktisk BETYR noe. Hvis du ikke får feilen "headers already sent etc.." så har du ikke noe problem med output før session_start(); rimeligvis. her er det noe annet feil, en ren syntaks feil, i go med at den sier parse error. Det bør ikke være noen stor sak å finne feilen der? et ellet annet rart på linje 8, en AND som kanskje er feil? har du en if setning der? feilplassert && kanskje?
jeskeide Skrevet 4. mars 2004 Skrevet 4. mars 2004 Jeg har prøvd scriptet som står på toppen her... men får d ikke til å virke... uansett hva jeg skriver i login vinduet får jeg bare opp når jeg trykker på submit knappen... finner ikke siden auth! filen fins å gode greier. når jeg plukker vekk session_start(); så funker scriptet... så jeg regner med at d er noe med serveren min å gjøre. er d noe spesielle instillinger som må gjøres for å få session til å fungere ?
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å