私は以下のようなクラスコンストラクタを持っていますが(私はいくつかの変数を残しました)、しかし、オブジェクトを構築する方法と変数を投稿する方法はわかりません。私はこのコードを継承しているので、それはうまくいくのが分かっていますが、どういうわけか...誰かがここで何が起こっているか教えてください。どのようにしてオブジェクトを作成し、そのすべてのパラメータを設定できますか?コンストラクタでポスト変数を使用するには?
function __construct()
{
$some variables set here
$user_name = isset($_POST['user_name']) ? prepare_input($_POST['user_name'], true) : '';
$password = isset($_POST['password']) ? prepare_input($_POST['password'], true) : '';
//some more post variables
$this->wrongLogin = false;
if(!$this->IsLoggedIn()){
if($submit_login == 'login'){
if(empty($user_name) || empty($password)){
if(isset($_POST['user_name']) && empty($user_name)){
$this->loginError = '_USERNAME_EMPTY_ALERT';
}else if(isset($_POST['password']) && empty($password)){
$this->loginError = '_WRONG_LOGIN';
}
$this->wrongLogin = true;
}else{
$this->DoLogin($user_name, $password, $remember_me);
}
}else{
if(isset($_COOKIE[$this->cookieName])){
parse_str($_COOKIE[$this->cookieName]);
if(!empty($type) && !empty($usr) && !empty($hash)){
$this->accountType = $type;
$user_name = $usr;
$password = $this->Decrypt($hash, $this->passwordKey);
$this->DoLogin($user_name, $password, '2');
}
}
}
}else if($submit_logout == 'logout'){
$this->DoLogout();
}
コンストラクタで$ _POST変数を使用しても問題ありません。どのような問題がありますか? –
これらのパラメータがコンストラクタ定義の一部でない場合、オブジェクトを構築してポスト変数を設定するにはどうすればよいですか? –
$ _POSTはグローバルであり、コンストラクタの一部であり、他のすべてです。 –