所以我使用函数来检查帐户是否存在。除了在名称已被占用时打印用户名之外,它工作得很好。数据库的功能按预期运行。返回错误信息中的$username
只是一个奇怪的问题。PHP:为什么我的变量不通过,但在相同的范围内?
试用用户药水,它会显示不可用,但指出$username
,而不是药水在那里为狼在这种情况下是可用的。
if (isset($_POST['submit'])) {
if (empty($_POST['username'])) {
$error = "Username cannot be empty.";
}
elseif (preg_match('/[\'^£$%&*()}{@#~?><>,|=+¬-]/', $_POST['username']))
{
$error = "Username must contain up to 12 characters of A-z letters 0-9 numbers and _.";
}
else
{
//set the username variable
$username = $_POST['username'];
//$username = preg_replace("/[^A-Za-z0-9_]/", "", $username);
//$username=preg_replace('/[^0-9a-zA-Z_]/',"",$input)
//check the runescape website if it exists
$likelyhood = checkUsername($username);
//if already exist, update my database
if($likelyhood === 28){
$error = "Congratulations, the username $username appears to be availible!";
addNewUserToDb($username, 1);
//if availible, update my database
}
if($likelyhood < 28){
$error = 'Sorry, the username $username is already taken.';
addNewUserToDb($username, 0);
}
}
}
变量不作为值传递的,但在单引号实际字符串。要么做''...用户名'。$ username''。已经...'或者使用双引号而不是'''(它会传递变量的值)。 – Qirel
请参阅[关于字符串的PHP文档](http://php.net/manual/en/language.types .string.php#language.types.string.syntax.single) – Qirel
Omg。我在一个简单的事情上熬夜强调...... !!!! – Potion