Bluebeans Skrevet 14. februar 2004 Del 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 Lenke til kommentar
Nervetattoo Skrevet 15. februar 2004 Del 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. Lenke til kommentar
Bluebeans Skrevet 15. februar 2004 Forfatter Del Skrevet 15. februar 2004 Aaaah, takk. Skal få testa det i morgen Lenke til kommentar
Bluebeans Skrevet 15. februar 2004 Forfatter Del 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 Lenke til kommentar
BlueEAGLE Skrevet 16. februar 2004 Del 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 Lenke til kommentar
Vonbo Skrevet 2. mars 2004 Del Skrevet 2. mars 2004 Noen som kan forklare denne? Cannot send session cookie - headers already sent Komme når siden lastes med dette scriptet. Lenke til kommentar
Torbjørn Skrevet 2. mars 2004 Del 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. Lenke til kommentar
Vonbo Skrevet 2. mars 2004 Del 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. Lenke til kommentar
Torbjørn Skrevet 2. mars 2004 Del 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 Lenke til kommentar
Vonbo Skrevet 2. mars 2004 Del 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 Lenke til kommentar
???????? Skrevet 2. mars 2004 Del 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 Lenke til kommentar
Vonbo Skrevet 2. mars 2004 Del 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? Lenke til kommentar
Torbjørn Skrevet 2. mars 2004 Del Skrevet 2. mars 2004 det får sessions til ikke å virke, hvis du synes det er dumt. Lenke til kommentar
Vonbo Skrevet 2. mars 2004 Del 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 Lenke til kommentar
???????? Skrevet 2. mars 2004 Del 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. Lenke til kommentar
Torbjørn Skrevet 3. mars 2004 Del Skrevet 3. mars 2004 *hysj* litt oppdragelse har man godt av Lenke til kommentar
Vonbo Skrevet 3. mars 2004 Del 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. Lenke til kommentar
Torbjørn Skrevet 3. mars 2004 Del 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? Lenke til kommentar
jeskeide Skrevet 4. mars 2004 Del 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 ? Lenke til kommentar
???????? Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 Du må sette opp tmp mappen i php.ini 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å