Probleem met special characters

Gestart doorTom19 reacties82 weergaven

20 berichten · pagina 1 van 2

Tom

Lid · Topicstarter

Berichten
3.868
Reputatie
0
Punten
0,02
Lid sinds
Laatst gezien
Hallo,

Ik heb een form, maar mensen kunnen speciale characters zoals: "<, >" submitten, ik heb meerdere tutorials op Internet opgezocht hoe dit te maken, maar het lukt mij gewoon niet.

Ik zou het waarderen als iemand het voor mij kan fixen.

De bedoeling is dat er geen < en > kan worden ingevuld in het formulier.

Codeblok (voorbeeld.php):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Add
You can add a casino here:


if($_SERVER[REQUEST_METHOD] == POST){
$name = $_POST[name];
$username = $_SESSION[user_name];
$email = $_POST[email];
$casino = $_POST[casino];
$url = $_POST[url];
$image = $_POST[image];
$description = $_POST[description];
$code = rand(1000000000, 9999999999);

if(preg_match(|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*smile[0-9]+)?(/.*)?$|i, $url) OR preg_match("/^[A-Za-z0-9_- ]+$/", $name) OR preg_match("/^[A-Za-z0-9_- ]+$/", $casino) OR preg_match("/^[A-Za-z0-9_- ]+$/", $image) OR preg_match("/^[A-Za-z0-9_- ]+$/", $description)){
echo"Success!";
}

else{
echoNo success!;
}
}
}
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Tip: controleer of het hele formulier verzonden is met isset();
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Waarom mogen mensen geen < en > invullen? Heeft dit neit te maken met symptoonbestrijding?
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
replace(<, dan is hij onschuldig als html teken

toevoeging op 21 mei 2014, 101351:
als je dat wil
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Bij je if scheidt je alles met OR, waardoor maar een statement hoeft te kloppen.

Verder vraag ik me af waarom je niet zou willen dat mensen < of > invullen.
0
Tom

Lid · Topicstarter

Berichten
3.868
Reputatie
0
Punten
0,02
Lid sinds
Laatst gezien
Verplaatsen met the alt codes is ook goed.
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Tom schreef:
Verplaatsen met the alt codes is ook goed.
Wil je a.u.b. even concreet reageren op de gestelde vraag??
0
Tom

Lid · Topicstarter

Berichten
3.868
Reputatie
0
Punten
0,02
Lid sinds
Laatst gezien
Omdat het de gebruiker
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Tom schreef:
Omdat het de gebruiker
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Tom schreef:
Omdat het de gebruiker

Gewoon door htmlspecialchars() halen dus bij het outputten.
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Je kan beter htmlentities(); ipv htmlspecialchars(); gebruiken.
0
Berichten
5.274
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien

Eindhoven, Nederland

Dylanh schreef:
Je kan beter htmlentities(); ipv htmlspecialchars(); gebruiken.
Onderbouw je argument? Van waar htmlentities?
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Quote:
Certain characters have special significance in HTML, and should be represented by HTML entities if they are to preserve their meanings. This function returns a string with these conversions made. If you require all input substrings that have associated named entities to be translated, use htmlentities() instead.

Als je

Codeblok (voorbeeld.php):

1

Test

ipv Test wil dan htmlspecialchars();

Wil je

Codeblok (voorbeeld.php):

1

Test

als output htmlentities();

Daarom gebruik ik altijd htmlentities();
0
Tom

Lid · Topicstarter

Berichten
3.868
Reputatie
0
Punten
0,02
Lid sinds
Laatst gezien
Het is gefixed denk ik, bedankt voor de hulp.
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Tom schreef:
Het is gefixed denk ik, bedankt voor de hulp.
Al uitgetest dan?!?
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren