我真的是php类的新手,现在我的代码出现了一个错误。我已经阅读了一些关于类之类的PHP文档,但有些东西现在不能正常工作。
这是代码
public function change_salts($user_id) {
global $mysqli_db;
public $new_salt_one = "LOL"; //SaltyLogin::makesalt(60);
private $new_salt_two = SaltyLogin::makesalt(60);
mysqli_query($mysqli_db, "UPDATE `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_SALTS)."` SET `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_SALTS_SALT_ONE)."`='".$new_salt_one."' WHERE `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_USER_ID)."` = '".SaltyLogin::sanitize($user_id)."'");
mysqli_query($mysqli_db, "UPDATE `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_SALTS)."` SET `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_SALTS_SALT_TWO)."`='".$new_salt_two."' WHERE `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_USER_ID)."` = '".SaltyLogin::sanitize($user_id)."'");
}
现在这是我经常遇到的错误。
Parse error: syntax error, unexpected 'public' (T_PUBLIC) in C:'xampp'htdocs'GitHub'Salty-login'functions.php on line 60
对于完整的源代码,请查看github并自然分支wip-2。
提前谢谢。
您不能在函数中声明类变量。您必须将它们从方法中移出,或者使它们仅在函数的本地:
选项1
public $new_salt_one = "LOL";
private $new_salt_two = '';
public function change_salts($user_id) {
global $mysqli_db;
$this->new_salt_two = SaltyLogin::makesalt(60);
mysqli_query($mysqli_db, "UPDATE `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_SALTS)."` SET `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_SALTS_SALT_ONE)."`='".$this->new_salt_one."' WHERE `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_USER_ID)."` = '".SaltyLogin::sanitize($user_id)."'");
mysqli_query($mysqli_db, "UPDATE `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_SALTS)."` SET `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_SALTS_SALT_TWO)."`='".$this->new_salt_two."' WHERE `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_USER_ID)."` = '".SaltyLogin::sanitize($user_id)."'");
}
选项2
$new_salt_one = "LOL";
$new_salt_two = SaltyLogin::makesalt(60);