27. september 2005 - 16:07Der er
10 kommentarer og 1 løsning
Variabel med links
Jeg er lige startet på PHP.læser en bog"Start på PHP" Har lige et problem. <a href="test2.php?navn=jens">link</a> denne skulle gerne sende variablen @navn til side test2.php ?
på test2.php skriver jeg så <?php echo "$navn"; ?> hvorfor skriver den ikke jens på test2.php
Håber der er en nem løsning, bliver mere og mere bange for at jeg ikke kan lære PHP :-)
Hvis register_globals på din server er sat off, kan du ikke direkte bruge $navn. Dette skyldes at det faktisk er ganske usikkert bare at bruge $navn, da en variabel du bruger et sted i dit script kan sættes af brugeren i adresselinien og derved "ødelægge" dit script.
Forståeligt? :)
Derfor altid brug $_SESSION['variabel'], $_GET['variabel'] (fra adresselinien) og $_POST['variabel'] (data sendt via en form).
Nå jow, men der sker vel ikke noget ved at man lige lærer noget nyt?! :)
Hvis du ikke ved hvad en session er, kan jeg lige hurtigt fortælle, at det er en variabel der er global, altså kan bruges på alle sider på serveren, indtil brugeren han lukker sin browser eller at variablen fjernes.
vil du ikke lige forklare dette igen "Dette skyldes at det faktisk er ganske usikkert bare at bruge $navn, da en variabel du bruger et sted i dit script kan sættes af brugeren i adresselinien og derved "ødelægge" dit script"
Joo, skal lige komme i tanke om et eksempel der kan forklare det.
Hvis vi nu leger, at du sætter en session, som gør, at den aktuelle bruger er admin, og derved kan f.eks. slette indlæg i et forum.
Hvis du bare bruger $admin således: if($admin == "ja") { //alt hvad han nu kan } ...så vil brugere kunne lave en adresselinie der er: side.php?admin=ja og på den måde være admins, uden egentlig at være det :)
Derimod vil rigtig kontrol være: if($_SESSION['admin'] == "ja") { //alt hvad han nu kan }
øhh.. det er nok lidt for tidligt at jeg kan forstå det endnu.. Kender du et sted det er forklaret på dansk.Jeg synes nemlig ikke jeg kan blive ved med at "bruge" dig for kun 15 poin. :-)
Men egentlig skal du bare tænke på variabler som 2 grupper: almindelige og specielle.
Med almindelige variabler, mener jeg variabler du både sætter og bruge i samme fil (script). Specielle variabler er variabler du henter fra adresselinien, fra <form></form> og de tidligere nævnte sessions.
Og umiddelbart kender jeg ikke lige et bedre sted, men måske du kan bruge nogen af de artikler brugere herinde har skrevet om PHP?!
Jeg tror faktisk at det hjælper på det nu... nu må vi se:-) Tusind tak for hjælpen !!
Synes godt om
Ny brugerNybegynder
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.