Hoi,

ik heb een klein probleempje met een script:


$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!';
}
}


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!
Je kunt in je editor vaak ook het PHP bestand converteren van ASCI naar UTF8.

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.
ah dat gaat niet?
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.
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.

Reageren