所以我使用函數來檢查帳戶是否存在。除了在名稱已被佔用時打印用戶名之外,它工作得很好。數據庫的功能按預期運行。返回錯誤信息中的$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