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

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

WBOY
WBOYオリジナル
2016-06-23 13:41:56822ブラウズ

このコードの何が問題なのか教えてください。以前は問題なく動作していましたが、現在は説明のつかない問題が発生しています。エディターは netbeans なので、再インストールしました。
これで、実行時に 2 番目の _query 関数を実行できるようになりました。データベースの操作が成功した場合は、mysql_affected_rows() セクションをスキップして、次の else {
_alert_back('illegaloperation'); を直接実行します。チェックしてください。 コードは
if (mysql_fetch_array(_query("SELECT tg_active FROM tg_user WHERE tg_active='$_active' LIMIT 1"),MYSQL_ASSOC)) になるはずです。
このセクションで問題が発生します。 _query ステージを実行している必要があります

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

そうですね、テーブルをチェックして何度も試しましたが、mysql_fetch_array も出力しました
あなたが投稿したコードに関する限り、あなたが言った状況が発生することは不可能です

because

_query( "UPDATE tg_user SET ....


_alert_back('不正な操作');

if (mysql_fetch_array(_query("SELECT tg_active FROM...
) に属します。 2 つのブランチ

は実行できません

したがって、実際に実行しているのはこのコードではないと考えられます



結果はどうなりますか


あなたが投稿したコードに関する限り、それは不可能ですあなたが発生すると述べた状況の場合
なぜなら
_query(" UPDATE tg_user SET ....

_alert_back('illegal Operation');

に属している if (mysql_fetch_array(_query("SELECT tg_active FROM...

) 2 つのブランチ
を同時に実行することはできません
したがって、実際に実行しているのはこのコードではないと考えられます

そうです、だから私は 2 日間探していたのです。まだ問題は見つかりません


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


この結果はどうなりますか?


印刷OK 、

最新の状況では、コンピューターを数回再起動した後、プロジェクトを再度開いた後、最初に登録したものはアクティベートできますが、それ以降は不正な操作になります

コンピューターシステムに問題があるのか​​と思います
印刷すると、間違った場所を探していることがわかります。 __FILE__ と __LINE__

それでもうまくいかない場合は、しばらく探すのをやめてください

両方ともありがとう。

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