Heim >Backend-Entwicklung >PHP-Tutorial >Firefox-PHP-Bestätigungscode-Bild, mehrere Anfragen, Problem, das gelöst werden muss
?? Zusammenfassung: Bei der Verwendung der GD-Bibliothek zur Erstellung des Bestätigungscodes und der Verwendung von Firefox zum Debuggen habe ich festgestellt, dass sich das vom Browser angezeigte Bestätigungscodebild von dem von Firebug beantworteten Bestätigungscodebild unterscheidet . Die Zeichen des von Firebug beantworteten Bestätigungscodes sind die gleichen wie die in der Sitzung gespeicherten Zeichen. Es ist möglich, dass die vom Firefox-Browser angezeigte Zeichenkette die gleiche ist von Firebug sind nicht die gleichen Anfragen, daher habe ich die folgende Überprüfung durchgeführt und dieses Problem aufgezeichnet.
??Um dieses Problem besser zu überprüfen, wurde der Originalcode optimiert und geändert, was besser zur Überprüfung dieses Problems geeignet ist. Okay, beginnen wir mit dem Code.
<code><span><span><?php</span> header(<span>"content-type:image/png"</span>); session_start(); <span>if</span> (<span>isset</span>(<span>$_SESSION</span>[<span>'index'</span>])) { <span>$_SESSION</span>[<span>'index'</span>] += <span>1</span>; }<span>else</span>{ <span>$_SESSION</span>[<span>'index'</span>] = <span>1</span>; } <span>$width</span> = <span>80</span>; <span>$height</span> = <span>20</span>; <span>$vCodeString</span> = <span>""</span>; <span>$vCodeString</span> = <span>"{$_SESSION['index']}"</span>; <span>$_SESSION</span>[<span>'vcode'</span>] = <span>$vCodeString</span>; <span>$image</span> = imagecreate(<span>$width</span>,<span>$height</span>); <span>$background</span> = imagecolorallocate(<span>$image</span>,<span>255</span>,<span>255</span>,<span>255</span>); <span>$fontcolor</span> = imagecolorallocate(<span>$image</span>, <span>0</span>, <span>0</span>, <span>0</span>); imagestring(<span>$image</span>, <span>5</span>, <span>0</span>, <span>0</span>, <span>$vCodeString</span>, <span>$fontcolor</span>); imagepng(<span>$image</span>); imagedestroy(<span>$image</span>); <span>?></span></span></code>
??Der Code ist sehr einfach, daher werde ich ihn hier nicht erklären.
Veröffentlichen Sie die Ergebnisse nach dem ersten Besuch und aktualisieren Sie sie auf Firefox (ohne aktivierten Firebug):
Erster Besuch:
Klicken Sie mit der rechten Maustaste auf das Bild des Bestätigungscodes und speichern Sie es unter lokal speichern:
Dann enthält die SESSION auch 2
nach dem Aktualisieren:
?? Das Folgende ist das Ergebnis nach dem ersten Zugriff und der Aktualisierung auf Firefox (Firebug ist aktiviert) (es werden keine Bilder gepostet , Zu mühsam):
Erster Besuch: 1
Klicken Sie mit der rechten Maustaste auf das Bild und speichern Sie es unter: 3
Die Antwort in Firebug lautet: 3
SITZUNG enthält: 3
Zusammenfassung: Wenn das Firebug-Plug-in nicht aktiviert ist, wird die Firefox-Seite einmal angefordert (das erste von zwei Malen) und die PHP-Datei auf der Serverseite tatsächlich zweimal angefordert. Wenn das Firebug-Plug-In aktiviert ist, wird die Firefox-Seite zum ersten Mal angefordert, ich weiß nicht, wo sie zum zweiten Mal angefordert wird und Firebug zum dritten Mal angefordert wird.
Ich habe es einmal im Chrome-Browser besucht. Die Zeichen auf dem auf der Seite angezeigten Bild sind die in der SESSION gespeicherten Zeichen und der Vorgang ist normal
Abschließende Zusammenfassung: Laut Online-Recherche handelt es sich bei diesem Problem möglicherweise um einen Fehler in Firefox. Ich hoffe, dass ich den Grund dafür herausfinden kann Zukunft! ! !
End
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });Das Obige stellt das zu lösende Problem mit dem Firefox-PHP-Bestätigungscode für mehrere Anfragen vor, einschließlich des Inhalts. Ich hoffe, es wird für Freunde hilfreich sein, die an PHP-Tutorials interessiert sind.