Vonbo Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 (endret) Jeg har ikke gjort noe med hverken php.ini eller auth. Er det problemet mitt? Har det noe å si om innloggingsskjemaet står lenger ned på siden? Sessionen skal vel uansett ha lagret verdier etter innlogging, så det må vel gå bra!? Endret 4. mars 2004 av Vonbo Lenke til kommentar
Vonbo Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 Tar det litt skritt for skritt nå. Først og fremst. Stemmer det at hele dette scriptet skal ligge over <html> tagen? Altså på følgende måte: <?php session_start(); if (!empty($_POST['username']) && !empty($_POST['password'])) { if (($_POST['username'] == "xxx") && ($_POST['password'] == "xxx")) { $_SESSION["access"] = "Admin"; header("Location: admin.php"); } elseif (($_POST['username'] == "bruker") && ($_POST['password'] == "brukerpass")) { $_SESSION["access"] = "Member"; header("Location: member.php"); } else { header("Location: index.phtml"); } } else { header("Location: index.html"); } ?> <html> <head> ...osv Lenke til kommentar
???????? Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 Du trenger ikke å sjekke om variablene er tomme først, for å så sjekke verdiene. Ta bort if(!empty... Hva er navnet på den siden? Brukerene sendes til andre sider, sikker på at scriptet der er rett? Alltid stopp et script etter du har sendt en bruker videre exit; Sjekk i php.ini hva session mappen er, tror den defalt er /tmp som på en windowsmaskin tilsvarer c:\tmp Er det verdien kan du bare opprette den mappen. Lenke til kommentar
Vonbo Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 <form action=""> hva skal stå her? Skal scriptet være på samme side som skjemaet? Dette er flaut, men jeg får det ikke til. her er hele php.ini sessiondelen. er det noe som er feil her? [Session] session.save_handler = files save_handler session.use_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.cookie_domain = session.serialize_handler = php session.gc_probability = 1 session.gc_divisor = 100 session.gc_maxlifetime = 1440 session.bug_compat_42 = 1 session.bug_compat_warn = 1 session.referer_check = session.entropy_length = 0 session.entropy_file = ;session.entropy_length = 16 ;session.entropy_file = /dev/urandom session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 0 url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset=" Lenke til kommentar
???????? Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 Du har en linje under [session] som default ser ca. slik ut: session.save_path = /tmp Hvis den gjøre det kan du bare lage mappen c:\tmp eller du kan endre den og lage den mappen du har endret det til. Du kan sette den til f.eks. c:/web/tmp (eller bruk \) <form> burde ha minst elementene method og action method er hvilken metode som skal benyttes, f.eks. post eller get action er siden den skal sendes til. Tar du ikke med action vil de fleste browsere sende skjemaet til siden det er på. Lenke til kommentar
aog Skrevet 9. mars 2004 Del Skrevet 9. mars 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. På brukernavn... kan jeg få det til å fungere slik at du må skrive et av <nickname> fra denne lista? Skal fungere uansett hvilke navn ut av denne lista du bruker. Lenke til kommentar
Torbjørn Skrevet 9. mars 2004 Del Skrevet 9. mars 2004 jeg skrev en xmlparser for en lignende side engang, du bør kunne hakke til den for å få ut en liste med nick-names. http://sirius.isa-geek.org/~lindahl/php/aog.php.html http://sirius.isa-geek.org/~lindahl/php/aog.php Lenke til kommentar
aog Skrevet 10. mars 2004 Del Skrevet 10. mars 2004 ok.. den delen er grei.. men hva gjør jeg for at php skripte sjekker at du har skrevet inn et av navna som er i lista? Poenger er at du ikke skal ha tilgang til et forum med mindre du er medlem. Er du medlem står navne ditt i lista. Skjønner? Lenke til kommentar
Torbjørn Skrevet 10. mars 2004 Del Skrevet 10. mars 2004 se på funksjonen in_array, den sjekker en gitt verdi om den finnes i en array angitt. 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å