Problemer med at registrere data hentet fra mysql

Tags:    php html

<< < 12 > >>
Hej alle

Jeg har et problem, hvor jeg føler mig lidt dum, og derfor godt kunne bruge noget hjælp.
Jeg har en hjemmeside hvor jeg har en restricted medlemsside. For at komme ind på den skal man logge ind ved at indtaste brugernavn og password i en form. Når man trykker submit til formen bliver den sendt til en side jeg har kaldt checklogin.php, som checker login og password op imod min database. Hvis login og password er korrekt bliver personen sendt videre til medlemssiden. Alt dette fungerer fint.
Problemet opstår når jeg gerne vil have at der på medlemssiden f.eks. står: Velkommen Knud (hvis personen altså hedder Knud).
I min database har jeg navne tilknyttet hvert login, og det er altså disse navne jeg skal have fat i afhængig af login'et.
Som det dog er nu så kan jeg kun få den til at skrive enten brugernavnet eller passwordet ud. Det vil sige jeg får altså ikke registreret det tilknyttede navn i min session.
Herunder følger koden for min checklogin.php:

Fold kodeboks ind/udPHP kode 




og det her er den kode jeg bruger på i toppen af min medlemsside: forhandlerservice.php:
Fold kodeboks ind/udPHP kode 



herefter følger der så en masse html og inde i den html-kode har jeg lige nu stående:
Fold kodeboks ind/udPHP kode 


Som altså ganske fint skriver ud: velkommen knud123 (f.eks.), men ikke Knud, som jeg gerne vil have den til og som er en valid entry i min database. Min database har følgende entries: (ID, username, password, name)




Jeg håber der er en herinde der kan skære det ud i pap for mig, for det har jeg behov for. Jeg forstår det simpelthen ikke :)



Tak,
Morten




Indlæg senest redigeret d. 21.11.2011 15:07 af Bruger #16876
13 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Du udskriver jo $myusername her:

Fold kodeboks ind/udPHP kode 


og så udskriver den selvfølgelig brugernavnet ;)

Så du skal i blokken her:

Fold kodeboks ind/udPHP kode 


Hente feltet navn fra databasetabellen ud i en variabel og så skal du ændre din echo.... til at udskrive den variabel i stedet for.

Ps! Put lige din kode i [ code ] bokses i dine indlæg. Så er det nemmere at overskue.



Så fik jeg tiden

Checklogin.php
Fold kodeboks ind/udPHP kode 


Du skal huske at ændre værdierne der hvor der står $_SESSION['userid'] = $row['DENNE VÆRDI SKAL PASSE TIL DIN DATABASE'];

Nu har vi smidt variablerne ind i session og har nu mulighed for at hente dem fra session når vi vil bruge dem.

Forhandlerservice.php
Fold kodeboks ind/udPHP kode 


Det sted hvor du vil udskrive brugerens navn
Fold kodeboks ind/udPHP kode 


Nu burde det virke.

Hvis det ikke virker, så må du lige skrive igen for så laver jeg en helt ny kode til dig, som du så bare skal rette til så den passer ind i dit design, dvs. jeg laver alt funktionalitet.

God fornøjelse





Indlæg senest redigeret d. 22.11.2011 14:25 af Bruger #15663
Brug gerne denne her formatering, det er meget nemmere for os at læse så :) (code lang="PHP"]koden[/code) (Hvor paranteser erstattes af [ og ]


checklogin.php
Fold kodeboks ind/udPHP kode 


forhandlerservice.php
Fold kodeboks ind/udPHP kode 


Sidste blok:
Fold kodeboks ind/udPHP kode 



Ovenstående er bare formateret for andres skyld, ikke noget jeg har ændret kode i. Dit problem ligger i, at du aldrig læser brugeres navn fra databasen og gemmer i din session. Du gemmer kun det som der bliver indtastet.



Indlæg senest redigeret d. 21.11.2011 15:00 af Bruger #16372
Tak for svaret Brian.

Problemet er at jeg ikke ved hvordan jeg får den korrekte data ud fra mit databaseset og heller ikke ved hvordan jeg putter den i en variabel.
Det er der hele misæren ligger :)



Indlæg senest redigeret d. 21.11.2011 15:02 af Bruger #16876
Checklogin.php
Fold kodeboks ind/udPHP kode 


forhandlerservice.php
Fold kodeboks ind/udPHP kode 


Nu skulle din kode meget gerne udskrive brugerens brugernavn




Mange tak for svaret og fordi du tog dig tid, Daniel. Jeg har dog lige et par spørgsmål da jeg ikke helt kan få det til at fungere.
Det jeg gerne vil lave echo på fra databasen er name ikke username så skal det stadig være:
$_SESSION['username'] = $myusername;
eller skal det være:
$_SESSION['name'] = $name;


Og så til sidst, når jeg bruger din kode til forhandlerservice-siden så får jeg fejl i dreamweaver på 6. linie. Kan dog ikke se hvad fejlen er, kan være du kan?



Igen tusinde tak, jeg føler jeg er på rette vej nu :)

mvh
Morten



Du skal bare lave et call til databasen igen hvorfra du henter navnet.
Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 21.11.2011 17:56 af Bruger #13723
Tusinde tak Kasper, men hvor skal jeg lave kaldet henne?
I checklogin.php eller forhandlerservice.php?
Er lidt i tvivl nemlig


Tak igen,
Morten



Der er flere muligheder du kan lave den ved checklogin.php og så føjes den til din session eller lave det på den side hvor du vil have navnet.



Hej Morten.

Jeg sender dig lige en kode lidt senere, den gør det hele for dig.



<< < 12 > >>
t