Hallo liebe Community,
kurz und knapp! Ich probiere gerade etwas mit Ajax rum und habe mich am folgenden Beispiel probiert: Ajax-Beispiel: Passwortcheck
Ich habe nun zwei Dateien, dessen Quelldateien wie folgt aussehen:
ajax.html:
<head>
<title>AJAX-Beispiel</title>
<script type="text/javascript">
function testekennwortqualitaet(inhalt)
{
if (inhalt=="")
{
document.getElementById("sicherheitshinweise").innerHTML="keine Eingabe da";
return;
}
if (window.XMLHttpRequest)
{
// AJAX nutzen mit IE7+, Chrome, Firefox, Safari, Opera
xmlhttp=new XMLHttpRequest();
}
else
{
// AJAX mit IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("sicherheitshinweise").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","kennworttesten.php?q="+inhalt,true);
xmlhttp.send();
}
</script>
</head>
<html>
<input type="password" size="10" value=""
onchange="testekennwortqualitaet(this.value)" />
<span id="sicherheitshinweise">hier kommt dann der AJAX-Inhalt</span>
</html>
Und die kennworttesten.php:
<?php
$passwort = $_GET['q'];
$sicherheitszahl = 0;
$sicherheitszahl = strlen($passwort);
if (preg_match("/[a-z]+/", $passwort)) {
$sicherheitszahl = $sicherheitszahl + 5;
}
if (preg_match("/[A-Z]+/", $passwort)) {
$sicherheitszahl = $sicherheitszahl + 5;
}
if (preg_match("/[0-9]+/", $passwort)) {
$sicherheitszahl = $sicherheitszahl + 5;
}
if ($sicherheitszahl <= 18 ) {
echo 'unsicher ('.$sicherheitszahl.' Punkte)';
}
elseif ($sicherheitszahl <= 25) {
echo 'sicher ('.$sicherheitszahl.' Punkte)';
}
elseif ($sicherheitszahl > 25) {
echo 'sehr sicher ('.$sicherheitszahl.' Punkte)';
}
?>
Das Script, bzw. der Passwortcheck funktioniert nur mit einem Enter in dem Inputfeld. Ich möchte jedoch, dass es mit einer Änderung des Inhaltes im Feld in Verbindung steht. Wie kann ich dies ändern?
Lieben Gruß,
Felix