Ich hoffe, ich bin im richtigen Forum, weil mein Problem sowohl mit PNP als auch mit Javascript zu tun hat.
Folgendes
Das hier ist mein PHP mit dem ich Captcha erzeuge.
Hab das aus dem Internet.
<?php
session_start();
error_reporting(E_ALL);
unset($_SESSION['captcha_spam']);
function randomString($len) {
function make_seed(){
list($usec , $sec) = explode (' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
srand(make_seed());
//Der String $possible enthält alle Zeichen, die verwendet werden sollen
$possible="ABCDEFGHJKLMNPRSTUVWXYZabcdefghkmnpqrstuvwxyz23456789";
$str="";
while(strlen($str)<$len) {
$str.=substr($possible,(rand()%(strlen($possible))),1);
}
return($str);
}
$text = randomString(5); //Die Zahl bestimmt die Anzahl stellen
$_SESSION['captcha_spam'] = $text;
header('Content-type: image/png');
$img = imagecreatefrompng('Captcha/captcha.png'); //Backgroundimage
$color = imagecolorallocate($img, 000, 134, 139); //Farbe
$ttf = "Captcha/arial.ttf"; //Schriftart
$ttfsize = 16; //Schriftgrösse
$angle = rand(3,0);
$t_x = rand(15,0);
$t_y = 20;
imagettftext($img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $text);
imagepng($img);
imagedestroy($img);
?>
Das hier ist mein Javascript mit dem ich die Prüfung des Feldes Sicherheitscode durchführen möchte.
// Captcha Sicherheits Prüfung //
if(document.Kontakt_Formular.Captcha_Ptuefung.value == ''){
alert("Bitte füllen Sie das Sicherheitsfeld aus!");
document.Kontakt_Formular.Captcha_Ptuefung.focus();
document.getElementById('Sicherheitscode_Text').style.color="#F00";
document.getElementById('Sicherheitscode_Text').style.fontWeight="bold";
return false;
}else{
var bild = document.Kontakt_Formular.Bild_Captcha.value;
var sicherheit = document.Kontakt_Formular.Captcha_Ptuefung.value;
if (bild != sicherheit){
alert("Bitte geben Sie Sicherheitscode korrekt ein!");
document.Kontakt_Formular.Captcha_Ptuefung.focus();
document.getElementById('Sicherheitscode_Text').style.color="#F00";
document.getElementById('Sicherheitscode_Text').style.fontWeight="bold";
return false;
}else{
document.getElementById('EMail_Text').style.color="#000";
document.getElementById('EMail_Text').style.fontWeight="normal";
document.Kontakt_Formular.submit();
}
und hier ist das alles in mein HTML eingebaut
<tr>
<td><label id="Sicherheitscode_Text" for="Captcha_Ptuefung">Sicherheitscode</label></td>
<td>
<p class="Formular-Checkboxen_Tabelle">
<img class="Formular-Checkboxen_Tabelle" src="../PHPScripts/Captcha_Pruefung.php" id="Bild_Captcha" border="0" title="Sicherheitscode">
<input class="Formular-Captchafeld" type="text" id="Captcha_Ptuefung" name="Sicherheitscode" maxlength="5">
<input class="Button_Captcha" type="Button" id="Code_aktualisieren" value="Sicherheitscode erneuern" onClick="location.reload();">
</p>
</td>
</tr>
Mein Problem ist... Der vergleich finden zwar statt, aber der Wert aus dem Catchafeld (id="Bild_Captcha") wird nicht richtig ausgewertet.