Home > Article > Backend Development > firefox php verification code image multiple requests problem to be solved
??Abstract: In the process of using the GD library to make the verification code, using firefox to debug, I found that the verification code image displayed by the browser is different from the verification code image responded by firebug. The string of the verification code image responded by firebug is different from the one in the session. The stored strings are the same. After searching online, I found an idea. It is possible that the request displayed by the Firefox browser is not the same request as the Firebug request, so I did the following verification and recorded this problem.
??In order to better verify this problem, the original code has been streamlined and modified, which is more suitable for verifying this problem. Okay, let’s start with the 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>
??The code is very simple, so I won’t explain it here.
The following are the results after the first visit and refresh on firefox (without firebug enabled):
First visit:
Right-click on the verification code image and save it as, save it locally:
Then there are also 2 stored in SESSION
After refreshing:
??The following is the result after the first access and refresh on firefox (firebug is turned on) (no pictures, too troublesome):
First visit: 1
Right click on the image and save as: 3
The response in firebug is: 3
SESSION contains: 3
Summary: When the firebug plug-in is not enabled, the firefox page is requested once (the first of two times), and the PHP file on the server side is actually requested twice. When the firebug plug-in is turned on, the firefox page is requested for the first time, I don't know where it is requested for the second time, and firebug is requested for the third time.
I visited it once under the chrome browser. The characters on the picture displayed on the page are the characters stored in the SESSION, and the operation is normal
Final summary: I checked online that this problem may occur It's a bug in Firefox. I think it's not such a simple problem. I'll record it here. I hope I can find out the reason for this in the future! ! !
End
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });The above introduces the firefox PHP verification code image multiple request problem to be solved, including the content. I hope it will be helpful to friends who are interested in PHP tutorials.