Hey,
Ik ben bezig met een chatbot, en de gebruiker kan zijn nickname veranderen door bijvoorbeeld 'nickname Pietje Puk' te verzenden. Ik wil echter dat er alleen a-z A-Z 0-9 en spaties gebruikt mogen worden, anders wordt er een foutmelding teruggezonden naar de gebruiker.
Dit is wat ik heb:
<?php
case "nickname":
if (strlen($bot_msg) <= 9) {
echo "Your nickname is ".$bot_User['nickname'].".";
$bot_replied = true;
} elseif (preg_match("/[^a-zA-Z0-9]/", $bot_msg)) {
echo "I'm sorry, but this is not a valid nickname, please try something else.<error>";
$bot_replied = true;
} else {
$bot_User['nickname'] = substr($bot_msg, 9);
$bot_Mysql['Result'] = mysql_query("UPDATE ".$bot_Mysql['Prefix']."clients SET nickname='".$bot_User['nickname']."' WHERE userkey='".$bot_userkey."' AND user='".$bot_user."' LIMIT 1;") or die(mysql_error());
echo "From now on, I will refer to you as " . $bot_User['nickname'] . ".";
$bot_replied = true;
}
break;
?>
Maar ik krijg het niet aan het werkt, wat doe ik verkeerd?
Overigens mag de lengte van het bericht ($bot_msg) niet korter zijn dan negen tekens, anders verzendt de gebruiker enkel het woord 'nickname'.
Alvast heel erg bedankt!
Gerard Nijboer
1.093 views