ジャンプの質問

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

登録メール検証プログラム。ユーザーが登録すると、メールボックスにメールが送信されます。キーが有効であれば、登録は成功し、登録情報が書き込まれます。無効な場合は、エラー ページがリダイレクトされます。
このマシンでは、localhost テストでは問題ありませんが、サーバーとローカル サーバーのバージョンが同じです。
ユーザーが をクリックすると、エラー ページがリダイレクトされます。メール認証を行うと、次のページにジャンプします
リンクスタイル: http://www.haha.net/zhuce.php ?key=21_nci34dgjs5guzopl4gi0s62puk9r0o
うわー
結果は、登録情報は書き込まれていますが、ウィンドウにジャンプします.location.href="zhucejieguo.php?zt=0,
理由がわかりません


ディスカッションに返信 (解決策)

なぜ検索に時間がかかるのかと思います? データが保存できるかどうかを確認してくださいSQL コンソールで検索して、結果を段階的に出力して問題を解決してください。

なぜ、mysql でデータが見つかるかどうかを確認する必要があるのでしょうか。コンソールにアクセスし、結果を段階的に出力して問題を解決します。

キーの有効期限が切れているかどうかを確認します。 if (!mysql_query($str10, $con)) を使用します。
{ 出力される値は何ですか?

echo $row10; 出力される値を見てみましょう

この出力は 0 ですが、
$str10="select mail from zhuceyanzheng where yanzhengzi='$key' and zhuangtai ='0' であるため、これも奇妙に感じますand shijiancuo>'$time' " ; このステートメントは修飾されています

、出力は 0 で、登録情報も書き込まれます。これが理解できません。出力は 0 なので、書き込まれないはずです。登録情報を入力するのは正しいです



echo $row10; 出力される値を確認してください

この出力は 0 ですが、
$str10="select mail from zhuceyanzheng where yanzhengzi ='$ key' and zhuangtai='0' and shijiancuo>'$time' " ;
このステートメントは修飾されています、出力は 0 で、登録情報も書き込まれます。これが理解できないことです。出力は 0 です。登録情報は書き込まれません。

0 は、クエリがデータを見つけられなかったことを意味します。


このステートメントはローカルマシン上のデータをチェックできますが、なぜそれがサーバー上ではできないのかわかりません。ローカルマシンとサーバー、データベースとスクリプトはすべて同じです



また。 、結果は0ですが、その下に登録情報が書かれています 中のステートメントは確かに実行されます

<?phprequire('shujulianjie.php'); //接入数据库文件date_default_timezone_set('Asia/Shanghai'); //此句用于消除时间差$iipp     = $_SERVER["REMOTE_ADDR"]; //获取ip$times    = date("Y-m-d H:i:s"); //取得?前??//验证key有效性和找出注册信息   $key=$_GET["key"];     $key=addslashes(trim($key));	echo $key;	date_default_timezone_set('Asia/Shanghai');//此句用于消除时间差	$time=time();//当前时间戳	$time=$time-86400;//获取一天之前的时间戳	//找出是否存在或失效	$str10="select  mail from zhuceyanzheng where yanzhengzi='$key' and zhuangtai='0'  and shijiancuo>'$time' " ;     $result10=mysql_query($str10, $con);  //送出查?	$row10=mysql_num_rows($result10);	echo $row10;	if(!$row10)	{//未找到跳转到失败页面    echo'<script language="javascript" type="text/javascript">';     echo 'window.location.href="zhucejieguo.php?zt=0"; ';   echo ' </script>';	exit;	} else {	  //有则写入注册信息   echo'<script language="javascript" type="text/javascript">';     echo 'window.location.href="zhucejieguo.php?zt=1"; ';   echo ' </script>';}mysql_close($con);?>


どうしたら可能ですか? var_dump($row10); それが何であるかを見てください。


どうしてそんなことが可能なのでしょうか? var_dump($row10); それが何であるかを見てください。

メール内のリンクをクリックしてこのページに移動したため、このようなリンクが表示されました

リンク スタイル: http://www.haha.net/zhuce.php?key=21_nci34dgjs5guzopl4gi0s62puk9r0o

新しいものを使用して試してみましたタグ リンクを開くのは正常です。この種のジャンプ リンクは QQ メールボックスで直接開くことができないためですか?

次に、SQL ステートメントを個別に実行して結果を確認します


次に、SQL ステートメントを個別に実行してみましょう。結果


単体で実行すると便利です、データも見つかります
、、、、、、、、、、
あと数回試してみましたが、成功することもあれば失敗することもあるのが現状です。 。 。 。 。 。本当に奇妙です
where yanzhengzi='$key' and zhuangtai='0' and shijiancuo>'$time' "

明らかに一致します。確認するには完全な SQL をエクスポートしてください。

たぶん??$ Time ?.


SQL ステートメントを見て SQL を出力

SQL ステートメントを見て SQL を出力


出力されます。成功する場合もあれば、失敗する場合もあります。1 は成功を意味し、0 は失敗を意味します。出力されたステートメントは次のとおりです



同じスクリプトでも、成功する場合もあれば失敗する場合もあり、理由を見つけるのは非常に困難です
私の場合。登録プロセスは、他の Web サイトと同じです。現在、QQ メールでテストしていますが、新しいタブでリンクを開くと失敗する場合があります。新しいウィンドウを開くと必ず成功します
しかも、失敗しても登録情報が書き込まれます。つまり、私は上海地域のIPです。登録情報は正常に書き込まれ、IP は自分のものです。はい、登録情報の書き込みに失敗しました。IP は上海にあり、動的 IP です
QQ メールボックスがジャンプすると、何か変化がありますか?
ローカルホストでテストしましたが、まったく問題ありませんでした。 。 。 。

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