Fred7555 Skrevet 25. april 2011 Del Skrevet 25. april 2011 Hei, jeg holder på med et prosjekt på skolen hvor vi skal lage en fungerende nettside for en oppfunnet firma. Jeg har laget selve siden og sånt, men jeg har lyst til å prøve å lage det litt mer komplisert enn det jeg har nå. Har derfor prøvd meg å lage et login-system, men med litt blandede resultater. Jeg har brukt Dreamwiever til å lage det jeg har nå (insert i design-modus, ikke skrevet php-delen selv), men er usikker på hvordan jeg skal gå videre. Sånn det er nå har jeg et login-felt på alle sidene. På index-siden siden har jeg koblet det opp mot databsen, og jeg kan skrive inn brukernavn + passord for å logge inn, og komme til login-siden. Men her kommer problemet. Når jeg har logget inn, så kan jeg besøke andre siden, og da logger det ut, jeg kan oppdatere siden så logger den ut osv. Så når jeg logger inn, så er jeg bare logget inn på en side uten noen sammenheng med de andre. Du kan også bare skrive inn url-en til de sidene hvor du krever login også. Det jeg ønsker er at når du logger inn på en av sidene, så skal du være logget inn på alle sidene, og du skal kunne oppdatere siden, bytte sider ol. og fremdeles være logget inn. Og siden som krever at du skal være logget inn for å åpne, skal kreve at du må logge inn eller alt være logget inn. Jeg beklager den dårlige forklaringen, men det er det klarer nå. Kan så å si ikke noe php enda. Er det jeg ønsker "enkelt", eller må jeg tukle ekstremt mye med php og databser? Kan basic ting med databser, men ikke noe avanserte saker. Takker for all hjelp. Lenke til kommentar
Azidops Skrevet 25. april 2011 Del Skrevet 25. april 2011 (endret) Du må ha en sjekk som sjekker om bruker er logget inn på hver sidevisning og hvis ikke blir brukeren ført tilbake til en standarside, f.eks logg-inn siden. Til dette kan du bruke session-variablene i PHP. 1. Opprett session variabel med navn f.eks $autorisert = false 2. Ved innlogging og autorisering i database settes $autorisert = true 3. For hver sidevisning må det sjekkes om $autorisert = true 4. Ved utlogging eller tidsavbrudd settes $autorisert = false Skal du ha en trigger ved tidsavbrudd lager du en session-variabel for dette også det du f.eks ligger inn en timestamp. Timestampen blir oppdatert for hver sidevisning. Hvis det er gått mer enn 30 min siden siste sidevisning kan man da si at autoriseringen har utgått. Edit: Du kan legge denne sjekken i databasen, men da må scriptet ditt sjekke databasen for hver eneste sidevisning. Det skaper unødvendig stor trafikk i databasen, men hvis dette er bare et skoleprosjekt med lite trafikk så fungerer det også. Endret 25. april 2011 av Azidops Lenke til kommentar
emilkje Skrevet 28. april 2011 Del Skrevet 28. april 2011 (endret) Det høres mistenkelig ut som om det bare er html formen som er på plass - ikke selve innlogginslogikken. Formen sender deg bare til en annen adresse med GET / POST hvor et annet script logger inn brukeren basert på informasjonen som er sendt med formen og forespørselen. Jeg vil anbefale deg å få fingrende skitne og kjøpe deg en god bok (helst en som er oppdatert) som tar seg av brukerhåndtering, databaser og sessions. Dette er funksjonalitet som fort kan rote til nettsiden, så godt kildemateriale er kritisk for at dette skal kunne vedlikeholdes uten å miste hår. PHP kan ta litt tid å sette seg inn i, men det vil definitivt lønne seg å lære det grundig kontra å basere seg på andre / automatiserte løsninger. Dette er hvis du er virkelig interessert og ønsker å lære. Jeg har jobbet med PHP i snart 7 år og lærer stadig nye ting i utviklingsprosessen. Endret 28. april 2011 av emilkje Lenke til kommentar
Fred7555 Skrevet 4. mai 2011 Forfatter Del Skrevet 4. mai 2011 (endret) Hei, beklager sent svar, men har hatt det travelt. Løste det med å bruke et login-system (ca. 6 php-filer) som jeg fant under en turtorial, og modifiserte det så det passet til min side. Jeg er klar over at det ikke er den optimale løsning, og jeg liker det ikke noe godt heller, man har ikke tid til å sette meg inn i php såpass mye før senere, og da er litt for sent å fikse på oppgaven, så valgte den løsningen. Takk for at dere svarte. PS. Om dere kunne ta en titt på denne tråden og se om dere kan løsningen/en metode for å løse det, hadde det hjulpet veldig Endret 4. mai 2011 av Fred7555 Lenke til kommentar
Yawa Skrevet 19. juni 2011 Del Skrevet 19. juni 2011 hmmm... syns 6. php-filer virket meget overkill... Hva er inni dem forno a? Lenke til kommentar
Fred7555 Skrevet 19. juni 2011 Forfatter Del Skrevet 19. juni 2011 Registering (en form og en som har all phpk-koden) Et login (en form og et med php-kode) En ikke-adgang-til-siden Og til slutt en config med kobling til databsen. Lenke til kommentar
Occi Skrevet 20. juni 2011 Del Skrevet 20. juni 2011 (endret) hmmm... syns 6. php-filer virket meget overkill... Hva er inni dem forno a? Gjør ingenting at det er delt opp i flere filer. Blir jo bare ryddigere ved å gjøre det. Kunne jo selvsagt hatt noe slik på samme side som form, men det er ikke så ryddig. if(isset($_POST['registrering'])) { /* hent input og behandle data */ } Endret 20. juni 2011 av Occi Lenke til kommentar
Yawa Skrevet 20. juni 2011 Del Skrevet 20. juni 2011 Joa, ser den Kikka litt på egne admin-script, og vakke så langt unna selv Kjører også sepparat PHP og form i de tilfeller jeg ikke har selve formen i en funksjon... Ellser er det jo db-oppkobling i egen, kontroll av felter etc. og til slutt selve scriptet... Lenke til kommentar
Hayer Skrevet 11. juli 2011 Del Skrevet 11. juli 2011 Vel kan gjøre det litt mer OO. Lite utsnitt fra mitt system class bsUserData { var $username; var $userlevel; var $userid; } class bsAuth { function __construct() { // Sjekke user sessions og hente dataen // deretter sette $_SESSION['user'] = bsUserData } } Er på jobb nå, men kan komme med et bedre eksempel hvis det trengs. Lenke til kommentar
tnViking Skrevet 23. juli 2011 Del Skrevet 23. juli 2011 Jeg har to forskjellige typer, en som bruker php, og lagrer alt i .xml filer. Og en annen som bruker php, og lagrer alt i MySQL databaser, begge to er ganske enkel å forstå. Alt er engelsk, pga. jeg har laget dem som eksempler til læring av php. Ta kontakt på [email protected] om du trenger hjelp med å forstå disse Legger med begge her MySQL XML Lenke til kommentar
tnViking Skrevet 23. juli 2011 Del Skrevet 23. juli 2011 XML er den enkleste å tukle med Lenke til kommentar
Occi Skrevet 4. august 2011 Del Skrevet 4. august 2011 Jeg har to forskjellige typer, en som bruker php, og lagrer alt i .xml filer. Og en annen som bruker php, og lagrer alt i MySQL databaser, begge to er ganske enkel å forstå. Alt er engelsk, pga. jeg har laget dem som eksempler til læring av php. Ta kontakt på [email protected] om du trenger hjelp med å forstå disse Legger med begge her MySQL XML Ikke at jeg får sett hva du har gjort pga. linkene ikke fungerer, men generelt sett er det mer praktisk å bruke database til å lagre brukere (som brukes for login) da man som oftest bruker brukerinfoen flere steder, pluss man kan gjenbruke kode til større systemer som er helt avhengig av brukerinfo lett tilgjengelig for andre handlinger mot en database. Like greit å venne seg til det og ikke blande inn XML. Lenke til kommentar
TobiasG Skrevet 5. august 2011 Del Skrevet 5. august 2011 For å ha et godt login script burde du ha vanlig login form, hvor du ved bruk av php sjekker opp imot en brukerdatabase i MySQL. Du kan også via php lage nye, endre og slette ting ifra en MySQL database. Altså opprette, endre og slette brukere og brukerinformasjon. Om du ønsker mer informasjon rundt hvordan dette gjøres, scripting m.m. send meg en mail, [email protected], så skal vi nok få til noe flott PS: Det du trenger i et login script er, webform, mysql connect, phpscript som da sjekker om brukernavn og pw er korrekt, aktivering av brukerkonto (er ofte greit, unngå spam, etc), mulighet for endring av passord... Lenke til kommentar
tnViking Skrevet 7. august 2011 Del Skrevet 7. august 2011 Beklager for at linkene mine ikke funker, min server som lagret disse filene krasjet, jeg jobber med å få satt den opp igjen, skal dele linkene så fort den er oppe 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å