ホームページ  >  記事  >  バックエンド開発  >  アカウントのアクティベーションに関する奇妙な質問

アカウントのアクティベーションに関する奇妙な質問

WBOY
WBOYオリジナル
2016-06-13 12:13:181211ブラウズ

アカウントのアクティベーションに関する奇妙な問題について、
このコードの何が問題なのかをマスターに聞きたいのですが、以前は問題ありませんでしたが、現在、エディターが netbeans であり、再インストールしました。 🎜> これで、2 つの _query 関数を実行時に最初のステップまで実行できるようになります。つまり、データベースに対する操作が成功した場合は、mysql_affected_rows() セクションをスキップして、次の else {
_alert_back() を直接実行できます。 '不正な操作');
}


<br />if (isset($_GET['active']) && $_GET['action'] === 'ok') {<br /><br />	$_active = _mysql_string($_GET['active']);<br /><br />  	if (mysql_fetch_array(_query("SELECT tg_active FROM tg_user WHERE tg_active='$_active' LIMIT 1"),MYSQL_ASSOC)) {<br /><br />         //将tg_active设置为actived<br />		_query("UPDATE tg_user SET tg_active='actived' WHERE tg_active='$_active' LIMIT 1");<br /><br />		if (mysql_affected_rows() == 1) {<br /><br />			mysql_close();<br /><br />			_location('账户激活成功','login.php');<br /><br />		} else {<br /><br />			mysql_close();<br /><br />			_location('账户激活失败','register.php');<br />		}<br />	} else {<br /><br />		_alert_back('非法操作');<br />	}<br />}<br />


-----解決策のアイデア-------------- --------チェック コードをチェックすると、
if (mysql_fetch_array(_query("SELECT tg_active FROM tg_user WHERE tg_active='$_active' LIMIT 1"),MYSQL_ASSOC) になるはずです。 ))
このセクションで問題が発生しました。本当に実行しましたか?


<br />if (mysql_fetch_array(_query("SELECT tg_active FROM tg_user WHERE tg_active='$_active' LIMIT 1"),MYSQL_ASSOC)) {<br /> <br />         //将tg_active设置为actived<br />        _query("UPDATE tg_user SET tg_active='actived' WHERE tg_active='$_active' LIMIT 1");<br /> <br />        if (mysql_affected_rows() == 1) {<br /> <br />            mysql_close();<br /> <br />            _location('账户激活成功','login.php');<br /> <br />        } else {<br /> <br />            mysql_close();<br /> <br />            _location('账户激活失败','register.php');<br />        }<br />    } else {<br /> <br />        _alert_back('非法操作');<br />    }<br />

-----解決策のアイデア--- -------------------あなたが投稿したコードに関する限り、あなたが言及した状況は不可能です
なぜなら、
_query( "UPDATE tg_user SET ....

_alert_back(' 不正な操作');
に属する
if (mysql_fetch_array(_query("SELECT tg_active FROM... 2 つのブランチ

は同時に実行できません!
したがって、実際に実行されるのはこのコードではないと考えることができます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。