Mit Login???

Tags:    php

<< < 12 > >>
Hej jeg har læst artiklerne om php og mysql fra www.webcafe.dk
og syntes nu jeg ville til at prøve at se hvad jeg kunne så jeg bestemte mig for at lave mit eget login med html, css og php og jeg lavede det og det virkede men da jeg så ville til at lave sådan man kunne oprette bruge så gik det galt! Hver gang jeg logger ind både med forkert og med rigtigt brugernavn så får jeg den besked at brugernavn/password er forkert! Selvom at denne besked kun skulle komme når jeg logger ind med forkerte oplysninger! Er der nogle der kan hjælpe i kunne jo kigge lidt på koden:

index.htm

Fold kodeboks ind/udKode 



opret.htm

Fold kodeboks ind/udKode 



connect.php

Fold kodeboks ind/udKode 



login.php

Fold kodeboks ind/udKode 



opret.php

Fold kodeboks ind/udKode 



Ps. Lige sådan i ikke sidder og kigger alt koden igennem forgæves så tror jeg kun fejlen ligger i login.php fordi det virkede fint før jeg lavde ændringerne i den!

Hilsen Johan :-)


[Redigeret d. 02/02-05 17:31:01 af Johan]



18 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
For det første så virker login.php ikke som ser sådan ud:
når den bliver tilkaldt fra min opret.htm fil så skriver den bare:

Parse error: parse error in c:\\apache\\apache\\htdocs\\prove\\login.php on line 18


Fold kodeboks ind/udKode 


For det andet så den du hentyder til at du har lavet så de kommer i hver deres kolonne som gerne skulle være denne kode:

Fold kodeboks ind/udKode 


Den skulle der jo gerne være ændringer i men den ligner den samme som jeg havde i starten bare hvor at den opretter putter det hele ind i tabellen "brugere" i stedet problemmet er at der kun lægger to koloner inde i tabellen "brugere" Så den næste gang jeg går ind og laver en bruger så lægger den dem oven i den samme kolonne! Jeg ved ikke om det er det den skal??? men jeg kan jo heller ikke vide det før login.php virker!



Nååh nu forstår jeg det hele nu kun lige et par sidste ting!
Det eneste jeg ikke forstår er her i denne sætning:

$hent = mysql_query("SELECT * FROM brugere WHERE bruger = '$bruger' AND passwd = '$passwd'");

Der hvor WHERE begynder forstår jeg ikke helt jeg har ikke lært om den funktion hvor kan jeg lære om den sådan jeg kan forstå at bruge den??? Kan du evt. forklare hvordan den virker???

Og så en sidste ting kan jeg ikke i denne fil:

oprettabel.php

Fold kodeboks ind/udKode 


Kan jeg ikke lave nogle variabler som både kan modtage tegn, bogstaver og tal? istedet for "varchar" og "int"???







1: WHERE angiver at her kommer søgekriterierne. SELECT henter alle rækkerne i en tabel, WHERE bestemmer hvilke rækker der hentes. I dit tilfælde hentes kun rækker hvor brugernavn og password passer. Det vil sige at der kun hentes noget, hvis user og pass er korrekt.

2: i stedet for at bruge et PHP script til at oprette din tabel, vil jeg anbefale dig at bruge phpMyAdmin (http://phpmyadmin.net). Her kan du også få hjælp til de forskellige felttyper via et link til MySQL-manualen

og det hedder stadigvæk ikke variabler :)

[Redigeret d. 03/02-05 20:31:55 af Jesper Kristensen]



Jeg prøvede selv at lege lidt videre med WHERE men jeg kan ikke få det til at virke sådan at den tjekker om brugernavnet er taget!


opret.php
Fold kodeboks ind/udKode 




din kode opretter en HVIS brugeren allerede er taget



ok sådan:

Fold kodeboks ind/udKode 


Men der er stadig en fejl???



tjek variablerne i funktionen. Du han ikke bruge variabler fra uden for funktionen med mindre du gør dem tilgængelige med "global". Det er dog lettere slet ikke at bruge en funktion, men sætte funktionens indhold ind i if'en. Der er desuden lidt kludder i variabelnavnene.



Tak for hjælpen til jeg begge to nu virker det sku! :)



<< < 12 > >>
t