mboost-dp1
PHP: Sende variabler med GET
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Heay... Jeg skal have sendt en variabel med GET til en anden side hvor variablen skal indsættes i MySQL, men når den kommer frem mangler alt efter første mellemrum.
Hvordan skal man sende den der variabel med for at den kan sende det hele med?
// Henter den ud af mysql
$comment = $row['comment'];
// Denne returnerer "En lang kommentar om alt muligt"
echo $comment;
// Denne returnerer kun "test.php?category=En"
<a href=test.php?comment=<?=$comment?>>Link</a>
Hvordan skal man sende den der variabel med for at den kan sende det hele med?
jow, efter hvad jeg kan se, så er dit problem at du har 2 =. prøv med denne kode i stedet når du sender
derudover kan det være du skal bruge REQUEST i stedet for get, på den måde er du sikker på at du får fat i indholdet.
Fx:
<a href=test.php?comment=<?PHP $comment ?>>Link</a>
derudover kan det være du skal bruge REQUEST i stedet for get, på den måde er du sikker på at du får fat i indholdet.
Fx:
$getcomment = $_REQUEST["comment"];
#3Jo, de skal bare urlencode's
http://dk.php.net/manual/en/function.urlencode.php
så bliver mellemrum lavet til et %20-tegn, som browserne fatter, efterfølgende skal du urldecode
Husk i øvrigt at lave validering af data i dine GET/POST-variabler, ellers kan man lave noget nasty SQL-injection
http://dk.php.net/manual/en/function.urlencode.php
så bliver mellemrum lavet til et %20-tegn, som browserne fatter, efterfølgende skal du urldecode
Husk i øvrigt at lave validering af data i dine GET/POST-variabler, ellers kan man lave noget nasty SQL-injection
#5 - Super, det virker perfekt. Mellemrum bliver dog lavet om til et +... Og efter hvad jeg kan se kan man ikke styre det med en parameter hvad mellemrummet skal erstattes af. Men + er jo også fint nok :)
#6 - Nej, det gør jeg desværre ikke. Jeg har ledt efter en god begynder artikel om hvordan man forebygger SQL injections og XSS, men jeg har ikke rigtig haft held med at finde en god artikel om det. Har du en?
#6 - Nej, det gør jeg desværre ikke. Jeg har ledt efter en god begynder artikel om hvordan man forebygger SQL injections og XSS, men jeg har ikke rigtig haft held med at finde en god artikel om det. Har du en?
#7
Du validerer data - helst med en postiv liste - som forbyder HTML, JavaScript, SQL etc..
Og du bruger mysqli prepared statement til database.
http://www.php.net/manual/en/book.mysqli.php har udmærket doumentation af det sidste.
Du validerer data - helst med en postiv liste - som forbyder HTML, JavaScript, SQL etc..
Og du bruger mysqli prepared statement til database.
http://www.php.net/manual/en/book.mysqli.php har udmærket doumentation af det sidste.
#1, brug dog post istedet for get - med mindre man skal kunne linke til den specifikke side.
En af de store ulemper ved get (ud over det du har opdaget med mellemrum) er at der er en max længde på urls.
denne maxlængde er teoretisk set uendelig, men afhænger af server og klienten. faktisk anbefaler RFC 2616 at man ikke forventer at en URL på over 255 tegn vil virke.
En af de store ulemper ved get (ud over det du har opdaget med mellemrum) er at der er en max længde på urls.
denne maxlængde er teoretisk set uendelig, men afhænger af server og klienten. faktisk anbefaler RFC 2616 at man ikke forventer at en URL på over 255 tegn vil virke.
8 skrev:#7
Du validerer data - helst med en postiv liste - som forbyder HTML, JavaScript, SQL etc..
skal det gøres med regulære udtryk eller findes der php funktioner som kan tjekke det?
jeg kan nemlig ikke finde ud af regulære udtryk, så det dur ikke hvis man kun kan gøre det med dem :D
7 skrev:Mellemrum bliver dog lavet om til et +... Og efter hvad jeg kan se kan man ikke styre det med en parameter hvad mellemrummet skal erstattes af. Men + er jo også fint nok :)
Der er ikke meget logik i det, men "rawurlencode" bruger "%20" i stedet for "+", så vidt jeg husker.
Det er fint nok med "+" efter spørgsmålstegnet i urlen, det er mere læsevenligt og fylder lidt færre bytes. Men foran spørgsmålstegnet skal du ikke forvente at det vil virke. Dvs. hvis det fx. er et filnavn skal du nok bruge rawurlencode.
7 skrev:Jeg har ledt efter en god begynder artikel om hvordan man forebygger SQL injections og XSS, men jeg har ikke rigtig haft held med at finde en god artikel om det.
Det korte af det lange er:
1) Når du indsætter tekst i SQL, så husk at escape. Brug meget gerne prepared statements.
2) Når du indsætter plaintext i HTML, så husk at konvertere tilsvarende:
> => >
< => <
& => &
Tag også ' og eller ", hvis det er relevant.
Dette kan "htmlentities" i PHP klare.
For at gøre det pænt, indsæt "<br />" foran linjeskift.
9 skrev:#1, brug dog post istedet for get - med mindre man skal kunne linke til den specifikke side.
Det er lavet som et link på en admin side hvor man skal kunne oprette en kategori med det navn som ligger i variablen. Og så skal det vel laves med GET?
Eller kan man lave POST uden at bruge en form?
#14, så du har på din admin-side et hardcodet link der hedder www.example.org/?create=Jeg+er+en+ny+kategori+som+er+meget+specifik og www.example.org/?create=Jeg+er+en+anden+ny+kategori+som+er+meget+specifik??
Hvorfor ikke lave det som en input box, hvor du kan skrive hvad der skal stå, og så en submit knap, der sender det, så kan knappen også bruges til at oprette mange forskellige kategorier.
Hvorfor ikke lave det som en input box, hvor du kan skrive hvad der skal stå, og så en submit knap, der sender det, så kan knappen også bruges til at oprette mange forskellige kategorier.
Personligt ville jeg så nok bare fylde forslagene ind i en dropdown liste, da det, i tilfældet af mange pluslige forslag, ikke vil ødelægge dit design af din admin side.
Prøv at forstille dig hvordan din admin side vil se ud, efter en spam bot havde været igang med at "brute-force" din forslagsbox..
Prøv at forstille dig hvordan din admin side vil se ud, efter en spam bot havde været igang med at "brute-force" din forslagsbox..
17 skrev:Personligt ville jeg så nok bare fylde forslagene ind i en dropdown liste, da det, i tilfældet af mange pluslige forslag, ikke vil ødelægge dit design af din admin side.
Prøv at forstille dig hvordan din admin side vil se ud, efter en spam bot havde været igang med at "brute-force" din forslagsbox..
Så vildt bliver det slet ikke...
Forslagene kommer som en del af denne tilmelding:
http://index.wep.dk/submit.php
Indtil videre virker min CAPTCHA glimrende, så der kommer ikke nogen bots igennem :)
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.