PHP: Reloading the captcha image from javascript

2020-07-24 04:39发布

问题:

I have a user registration form in PHP .I put captcha image check in the page.I used it like this

<img src="captcha.php" alt="Enter this text in the adjacent text box" id="imgCaptcha" />

and in my javascript i will validate this with the same number which is generated in the image (from captcha.php page) . That number was set in a session variable too. Now i want to reload the image to another image from my javascript , if the validattion fails .Is there any way to do so ?

In my captcha.php page,I am creating a Number randomly and then creating an image using imagejpeg. I set this number (in the image) to as session varible also

Please guide me to solve this

Thanks in advance

回答1:

You need to inject captcha.php into the page using ajax. There are several ways to do this:

  • javascript using XHR but this can be a pain. Here is an example.
  • jQuery provides a simple way to do this, for example:

    $('#someButton').click(function() { $('#someDiv').load('captcha.php'); });

  • prototype.js is a bit more verbose, but does the job. Example.

I would suggest using jQuery, there are great examples in the docs.

If your registration page returns on a validation error, you do not need to use javascript for the captcha to get reloaded, that should happen automatically.



标签: php captcha