Login (Vis/Skjul/Beskyttelse)

Tags:    php

<< < 12 > >>
Problem løst



Indlæg senest redigeret d. 17.04.2013 09:47 af Bruger #17534
20 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Hvor meget af den kode har du selv skrevet, du skriver vel ikke engelske kommentarer? Fordi det kan være svært at forstå noget hvis man bare kopiere koden og så tro at man kan lave noget der virker. Den gamle tråd var forresten fyldt med guld, du burde, hvis du har en basisk forståelse for PHP, kunne udlede nogle gode ting fra den. :-)



Andreas:
Som jeg skrev, så fik jeg også masser af hjalp - men INTET virkede. For når jeg loggede ind, viste den det samme som hvis jeg bar en besøgende /; Derfor søger jeg hjælp igen, med at finde min fejl! Jeg har en basisk forståelse for Php.

Jeg fandt et script at følge og har derfor valgt at beholde kommentarene lige pt. for lige at finde ud af, hvad der går galt. Derefter skal den laves om til noget mere sikkert. Det jeg pt. har lavet om er:

$_SESSION['myusername'] = 'username';
$_SESSION['mypassword'] = 'password';
osv. som jeg fik anbefaldet i den anden

echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"0; URL=index.php?page=Forside\">";
}
else {
echo "Wrong Username or Password";
}

Og er gået fra mysql til mysquli.

Men jeg synes simpelthen i skal sige hvis I ikke kan/vil hjælpe - fremfor at "nedgøre" en, med at man ikke kan finde fejlen! Nogle gange vil koder bare drille, og som sagt har jeg prøvet rigtig rigtig meget - både i følge råd fra det andet indlæg og lede efter tools på internettet, men jeg har stadig ikke fået løst mit problem, og det er jo derfor at jeg spørg her inde; men efterhånden synes jeg kun at jeg får "Du er da også så dum" svar tilbage, når jeg prøver at få ekstra hjælp til at finde fejlen, fremfor at opgive fordi det ikke vil virke!
ps. Beklager hvis nogle bliver sure over denne kommentar, men jeg synes bare ikke det kan være rigtig at jeg konstant skal have at vide at jeg burde kunne gøre det selv hvis jeg har den og den viden! Jeg troede dette her var stedet hvor man kunne få hjælp, når koder driller!





Indlæg senest redigeret d. 19.03.2013 08:19 af Bruger #17534
Hej Sassy.

Det som det handler om er at man viser at man også selv skriver koden og man forsøger nogle ting.
Det ville da være enormt lækkert hvis jeg kunne få andre til at skriver koderne for mig. Det ville da spare en masse tid. Jeg tror Andreas har svært ved at se at du vitterligt selv har skrevet den kode du har postet og at du forstår den. Forstår du hele koden? Forstår hvad der sker de forskellige steder i koden?

Er flowchart på hvordan din login kan være:
1. Start session for at kunne gemme indhold
2. Tag indtastede værdier og tjek dem for uønsket tegn/kode
3. Lav en sql forespørgsel til din database
4. Tjek om der er et resultat med de indtastede værdier
5. Gem nogle variabler i din session - så kan du tjekke om de er sat
6. Vis brugeren det som man må så når man er logget ind

Din kode bærer præg af at du ikke helt har styr på session. Søg evt på Google om session og læs lidt op på det. Jeg tror nemlig det er der det driller dig



--' Jeg dropper sgu den her side, når man ikke kan få den hjælp man har brug for! I burde virkelig ændre tonen her inde og prøve at hjælpe folk, fremfor at være så "snobbet" anlagt. Jeg er virkelig skuffet over at være medlem her inde! Får slet ikke den hjælp jeg har brug for!

Jeg har læst en masse om session, skal lige siges! Og ja - det kan let være det der driller mig, men det har bare ikke hjulpet at læse mere om det!

Ps. Jeg forstår 100% det der sker i mit login! Så det vil jeg slet ikke høre på!!




Ps. Jeg forstår 100% det der sker i mit login! Så det vil jeg slet ikke høre på!!


Du har allerede fået halvdelen af dit problem løst i denne tråd. Ærgeligt at du hellere vil brokke dig end at læse.

"1. Start session for at kunne gemme indhold"

http://php.net/manual/en/function.session-start.php

Ellers vil dine sessions ikke virke.

Denne del er helt forvrøvlet:

Fold kodeboks ind/udPHP kode 


- Er 'username' eller 'myusername' du vil bruge?
- Det logiske check ville være, at flytte din IF !ISSET udenfor den kode bracket der foretager login.

Der er ingen her der gider, at lave dine lektier gratis. Hvis du vil have hjælp, så spørg om hjælp. Hvis du vil have et færdigt script, så betal.



Stefan:
Jeg beder ikke om at få et færdig script, men at få HJÆLP Det er faktisk utroligt at I ikke fatter det!

Okay, du siger:
"Denne del er helt forvrøvlet"

Jeg ved godt at der mangler my i de to ting - men det fik jeg at vide at jeg skulle gøre af en. Så ja - det kan godt være det er fejlen, men så prøv dog at hjælpe lidt mere?.. Forklar. Jeg er ligesom ikke tankelæser.

Også vil jeg gerne lige sige at jeg læser, men at jeg stadig ikke kan se fejlen - og det er muligvis fordi jeg er blevet forvirret af en masse med 'du skal gøre sådan her'; som så andre siger er forkert. Så hjælper beskeder som "Har du en viden..." og "Læs mere om det på google" ikke.



Hvilken hjælp forventer du? At vi laver det for dig?

Hvis du har læst en masse om session så havde du også set at du mangler session_start();

Der er ingen folk der laver dine ting gratis, men de vil gerne hjælpe dig gratis.



Daniel:
Jeg er med på session_start(); - men hver gang jeg bruger det, får jeg en masse warning koder! Derfor benytter jeg mig ikke af det, og en har også sagt at det ikke er nødvendigt i dette system.

Og igen, jeg beder INGEN om at lave tingen gratis for mig - men igen; beskeder som "har du den viden" og "læs mere om det på google" hjælper altås ikke, når man ALLEREDE har prøvet det!



Jeg forstår frustrationen i at du forventer en masse hjælp, og bliver affærdiget med et link. Det er ikke en konkret løsning til din udfordring. Men det kan være en løsning der hjælper dig til at finde en løsning på dit(!) udfordring.
Men der ingen grund til at ryge op i en spids. :o) På et forum som dette får ser vi dagligt spørgsmål der noget fra tidl. som allerede er blevet svaret. Derfor må du forstå at udviklere har tendens til at referere til en dokumentation de forventer du læser eller har læst, samt links til mulige løsninger du kan afprøve. Samtidig er login-systemer ikke en ny ting, så mange andre har haft samme problem som dig, og fundet en løsning ved bl.a. at søge på Google.

Hvis du går ind på tidligere link omkring session_start() og leder efter "warnings", vil du opdage at du ikke er den eneste der oplever dette. At få en warning med session_start() betyder at du bruger session_start() efter output. session_start() er en header baseret funktion, og alle headers skal sendes til browseren før output!

Et login system har stort behov for sessions. Det er pt. eneste måde man kan registrere om en bruger er logget ind på de beskyttede sider.

Så session_start() skal stå før ALT(!) output. Sådan set på aller første linje i din php-fil. Når det er gjort, har du adgang til $_SESSION variablen og de data der bliver lagret på tværs af requests.

Nedestående:
Fold kodeboks ind/udPHP kode 


Vil jeg lave om til:
Fold kodeboks ind/udPHP kode 


Senere kan du så teste login med:
Fold kodeboks ind/udPHP kode 


Ovenstående er selvsagtens ikke den mest sikre løsning, men det bringer dig i den rigtige retning.



Indlæg senest redigeret d. 19.03.2013 11:40 af Bruger #10216
Michael Larsen:
Tak!

Jeg har søgt, søgt og endnu mere søgt. Prøvet forskellige ting osv. Og når jeg så skriver her inde, er det fordi at jeg IKKE har kunne finde/fået tingene til at fungere. At få svar omkring end viden eller links, hjælper så ikke; og jeg synes efterhånden at det er det eneste man får her inde, og derfor var jeg simpelthen nød til at komme ud med min irritation nu.

Jeg takker for dit forsøg, men jeg kan ikke tage en header - det får jeg også fejlkode for. Men jeg takker - og vil prøve at se om det kan hjælpe mig en smule videre med problemet.

Men jeg ved ikke hvordan jeg skal få session_start(); til at blive accepteret. :s



Indlæg senest redigeret d. 19.03.2013 11:51 af Bruger #17534
<< < 12 > >>
t