special characters probleem
ik heb een klein probleempje met een script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$counter = mysqli_query($link, "SELECT mail FROM users WHERE WHERE inlog ='$inlog'");
while ($row = mysqli_fetch_assoc($counter)) {
$maild=$row['mail'];
}
if($maild <> $email){
if(filter_var($email, FILTER_VALIDATE_EMAIL)) {
$counter = mysql_queryi($link, "SELECT * FROM users WHERE mail = '$email'");
if(mysqli_numrows($counter) == 0){
mysqli_query($link, "UPDATE users SET mail='$email' WHERE inlog='$inlog'");
$opmerkingeg = 'Email aangepast!';
}
}
else{
$opmerkingeg = 'Ongeldig e-mail adres!';
}
}
while ($row = mysqli_fetch_assoc($counter)) {
$maild=$row['mail'];
}
if($maild <> $email){
if(filter_var($email, FILTER_VALIDATE_EMAIL)) {
$counter = mysql_queryi($link, "SELECT * FROM users WHERE mail = '$email'");
if(mysqli_numrows($counter) == 0){
mysqli_query($link, "UPDATE users SET mail='$email' WHERE inlog='$inlog'");
$opmerkingeg = 'Email aangepast!';
}
}
else{
$opmerkingeg = 'Ongeldig e-mail adres!';
}
}
De bedoeling van het script is om het email adres aan te passen als iemand een ander e-mail adres invult. Het werkt goed, maar niet perfect stel dat het e-mail adres momenteel: [email protected] is en ik wil het aanpassen naar josvé[email protected] werkt het niet. Ondanks dat er een utf8 connectie wordt opgewekt en het veld email utf8-bin staat. Kan iemand mij helpen? Alvast bedankt!
Inderdaad moet je tabel ook op utf8 general ci staan en je veldnamen ook.
Volgens mij is dit niet toegestaan in een emailadres: josvérstraeten.
Want ik vond het ook al raar dat
if(filter_var($email, FILTER_VALIDATE_EMAIL)
geen é,à enz. toelaat ...
maar stel dat je céline noemt wat dan ?
gewoon celine lijkt mij.
Een e-mailadres mag alleen uit letters, cijfers, _, en punten bestaan :). Geen speciale karakters. Ik dacht dat je dat enkel als (raar) voorbeeld gaf.
http://wiki.pfz.nl/invoer-validatie/#regular-expressions-is-het-een-geldig-email-adres
Quote:
RFC specificeert ook de karakters ! # $ % & ' * + / = ? ^ ` { | } ~ als toegestaan
Daarnaast kun je ook bijvoorbeeld een spatie in een adres plaatsen, mist het tussen " " staat:
"ivo p"@example.com mag dus ook.
Mogelijk ook wel "céline"@example.com
ah, maar als het zeer uitzonderlijk is dan ga ik er niet verder naar zoeken, ik dacht dat het veel voorkomend was.
Dank Ivo, weer wat geleerd. Zelf ben ik het nog nooit tegen gekomen.
Bedankt allemaal voor de reacties!