PHP Gästebuch Eintrag mit Capture versehen.

T

tender89

Gast
Hallo Leute.

Ich steh mal wieder aufm Zweig. ^^

Ich habe ein Gästebuch Gebaut. Doch will ich jetzt Ein "Capture" einbauen .
Also befor man auf Eintragen klickt Soll man zb 44-22 berechnen und in ein feld eintragen.

Hier mal der submint block mit der eingabe.

HTML:
<form action="<?php echo $_REQUEST["PHP_SELF"]; ?>" method="POST" >
	  <p></p>
        <table width="639" border="0" cellspacing="0" cellpadding="2">
			<tr>
				<td class="beschr_hell" align="left" valign="top" bgcolor="#666666" width="80">Datum</td>
				<td class="beschr_hell" align="left" valign="top" bgcolor="#666666" width="363">&nbsp;</td>
				<td class="beschr_hell" align="left" valign="top" bgcolor="#666666" width="95">&nbsp;</td>
			</tr>
			<tr>
				<td align="left" valign="top" bgcolor="#cccccc" width="80"><?php echo  date("d.m.Y"); ?></td>
				<td align="left" valign="top" bgcolor="#cccccc" width="363">&nbsp;</td>
				<td align="left" valign="top" bgcolor="#cccccc" width="95">&nbsp;</td>
			</tr>
			<tr>
				<td class="beschr_hell" align="left" valign="top" bgcolor="#999999" width="80">Text</td>
				<td colspan="2" align="left" valign="top" bgcolor="#cccccc" width="462">
					<p class="fliesstext"><textarea name="form_text" rows="2" cols="65"></textarea></p>
				</td>
			</tr>
			<tr>
				<td align="left" valign="top" bgcolor="#999999" width="80">&nbsp;</td>
				<td align="left" valign="top" bgcolor="#cccccc" width="363">&nbsp;</td>
				<td align="left" valign="top" bgcolor="#cccccc" width="95">&nbsp;</td>
			</tr>
			<tr>
				<td align="left" valign="top" bgcolor="#999999" width="80"><input type="hidden" name="do" value="insert"></td>
				<td align="left" valign="top" bgcolor="#cccccc" width="363"><input type="submit" name="submit" value="eintragen" border="0"></td>
				<td align="left" valign="top" bgcolor="#cccccc" width="95">&nbsp;</td>
			</tr>
			
		</table>
        </form>


so sieht das aus :

7pvmuxdc.jpg



hier mal der PhP eintrage/submint code
PHP:
	    // Zum Eintragen neuer Datensätze in das Gästebuch
    
    // Prüfen, ob sich die Seite selbst aufgerufen hat
    if ( isset($_REQUEST["do"]) && $_REQUEST["do"] == "insert" )
    {
	// Die Seite hat sich selbst aufgerufen
	
	// Pflichtfeldkontrolle
	    
	$error_msg	=	"";    
	
	
	if ( $_REQUEST["form_text"] == "" )
	{
	    $error_msg	.=	"Bitte geben Sie einen Text an.<br>";
	}
	
	if ( $error_msg	== "")
	{
	    // Alles o.k.
	    
	    $datum	=	date("d.m.Y");
	    
	    // Datenbank-Zugriff
	    
	    mysqlconnect();
	    
	    // INSERT
	    $query	=	"INSERT INTO allgemein (text, datum ) VALUES ( ";
	    $query	.=	" '" . $_REQUEST["form_text"] . "', ";
	    $query	.=	" '" . $datum . "' ";
	    $query	.=	" ) " ;
	    
	    // In die Datenbank eintragen
	    $result	=	mysql_query( $query );
	    
	    if ( ! $result )
	    {
		die("Konnte den Datensatz nicht eintragen: " . mysql_error() );
	    }
	    
	    // Wechsel auf main
	    header("Location: index.php");
	    die;
	    
	}

kann mir vllt jemand helfen den if else code zu entwickeln ?? das erste mal ist es immer schwer...

danke schonmal =)!
 
Zuletzt bearbeitet:
danke für die links aber ich dachte da echt an ein rechner ^^ kennt jemand noch einen anderen link??
 
Mit dem Link sollte es eigentlich möglich sein auch ein captcha als rechner zu gestalten. Im Grunde trägst du statt der Buchstaben Zahlen ins Array ein und wälst dann noch zufällig zwischen plus und minus. der rest bleibt doch gleich. musst dann halt nur noch die "ausgabe" anpassen.
 
Du musst halt mit dem php-Skript irgendwas ausrechnen, eine Beschreibung anzeigen, die der User lesen kann, die Eingabe und die im Hintergrund gerechnete "Musterlösung" beide übergeben, vergleichen und dann den Datenbankeintrag machen. Das ganze automatisieren und vllt. Lautschrift benutzen ("Fünf Plus Drei")
 
also ich hab mir das mal so überlegt :

HTML:
<?php
if (hier kommt die rechnung rein und der vergleich ob die zahl richtig eingegeben wurde) {
    
Hier der datenbank eintrag also die codes dafür;

} else {


    schieb ich eine mysql error msg raus ;
}
?>

würde das so klappen?
 
ein mysql fehler ist recht unnötig, da es ja keiner ist.


einfach am anfang bei vor if ( $error_msg == "")prüfen ob das captcha korrekt ist.

wenn du danach allerdings wieder dein gästebuch anzeigen willst muss das script, welches die daten auswertet, auch das selbe sein, welches das GB anzeigt. Es sei denn du leitest dann wieder zurpck auf das Gästebuch und schickst die schon eingetragenen werte mit.

Aber für ein captcha solltest du auf jedenfall ein Bild und keinen Klartext nehmen und die werte dieaddiert werden AUFGAR KEINEN FALL im HTML Quellcode hinterlegen oder per get/post verschicken. Dann ists es ein leichtes das mit einem programm auszuhebeln.

Bilder kann man in php recht leicht erstellen http://de2.php.net/manual/de/function.imagecreate.php

und die werte die du addieren lässt speicherst du dann in einer Session, dadurch stehen sie auch auf den anderen Seiten zur verfügung und kein Programm kann es einfach so aus der quelldatei auslesen.
 
Zurück
Oben