Avatar billede Christian_Bundgaard Nybegynder
09. august 2010 - 21:20 Der er 15 kommentarer og
1 løsning

Loginsystem - lavet af en tutorial, men giver fejl

Hej,

Jeg har lavet et loginsystem efter en tutorial, men der returnerer bare en tom side, når jeg klikker på knappen, der skal oprette filen. Jeg forstår ikke hvor fejlen er, men hvis I vil kigge på koden vil de være dejligt. Det er nemmest, at I bare kigger på den sidste kommentar på nedenstående link fra Christian Bundgaard. Der er 2 filer med kode.

http://www.udvikleren.dk/PHP/Article.aspx/340/

Jeg bliver meget glad for svar, og en komplet løsning giver hele 75 point, selvom det muligvis er simpelt.

Mvh.
Christian
Avatar billede majbom Novice
09. august 2010 - 21:37 #1
prøv at udskriv errorCount til sidst og så om den stadig er 0...
kan ikke lige se hvad der skulle være
Avatar billede Christian_Bundgaard Nybegynder
09. august 2010 - 21:43 #2
Det sjove er, at jeg har brugt diffchecker til at tjekke om de sider, der er i tutorialen og så mine er ens. Og det er de.

Jeg vil lige prøve dit foreslag - hvis det kan hjælpe at se scriptet, kan det ses på www.devdesign.dk/test/login/opret.php
Avatar billede Christian_Bundgaard Nybegynder
09. august 2010 - 21:46 #3
Forresten (beklager dobbeltpost), så kommer den hvide side endnu en gang, selv om jeg sætter echo til at vise $errorCount i bunden.
Avatar billede zips Juniormester
09. august 2010 - 21:59 #4
Kan din server sat til at køre med short tag? ellers skal du rette <? til <?php
Avatar billede danco Nybegynder
10. august 2010 - 00:14 #5
Kan du evt. prøve at tilføje følgende linje til din kode

E_ALL;

på den side der bliver blank.

Så skulle PHP gerne selv fortælle dig hvilken fejl der forekommer.
Avatar billede showsource Seniormester
10. august 2010 - 12:35 #6
Du må vise den kode du bruger.
Avatar billede repox Seniormester
10. august 2010 - 13:39 #7
Det er nu heller ikke ligefrem den bedste tutorial du har fundet dig; koden er grim, shorttags er anvendt, der er ingen sikkerhed mod SQL injections eller mod opslag mod rainbow tables.

I forhold til dine kommentarer i den angive artikel lader det til du ikke har gennemgået artiklen ordentlig, for du mangler den del af koden der indsætter skidtet i databasen.

Udover det returnerer indsaet.php også en status 500 hvilket kan tyde på at din server ikke er rigtigt op. Du kan eventuelt kigge i dine error-logs for at få fejlen udspecificeret, men uanset hvad du gør ved din PHP kode, får du det ikke til at virke før Apache forstår hvad der skal ske med filen og dens indhold.
Avatar billede Christian_Bundgaard Nybegynder
10. august 2010 - 16:52 #8
Jeg har fuldt tutorialen helt igennem repox? Alt er i den, det er også checket med diffchecker. Og jeg ved godt, der ikke er sikkerhed mod SQL injections, og det laver jeg selv, når jeg har fået det til at virke. Jeg ved godt det ikke er en perfekt tutorial, men jeg er ikke pro til PHP, så jeg starter fra en ende af. Men hvis du har et forslag til en, du mener er letforståelig for nybegyndere og er på dansk, er det da også velkomment - det er bare ikke meningen med spørgsmålet.

Ang. med at serveren ikke er sat rigtigt op, er den hostet hos One, så det tror jeg nu nok den er.

@showsource; koden er der.

@zips; har prøvet.

@danco, det afprøver jeg lige.
Avatar billede Christian_Bundgaard Nybegynder
10. august 2010 - 16:55 #9
Der kommer ingen fejl, når E_ALL er sat til.
Avatar billede danco Nybegynder
10. august 2010 - 17:20 #10
Du bør nok logge ind i dit One.com kontrolpanel og slå PHP fejlmeddelser til for at E_ALL virker.
Såvidt jeg husker har One det slået fra som default.
Avatar billede Christian_Bundgaard Nybegynder
10. august 2010 - 17:28 #11
Ganske rigtigt danco, det er nu slået til. Der står der kan gå op til 15 minutter før det træder i kræft, så venter lige og ser ;)
Avatar billede Christian_Bundgaard Nybegynder
10. august 2010 - 17:37 #12
Okay, her skal der en klog ind:

Parse error: syntax error, unexpected $end in /customers/devdesign.dk/devdesign.dk/httpd.www/test/login/indsaet.php on line 42

På den linje er der bare "?>".
Avatar billede Christian_Bundgaard Nybegynder
10. august 2010 - 17:41 #13
Fejlen er fundet! Jeg havde glemt et "}" til sidst. Mange tak, men jeg er ny her - hvad gør jeg med pointene nu? Det var jo umiddelbart danco der hjalp mig på rette vej, så hvis det er dig, der skal have dem, så opret et svar.
Avatar billede danco Nybegynder
10. august 2010 - 18:19 #14
Du vurderer selv hvem der har hjulpet dig mest og hvem du vil tildele point.
jeg smider et svar, så kan du bruge det hvis du vil :)

Men jeg er glad for at du fandt løsningen på problemet.
Avatar billede Christian_Bundgaard Nybegynder
10. august 2010 - 19:55 #15
Du er jo den, der har hjulpet mig på rette vej for at løse det, så du får dem. Hvis du lige har nogle råd, jeg kan få med på vejen, ang. hvilke sikkerhedsting jeg skal opgradere, ville det være rart. Jeg kender til det med addslashes osv., men hvis der evt. er andre. Desuden vil det kun blive brugt som admin system.

Mange tak til alle, der er kommet med et bud, og en stor tak til Danco.

/CB
Avatar billede danco Nybegynder
10. august 2010 - 22:48 #16
En lille del jeg tænkte over da jeg selv læste den tutorial var blandt andet at man ikke gør brug af de muligheder der ligger i SQL.
Eksempelvis ville jeg vælge at bruge:
SELECT * FROM brugere WHERE brugernavn='$brugernavn' AND kodeord='$kode'

så kan du nemlig ganske let gennem PHP's mysql_num_rows() funktion teste på om login oplysningerne er korrekte.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester