Heim  >  Artikel  >  Backend-Entwicklung  >  PHP+Ajax implementiert eine Echtzeit-Verifizierungsfunktion des Verifizierungscodes

PHP+Ajax implementiert eine Echtzeit-Verifizierungsfunktion des Verifizierungscodes

墨辰丷
墨辰丷Original
2018-06-01 17:03:061417Durchsuche

In diesem Artikel wird hauptsächlich die Echtzeitüberprüfung von Verifizierungscodes mit PHP+Ajax vorgestellt.

Die leistungsstarke Bildverarbeitungsfunktion von PHP kann auch ein Verifizierungscodebild erstellen , aber bei der Implementierung der Echtzeitüberprüfung bin ich auf ein Problem gestoßen:
Ich habe nat123 verwendet, um die Website auf meinem Computer zu portieren, um externen Netzwerkzugriff zu erreichen. Ursprünglich habe ich Cookies verwendet, um js zu verwenden. Der Bestätigungscode wurde jedoch überprüft Bei der Überprüfung wurde festgestellt, dass nat123 zwar den Zugriff auf meine Website über eine benutzerdefinierte URL ermöglicht, der Speicherort der PHP-Datei, die den Bestätigungscode im Netzwerk generiert, jedoch nicht in derselben Domäne liegt wie bei anderen Seiten Aufgrund des Ausgabebilds wird es in einem bestimmten Ordner als Cache-Datei zugeordnet, sodass sich andere Seiten unter meiner URL befinden und die Seite, die den Bestätigungscode generiert, sich in einer anderen URL befindet, sodass ihre Cookies nicht geteilt werden können Wie ich den Pfad und die Domäne festgelegt habe, funktionierte nicht, daher musste ich die Sitzung zum Speichern des Bestätigungscodes verwenden, da die Sitzung auf dem Server vorhanden ist, d. h. auf meiner lokalen Website kann darauf zugegriffen werden.
Der nächste Schritt ist das Hauptereignis. Ich habe bisher nur ein grobes Verständnis von Ajax und kenne seine Verwendung und Eigenschaften. Ich weiß jedoch nicht, wie ich mit dem relativ allgemeinen Konzept der Datenbeschaffung beginnen soll der Hintergrund.
Zuerst habe ich den Code einer Beispielfrage analysiert, um den Inhalt einer Textdatei im Hintergrund zu erhalten:

function getHTTPObject(){
  if(typedef XMLHttpRequest == "undefined")
    XMLHttpRequest = function(){
      try{ return new ActiveXObject("Msxml2.XMLHTTP.6.0");}
      catch(e){}
      try{ return new ActiveXObject("Msxml2.XMLHTTP.3.0");}
      catch(e){}
      try{ return new ActiveXObject("Msxml2.XMLHTTP");}
      catch(e){}
      return false;
    }
    return new XMLHttpRequest();
}
function getNewContent(){
  var request = getHTTPObject();
  if(request){
    request.open("GET","TEST.txt",true);
    request.onreadystateschange = function(){
      alert(request.responseText);
    }
  }else{
  alert("no support XMLHttpRequest!");
  }
}

Der Schlüssel ist:

  request.open("GET","TEST.txt",true);
    request.onreadystateschange =function(){
      alert(request.responseText);
    }

Diese drei Sätze geben die Seite an, an die die GET-Anfrage gesendet wird, und die Verarbeitungsfunktion, die ausgelöst wird, wenn das XMLHttpRequest-Objekt die Antwort zurückgibt und die Daten abgerufen werden durch request.responseText von.

---------------- ------ ------------------------------------

Aber die Die Daten, die ich erhalten möchte, sind der Hintergrund. Wie kann der Hintergrund den Bestätigungscode für den von der PHP-Datei generierten Bestätigungscode senden?
Unabhängig von der GET- oder POST-Methode werden Daten an den Hintergrund gesendet. Wo ruft Ajax die Daten aus dem Hintergrund ab?
Verwirrt überprüfte ich eine andere Information und fand ein Beispiel:
Die Verarbeitungsanweisung für die vom XMLHttpRequest-Objekt zurückgegebene Antwort lautet:

request.onreadystateschange=alertContent;
function alertContent(){
...
  alert(request.responseText);
...
}

The Die angeforderte Datei ist check.php.
Es gibt mehrere bedingte Ausgabesätze darin:

if($info){
  echo "你的用户名可以使用";
}else {
  echo "该用户名已被注册";
}

Das laufende Beispiel-Rendering ist Plötzlich erscheint ein Meldungsfeld auf dem Statische Seite, der Inhalt entspricht der Ausgabe der check.php-Seite! ! !
Das heißt, Ajax kann den Ausgabeinhalt einer PHP-Seite anfordern, sodass der nächste Schritt viel einfacher ist. Da das Bild auch die Ausgabe der Bestätigungscodeseite ist, können Sie die Bestätigungscodeseite sonst nicht direkt ajaxen Die Daten des Bildes werden ebenfalls erfasst.
Erstellen Sie eine neue PHP-Seite:

sission_start();
$code="";
if(!empty($_session['check']))$code=$_session['check'];
echo $code;

Verwenden Sie dann Ajax im Frontend, um eine GET-Anfrage an diese Seite zu stellen, und Sie können request verwenden. ResponseText, um den Bestätigungscode zu erhalten.
Dann kapseln Sie den Verifizierungsprozess in eine Funktion, die durch bestimmte Bedingungen ausgelöst wird, sodass Sie ihn in Echtzeit verifizieren können.

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

Detaillierte Erklärung der einfachen interaktiven PHP-MYSQL-Site-Entwicklung

PHP-Implementierung ist eine einfache Methode zum Laden von Ajax-Ladefunktionen 🎜 >

Das obige ist der detaillierte Inhalt vonPHP+Ajax implementiert eine Echtzeit-Verifizierungsfunktion des Verifizierungscodes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn