ホームページ >バックエンド開発 >PHPチュートリアル >ジャンプの質問
登録メール検証プログラム。ユーザーが登録すると、メールボックスにメールが送信されます。キーが有効であれば、登録は成功し、登録情報が書き込まれます。無効な場合は、エラー ページがリダイレクトされます。
このマシンでは、localhost テストでは問題ありませんが、サーバーとローカル サーバーのバージョンが同じです。
ユーザーが をクリックすると、エラー ページがリダイレクトされます。メール認証を行うと、次のページにジャンプします
リンクスタイル: http://www.haha.net/zhuce.php ?key=21_nci34dgjs5guzopl4gi0s62puk9r0o
うわー
結果は、登録情報は書き込まれていますが、ウィンドウにジャンプします.location.href="zhucejieguo.php?zt=0,
理由がわかりません
なぜ検索に時間がかかるのかと思います? データが保存できるかどうかを確認してくださいSQL コンソールで検索して、結果を段階的に出力して問題を解決してください。
なぜ、mysql でデータが見つかるかどうかを確認する必要があるのでしょうか。コンソールにアクセスし、結果を段階的に出力して問題を解決します。
キーの有効期限が切れているかどうかを確認します。 if (!mysql_query($str10, $con)) を使用します。、出力は 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); それが何であるかを見てください。
メール内のリンクをクリックしてこのページに移動したため、このようなリンクが表示されました
リンク スタイル: http://www.haha.net/zhuce.php?key=21_nci34dgjs5guzopl4gi0s62puk9r0o
新しいものを使用して試してみましたタグ リンクを開くのは正常です。この種のジャンプ リンクは QQ メールボックスで直接開くことができないためですか?次に、SQL ステートメントを個別に実行して結果を確認します
次に、SQL ステートメントを個別に実行してみましょう。結果
明らかに一致します。確認するには完全な SQL をエクスポートしてください。
たぶん??$ Time ?.
出力されます。成功する場合もあれば、失敗する場合もあります。1 は成功を意味し、0 は失敗を意味します。出力されたステートメントは次のとおりです
同じスクリプトでも、成功する場合もあれば失敗する場合もあり、理由を見つけるのは非常に困難です
私の場合。登録プロセスは、他の Web サイトと同じです。現在、QQ メールでテストしていますが、新しいタブでリンクを開くと失敗する場合があります。新しいウィンドウを開くと必ず成功します
しかも、失敗しても登録情報が書き込まれます。つまり、私は上海地域のIPです。登録情報は正常に書き込まれ、IP は自分のものです。はい、登録情報の書き込みに失敗しました。IP は上海にあり、動的 IP です
QQ メールボックスがジャンプすると、何か変化がありますか?
ローカルホストでテストしましたが、まったく問題ありませんでした。 。 。 。