Jadual Kandungan
回复讨论(解决方案)

跳转问题

Jun 23, 2016 pm 01:53 PM
Lompat

一个注册邮件验证的程序,就是用户注册了会发封邮件到用户邮箱,然后用户点击下邮箱中的邮件,key有效则注册成功,写入注册信息,无效则跳转错误页面
在本机localhost测试没问题,到服务器上就出了问题,服务器和本机服务端版本是一样
用户点击邮件验证会跳转到如下页面
链接样式:http://www.haha.net/zhuce.php?key=21_nci34dgjs5guzopl4gi0s62puk9r0o

<?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);?>
Salin selepas log masuk

现在得到的结果是注册信息写入了,但是跳转到了window.location.href="zhucejieguo.php?zt=0,
不知道是什么原因


回复讨论(解决方案)

我感觉你为啥用时间来查找呢?你看你的SQL放到mysql控制台是否能查到数据,然后一步步打印结果排查问题。我感觉问题还是出在SQL上。

我感觉你为啥用时间来查找呢?你看你的SQL放到mysql控制台是否能查到数据,然后一步步打印结果排查问题。我感觉问题还是出在SQL上。


时间是验证key是否过期了
用了 if (!mysql_query($str10, $con))
{
die('Error: ' . mysql_error());
}
没有报错

echo $row10; 看看这个值输出是多少

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,但下面的写入注册信息里面的语句确执行了

    if(!$row10)    {//未找到跳转到失败页面    echo'<script language="javascript" type="text/javascript">';     echo 'window.location.href="zhucejieguo.php?zt=0"; ';   echo ' </script>';     exit;     } else {      //($row10=0,下面的语句会执行)     $str3       = "update zhuceyanzheng  set zhuangtai='1' where mail='$youxiang' "; 	 $result3=mysql_query($str3,$con);   }
Salin selepas log masuk

怎么可能? 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是失败的,打印的语句如下



同样的脚本,有时候成功,有时候失败,实在很难找原因,
我的注册流程,是在邮箱中点击链接,和一般的网站一样,我现在是用QQ邮箱测试,有时候成功,有时候失败,
但是如果在新标签和新窗口打开链接,却都是成功的
而且,即使失败了,也会写入注册信息,这个明显不合理,并且,写入的IP是上海地区的ip,本人在重庆
就是说,成功写入注册信息,ip是我自己的,失败写入注册信息,ip在上海,而且是动态ip
是不是在QQ邮箱跳转的时候有什么变化
注册过程在本地localhost测试,是一点问题没有。。。。
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melaksanakan lompat halaman selepas penyerahan borang PHP Bagaimana untuk melaksanakan lompat halaman selepas penyerahan borang PHP Aug 12, 2023 am 11:30 AM

Cara melaksanakan lompat halaman selepas penyerahan borang PHP [Pengenalan] Dalam pembangunan web, penyerahan borang adalah keperluan fungsian biasa. Selepas pengguna mengisi borang dan mengklik butang hantar, data borang biasanya perlu dihantar ke pelayan untuk diproses, dan pengguna dialihkan ke halaman lain selepas diproses. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan lompatan halaman selepas penyerahan borang. [Langkah 1: Borang HTML] Pertama, kita perlu menulis halaman yang mengandungi borang dalam halaman HTML supaya pengguna boleh mengisi data yang perlu dihantar.

Bagaimana untuk log masuk dan melompat untuk menghantar nilai dalam php Bagaimana untuk log masuk dan melompat untuk menghantar nilai dalam php Jun 05, 2023 am 10:44 AM

Kaedah pemindahan nilai lompat log masuk PHP: 1. Pemindahan nilai POST, gunakan kaedah lompat bentuk "bentuk" HTML untuk menghantar pemindahan nilai 2. DAPATKAN nilai pemindahan, gunakan tag <a> untuk melompat ke xxx.php , dapatkan nilai yang diluluskan melalui "$_GET['id']"; 3. SESSION melepasi nilai Setelah disimpan dalam SESI, halaman lain boleh diperolehi melalui SESI.

Bagaimana untuk melaksanakan kod PHP untuk melompat ke halaman yang ditentukan Bagaimana untuk melaksanakan kod PHP untuk melompat ke halaman yang ditentukan Mar 07, 2024 pm 02:18 PM

Apabila menulis tapak web atau aplikasi, anda sering menghadapi keperluan untuk melompat ke halaman tertentu. Dalam PHP, kita boleh mencapai lompat halaman melalui beberapa kaedah. Di bawah saya akan menunjukkan tiga kaedah lompat biasa untuk anda, termasuk menggunakan fungsi header(), menggunakan kod JavaScript dan menggunakan tag meta. Menggunakan fungsi header() Fungsi header() ialah fungsi yang digunakan dalam PHP untuk menghantar maklumat header HTTP asal Fungsi ini boleh digunakan dalam kombinasi apabila melaksanakan lompatan halaman. Di bawah ialah a

Bagaimana untuk melaksanakan lompatan halaman dalam 3 saat: Panduan Pengaturcaraan PHP Bagaimana untuk melaksanakan lompatan halaman dalam 3 saat: Panduan Pengaturcaraan PHP Mar 25, 2024 am 10:42 AM

Tajuk: Kaedah pelaksanaan lompat halaman dalam 3 saat: Panduan Pengaturcaraan PHP Dalam pembangunan web, lompat halaman adalah operasi biasa Secara umumnya, kami menggunakan tag meta dalam kaedah HTML atau JavaScript untuk melompat ke halaman. Walau bagaimanapun, dalam beberapa kes tertentu, kita perlu melakukan lompatan halaman pada bahagian pelayan. Artikel ini akan memperkenalkan cara menggunakan pengaturcaraan PHP untuk melaksanakan fungsi yang secara automatik melompat ke halaman tertentu dalam masa 3 saat, dan juga akan memberikan contoh kod tertentu. Prinsip asas lompat halaman menggunakan PHP adalah sejenis

Bagaimana untuk menutup aplikasi beli-belah lompat Bagaimana untuk menutup aplikasi beli-belah lompat Nov 29, 2023 pm 05:30 PM

Kaedah untuk menutup apl beli-belah lompat: 1. Matikan fungsi lompat dalam apl 2. Tukar tetapan penyemak imbas 3. Nyahpasang kemas kini atau pasang semula apl; Pengenalan terperinci: 1. Matikan fungsi lompat dalam aplikasi, buka aplikasi beli-belah, klik pada produk yang anda ingin beli di halaman utama atau halaman hasil carian, dan selepas memasuki halaman butiran produk, jangan terus klik "Beli Sekarang " atau butang serupa, tetapi Mula-mula klik ikon "Lagi" atau "Tetapan" di penjuru kanan sebelah atas halaman. Dalam menu pop timbul, cari "Matikan lompatan" atau pilihan yang serupa, klik padanya, sahkan untuk menghidupkan daripada fungsi lompat, dsb.

Apakah pernyataan lompat dalam bahasa go? Apakah pernyataan lompat dalam bahasa go? Dec 26, 2022 pm 04:33 PM

Pernyataan lompat termasuk: 1. penyataan putus, yang digunakan untuk keluar dari gelung atau penyataan suis untuk membolehkan atur cara meneruskan pelaksanaan kod selepas gelung Sintaks ialah "break;" 2. penyataan continue digunakan untuk keluar dari ini gelung dan mulakan gelung seterusnya, sintaks "teruskan;"; atur cara, sintaks "label goto; ... ...Tag: ungkapan;".

Bagaimana untuk melaksanakan lompat alamat tersembunyi dalam php Bagaimana untuk melaksanakan lompat alamat tersembunyi dalam php Mar 22, 2023 am 11:24 AM

Dalam pembangunan web, kita sering menghadapi keperluan untuk menyembunyikan alamat halaman atau mengubah hala halaman. Memandangkan alamat dalam bar alamat penyemak imbas boleh dilihat dan diubah suai oleh pengguna pada bila-bila masa, sesetengah teknologi bahagian pelayan diperlukan untuk benar-benar menyembunyikan atau mengubah hala alamat halaman. Antaranya, PHP ialah bahasa skrip sebelah pelayan yang biasa digunakan yang boleh digunakan untuk melaksanakan lompatan alamat tersembunyi.

Kemahiran pengaturcaraan PHP: Bagaimana untuk melompat ke halaman web dalam masa 3 saat Kemahiran pengaturcaraan PHP: Bagaimana untuk melompat ke halaman web dalam masa 3 saat Mar 24, 2024 am 09:18 AM

Tajuk: Petua Pengaturcaraan PHP: Cara Melompat ke Halaman Web dalam masa 3 Saat Dalam pembangunan web, kita sering menghadapi situasi di mana kita perlu melompat ke halaman lain secara automatik dalam tempoh masa tertentu. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan teknik pengaturcaraan untuk melompat ke halaman dalam masa 3 saat, dan memberikan contoh kod khusus. Pertama sekali, prinsip asas lompat halaman direalisasikan melalui medan Lokasi dalam pengepala respons HTTP. Dengan menetapkan medan ini, penyemak imbas secara automatik boleh melompat ke halaman yang ditentukan. Di bawah ialah contoh mudah yang menunjukkan cara menggunakan P

See all articles