跳转问题
一个注册邮件验证的程序,就是用户注册了会发封邮件到用户邮箱,然后用户点击下邮箱中的邮件,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);?>
现在得到的结果是注册信息写入了,但是跳转到了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); }
怎么可能? 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测试,是一点问题没有。。。。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



So implementieren Sie einen Seitensprung nach der PHP-Formularübermittlung [Einführung] In der Webentwicklung ist die Formularübermittlung eine häufige Funktionsanforderung. Nachdem der Benutzer das Formular ausgefüllt und auf die Schaltfläche „Senden“ geklickt hat, müssen die Formulardaten normalerweise zur Verarbeitung an den Server gesendet werden, und der Benutzer wird nach der Verarbeitung auf eine andere Seite weitergeleitet. In diesem Artikel wird erläutert, wie Sie mit PHP einen Seitensprung nach der Formularübermittlung implementieren. [Schritt 1: HTML-Formular] Zuerst müssen wir eine Seite mit einem Formular in einer HTML-Seite schreiben, damit Benutzer die Daten eingeben können, die übermittelt werden müssen.

PHP-Login-Sprungwertübertragungsmethode: 1. POST-Wertübertragung, verwenden Sie die HTML-Formularsprungmethode, um die Wertübertragung zu posten. 2. GET-Übertragungswert, verwenden Sie das <a>-Tag, um zu xxx.php zu springen und den übergebenen Wert zu erhalten durch „$_GET['id']“; 3. SESSION übergibt den Wert. Nach dem Speichern in SESSION können andere Seiten über SESSION abgerufen werden.

Beim Schreiben einer Website oder Anwendung müssen Sie häufig zu einer bestimmten Seite springen. In PHP können wir einen Seitensprung durch verschiedene Methoden erreichen. Im Folgenden werde ich Ihnen drei gängige Sprungmethoden demonstrieren, darunter die Verwendung der Funktion header(), die Verwendung von JavaScript-Code und die Verwendung von Meta-Tags. Verwenden der Funktion header() Die Funktion header() ist eine Funktion, die in PHP zum Senden von Original-HTTP-Header-Informationen verwendet wird. Diese Funktion kann in Kombination verwendet werden, wenn Seitensprünge implementiert werden. Unten ist ein

Titel: Implementierungsmethode des Seitensprungs in 3 Sekunden: PHP-Programmierhandbuch In der Webentwicklung ist der Seitensprung eine übliche Operation. Im Allgemeinen verwenden wir Meta-Tags in HTML- oder JavaScript-Methoden, um zu Seiten zu springen. In bestimmten Fällen müssen wir jedoch Seitensprünge auf der Serverseite durchführen. In diesem Artikel wird erläutert, wie Sie mithilfe der PHP-Programmierung eine Funktion implementieren, die innerhalb von 3 Sekunden automatisch zu einer bestimmten Seite springt, und es werden auch spezifische Codebeispiele aufgeführt. Das Grundprinzip des Seitensprungs mit PHP ist eine Art

Methoden zum Schließen der Jump-Shopping-App: 1. Deaktivieren Sie die Jump-Funktion in der App. 2. Ändern Sie die Browsereinstellungen. 3. Deinstallieren Sie Updates oder installieren Sie die App neu. Ausführliche Einführung: 1. Deaktivieren Sie die Sprungfunktion in der App, öffnen Sie die Einkaufs-App, klicken Sie auf der Startseite oder Suchergebnisseite auf das Produkt, das Sie kaufen möchten, und klicken Sie nach dem Aufrufen der Produktdetailseite nicht direkt auf „Jetzt kaufen“. " oder ähnliche Schaltflächen, aber klicken Sie zunächst auf das Symbol „Mehr“ oder „Einstellungen“ in der oberen rechten Ecke der Seite. Suchen Sie im Popup-Menü nach „Sprung ausschalten“ oder einer ähnlichen Option, klicken Sie darauf und bestätigen Sie, um zu wechseln Off-the-Jump-Funktion usw.

Zu den Jump-Anweisungen gehören: 1. break-Anweisung, die zum Beenden einer Schleife oder einer switch-Anweisung verwendet wird, damit das Programm den Code nach der Schleife weiter ausführen kann. 2. continue-Anweisung wird zum Verlassen dieser Schleife verwendet Schleife und starte die nächste. Schleife, Syntax „continue;“; 3. Kombiniert mit Labels, um zur angegebenen Label-Anweisung zu springen, Syntax „label + :“ wird verwendet, um bedingungslos zur angegebenen Zeile in der zu springen Programm, Syntax „goto label; ... ...Tag: Ausdruck;“.

Bei der Webentwicklung müssen wir häufig die Seitenadresse verbergen oder die Seite umleiten. Da die Adresse in der Adressleiste des Browsers jederzeit vom Benutzer angezeigt und geändert werden kann, sind einige serverseitige Technologien erforderlich, um die Seitenadresse wirklich zu verbergen oder umzuleiten. Unter diesen ist PHP eine häufig verwendete serverseitige Skriptsprache, mit der versteckte Adresssprünge implementiert werden können.

Titel: PHP-Programmiertipps: So springen Sie innerhalb von 3 Sekunden zu einer Webseite. Bei der Webentwicklung stoßen wir häufig auf Situationen, in denen wir innerhalb einer bestimmten Zeitspanne automatisch zu einer anderen Seite springen müssen. In diesem Artikel wird erläutert, wie Sie mit PHP Programmiertechniken implementieren, um innerhalb von 3 Sekunden zu einer Seite zu springen, und spezifische Codebeispiele bereitstellen. Zunächst wird das Grundprinzip des Seitensprungs über das Standortfeld im HTTP-Antwortheader realisiert. Durch Setzen dieses Feldes kann der Browser automatisch zur angegebenen Seite springen. Nachfolgend finden Sie ein einfaches Beispiel, das die Verwendung von P demonstriert
