Captcha in html-Formular einfügen

Status
Nicht offen für weitere Antworten.

MagZero

Grünschnabel
Ich habe da ein Problem...

Seit einigen Tagen versuche ich nun schon vergeblich, Captchas in mein Kundenformular einzufügen. Das Formular ist html (und bestimmt voller Fehler) und nun die Frage: wie bekomme ich den Captcha-php-Code so eingefügt, dass auch alles komplett und fehlerfrei angezeigt wird? Ich habe schon viel rumexperimentiert und über Google gesucht, auch schon in Foren nachgefragt, aber entweder gabs nichts wirklich hilfreiches oder nur Links zu Pages, die mir ebenfalls nich weiterhelfn konnten. In html habe ich mich schon ein wenig eingearbeitet und auch für php habe ich mich bemüht (und zwar hier: http://reeg.junetz.de/DSP/node13.html), aber es will einfach nicht klappen. In größter Hoffnung, dass man mir hier helfen kann, poste ich also diesen Beitrag.

Hier noch mein (kompletter) html-Code:

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Kundenformular</TITLE>
<META NAME="AUTHOR" CONTENT="Carsten Fontein">
<STYLE>
<!--
H3 { color: #ffffff; font-family: sans-serif }
TD P { color: #ffffff; font-family: sans-serif }
H1 { color: #ffffff; font-family: sans-serif }
P { color: #ffffff; font-family: sans-serif }
A:visited { color: #333366 }
A:link { color: #ccccff }
-->
</STYLE>
</HEAD>
<BODY TEXT="#FFFFFF" LINK="#ccccff" VLINK="#333366" BGCOLOR="#000000">
<H1>Kundenformular</H1>
<FORM action="mailto:rawsidefan@gmx.de?SUBJECT=Kundenformular" enctype="text/plain" method="POST">
<TABLE WIDTH=567 BORDER=0 CELLPADDING=4 CELLSPACING=0>

<TR>
<TD COLSPAN=2 WIDTH=559 VALIGN=TOP>
<H3>Kundendaten</H3>

<P><INPUT TYPE=RADIO NAME="Anrede" VALUE="Herr">Herr <INPUT TYPE=RADIO NAME="Anrede" VALUE="Frau">Frau <INPUT TYPE=RADIO NAME="Anrede" VALUE="Firma">Firma </P>
</TD>
</TR>
<TR VALIGN=TOP>
<TD WIDTH=182>
<P>Vorname, Name</P>
</TD>
<TD WIDTH=369>
<P><INPUT TYPE=TEXT NAME="Name1" SIZE=22> <INPUT TYPE=TEXT NAME="Name2" SIZE=23></P>
</TD>
</TR>
<TR VALIGN=TOP>
<TD WIDTH=182>
<P>Straße oder Postfach</P>
</TD>
<TD WIDTH=369>
<P><INPUT TYPE=TEXT NAME="Strasse" SIZE=49></P>
</TD>
</TR>
<TR VALIGN=TOP>
<TD WIDTH=182>
<P>PLZ Ort</P>
</TD>
<TD WIDTH=369>
<P><INPUT TYPE=TEXT NAME="PLZ" SIZE=15> <INPUT TYPE=TEXT NAME="Ort" SIZE=30></P>
</TD>
</TR>
<TR VALIGN=TOP>
<TD WIDTH=182>
<P>Telefon, Fax</P>
</TD>
<TD WIDTH=369>
<P><INPUT TYPE=TEXT NAME="Telefon" SIZE=22> <INPUT TYPE=TEXT NAME="Fax" SIZE=23></P>
</TD>
</TR>
<TR VALIGN=TOP>
<TD WIDTH=182>
<P>E-Mail</P>
</TD>
<TD WIDTH=369>
<P><INPUT TYPE=TEXT NAME="E-Mail" SIZE=50></P>
</TD>
</TR>
<TR VALIGN=TOP>
<TD WIDTH=182>
<P><BR>
</P>
</TD>
<TD WIDTH=369>
<P><INPUT TYPE=CHECKBOX NAME="NeueKundendaten" VALUE="">Bitte ändern Sie meine Kundendaten</P>
</TD>
</TR>
<TR>
<TD COLSPAN=2 WIDTH=559 VALIGN=TOP>
<H3>Bankverbindung</H3>
</TD>
</TR>
<TR VALIGN=TOP>
<TD WIDTH=182>
<P>Name der Bank</P>
</TD>
<TD WIDTH=369>
<P><INPUT TYPE=TEXT NAME="Bank" maxlength="80" SIZE=46></P>
</TD>
</TR>
<TR VALIGN=TOP>
<TD WIDTH=182>
<P>BLZ</P>
</TD>
<TD WIDTH=369>
<P><INPUT TYPE=TEXT NAME="BLZ" SIZE=22 MAXLENGTH=8></P>
</TD>
</TR>
<TR VALIGN=TOP>
<TD WIDTH=182>
<P>Kontonummer</P>
</TD>
<TD WIDTH=369>
<P><INPUT TYPE=TEXT NAME="Konto" SIZE=22 MAXLENGTH=10></P>
</TD>
</TR>
<TR VALIGN=TOP>
<TD WIDTH=182>
<P>Kontoinhaber</P>
</TD>
<TD WIDTH=369>
<P><INPUT TYPE=TEXT NAME="Kontoinhaber" SIZE=46></P>
</TD>
</TR>
<TR VALIGN=TOP>
<TD WIDTH=182>
<P><BR>
</P>
</TD>
<TD WIDTH=369>
<P><INPUT TYPE=CHECKBOX NAME="NeueBankverbindung" VALUE="">Bitte ändern Sie meine Bankverbindung </P>
</TD>
</TR>



<TD COLSPAN=2 WIDTH=559 VALIGN=TOP>
<H3>Sonstiges</H3>
</TD>
</TR>
<TR VALIGN=TOP>
<TD WIDTH=182>
<P>Bemerkungen</P>
</TD>
<TD WIDTH=369>
<P><TEXTAREA NAME="Bemerkungen" ROWS=5 COLS=46></TEXTAREA></P>
				</TD>
			</TR>
			<TR VALIGN=TOP>
				<TD WIDTH=182>
					<P><BR>
					</P>
				</TD>
				<TD WIDTH=369>
					<P><BR>
					</P>
				</TD>
			</TR>
			<TR VALIGN=TOP>
				<TD WIDTH=182>
					<P><BR>
					</P>
				</TD>
				<TD WIDTH=369>
					
				</TD>
			</TR>
	</TABLE>
<h3 align=left>Was möchten Sie bestellen?</h3>
<p align=left><input type="checkbox" name="bestellung" checked value="bla">Bla <input type="text" name="anzahl" value="" size="1" maxlength="3"></p>
<p align=left><input type="checkbox" name="bestellung" value="blabla">Blabla <input type="text" name="anzahl" value="" size="1" maxlength="3"></p>
<p align=left><input type="checkbox" name="bestellung" value="blablabla">Blablabla <input type="text" name="anzahl" value="" size="1" maxlength="3"></p>
<p align=left><input type="checkbox" name="bestellung" value="blablablabla">blablablabla <input type="text" name="anzahl" value="" size="1" maxlength="3"></p>

<P><INPUT TYPE=SUBMIT NAME="Submit" VALUE="Abschicken"> <INPUT TYPE=RESET NAME="Reset" VALUE="L&ouml;schen"></P>

    
</FORM>
</BODY>
</HTML>

p.s.: Auch für Verbesserungsvorschläge hinsichtlich des Formulars bin ich offen. Als Captcha hatte ich mir folgendes ausgesucht: http://www.cb-talk.de/captcha.html (weiter unten auf der Seite)
 
Hi, also ich habe mal auf der Seite von deinem Captcha-script geschaut und da gibt es ein fertiges Kontaktformular zum Download, warum nimmst du nciht einfach das und passt es deinen Wünschen nach an (Felder,Checkboxen etc.)

Wäre ein anderer einfacher Lösungsweg

Und wenn man sich die Kontakt.php anschaut wurde es folgendermaßen eingebaut.

Code:
\\ Das Bild
<img border="0" src="captcha_img.php?PHPSESSID=<?echo session_id();?>" alt="" />
\\Eingabefeld
<input maxlength="6" name="txtCode" size="34" type="text" />

Nur das Ding wird das du auch den PHP-Teil einbinden musst und dafür sollte man schon ne .php datei nehmen.

PHP:
<?
	/*
		Captcha v1.o9 - Copyright (c) 2006, Daniel Kauser aka danysahne333
		This program and it's moduls are Open Source in terms of General Public License (GPL) v2.0
	
		captcha.php 	(random text module)
		
		visit http://www.cb-talk.de/captcha.html for latest version
	*/
		
	// Header
	header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Datum aus Vergangenheit
	header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
														 // immer geändert
	header("Cache-Control: no-store, no-cache, must-revalidate");  // HTTP/1.1
	header("Cache-Control: post-check=0, pre-check=0", false);
	header("Pragma: no-cache");                          // HTTP/1.0
	
	// Alle Fehler und Notices anzeigen
	error_reporting(E_ALL);
	
	session_start();
	
	$CAPTCHA_TempString="";
	
	// Zufallsfunktion für Zahlen und Buchstaben
		function GetRandomChar() {
	
	// Zufallszahl generieren
		mt_srand((double)microtime()*1000000);
		$CAPTCHA_RandVal = mt_rand(1,2);
	
	// Buchstabensalat generieren jeh nachdem ob Randval 1 oder 2 ist
		switch ($CAPTCHA_RandVal) {
	    case 1:
	  	  // Zahlen 0-9
	        $CAPTCHA_RandVal = mt_rand(48, 57);
	        break;
	    case 2:
	  	  // Grosse Buchstaben
	        $CAPTCHA_RandVal = mt_rand(65, 90);
	        break;
		}
		
	// Zufallscode ausgeben
		return chr($CAPTCHA_RandVal);
	}
	
	// Zufallscode x-stellig ausgeben
		for ($i = 1; $i <= 6; $i++) {
	       $CAPTCHA_TempString .= GetRandomChar();
	}

	// Text in Sessionvariable speichern
	if (isset($CAPTCHA_TempString)) {
		$_SESSION["CAPTCHA_RndText"] = str_replace('I','E',str_replace('0','3',str_replace('1','S',str_replace('B','F',str_replace('O','P',str_replace('4','A',str_replace('D','K',$CAPTCHA_TempString)))))));
	} else {
		die("Zufallscode konnte nicht generiert werden!");
	}
?>

MFG Remme
 
Zuletzt bearbeitet:
Das habe ich schon "versucht", nur wird das Formular nicht/als weiße Seite angezeigt. Hab auch damit schon rumexperimentiert, aber es nicht hingekriegt das es was anzeigt bzw. das das Formular mit Captcha angezeigt wird.

edit: war mir nicht sicher, ob ich mit diesem Problem im HTML- oder im PHP-Bereich besser aufgehoben bin. Hab die 50:50-Chance klar vergeigt :(
 
Zuletzt bearbeitet:
Hi,

für Fragen zu PHP haben wir ein spezielles Board, wo ich den Thread dann mal unterbringe.
 
Naja also wie ich das sehe musst du wenn die fertige Vorlage runterlädst nur die beiden kontakt phps ändern, wenn das für dich möglich ist. Wenn nicht kann ich dir vielleicht ein Tool anbieten. Nennt sich DA-Formmaker, mit diesem Tool kann man Kontaktformulare einfach erstellen und auch da ein Spamschutz einbauen und einfach den HTML-Code in die vorgesehene Seite einfügen.

Aber wenn du die Kontakt.php änderst musst du auch die Variablen für zusätzliche Felder in der kontakt_ausw.php hinzufügen. Und halt in der config.php die maisladresse ändern.
 
Ich hab die Vorlage einfach nicht hinbekommen, aber hab' mal deinen Tip bezüglich des DA-Formmakers befolgt. Resultat: GEIL! :-) Habe damit ein funktionierendes Formular erstellen können, werde jetzt nur noch meine Boxes etc. einfügen und fertig. Vielen Dank! :)
 
Status
Nicht offen für weitere Antworten.
Zurück