[PHP/MySQL] Problem mit Datenspeicherung

digiTALE

Lt. Junior Grade
Registriert
Juli 2004
Beiträge
270
Tach gesagt.

Ich habe in meinem Formular ein Sicherheitscode mit integriert. Wenn man diesen Falsch eingibt kommt auf der speichern Seite eine Info das der Code ungültig ist und es sollte kein Eintrag in die MySQL Datenbank erfolgen.

Gerade da besteht das Problem, er macht nämlich doch ein Eintrag obwohl der Code falsch ist. Ich weiß nich wieso er das macht.

Hier das Formular:
PHP:
<?php

$ip = getenv("REMOTE_ADDR");

?>
<?php
$Buchstaben=array("A","B","C","D","E","F","G","H","K","M","N","P","Q","R","S","T","U","V","W","X","Y");
$Zahlen=array("2", "3", "4", "5", "6", "7", "8", "9");
for($i=0, $Code=""; strlen($Code)<6; $i++) {
	if(rand(0, 1)==0 && isset($Buchstaben)) {
		$Buchstabe=$Buchstaben[rand(0, count($Buchstaben))];
		$Code.=$Buchstabe;
		$AngezeigterCode.=$Buchstabe;
	}
	else {
		$Zahl=$Zahlen[rand(0, count($Zahlen))];
		$Code.=$Zahl;
		$AngezeigterCode.=$Zahl;
	}
}
$Code=trim($AngezeigterCode);
?>

<b>Formular</b><br /><br />
<form name="gaestebuch" action="?page=gaestebuch&amp;show=speichern" method="post">

IP :<span style="padding-left:65px"></span><input
type="hidden" name="ip" value="<?php print $ip ;?>" /> <?php print $ip ;?><br />

Identitaet :<span style="padding-left:24px"></span><input
type="hidden" name="person" value="Besucher" />Besucher<br />

Name :<span style="padding-left:42px"></span><input
type="text" name="name" class="feld" /> <font
color="#CC0000" size="3">(<b>°</b>)</font><br />

Homepage :<span style="padding-left:10px"></span><input
type="text" name="home" class="feld" value="http://" /><br />

ICQ :<span style="padding-left:55px"></span><input
type="text" name="icq" class="feld" /><br />

MSN :<span style="padding-left:50px"></span><input
type="text" name="msn" class="feld" /><br />

Inhalt :<span style="padding-left:47px"></span><textarea
name="inhalt" rows="8" cols="32" class="txtarea"></textarea> <font
color="#CC0000" size="3">(<b>°</b>)</font><br /><br />

<span style="padding-left:90px"></span>Sicherheitscode : <font face="Courier" size="5"><?php print $Code; ?></font><br />

Bestaetigen :<span style="padding-left:4px"></span><input
type="hidden" name="code1" value="<?php print $Code ;?>" /><input
type="text" name="code2" class="feld" /> <font
color="#CC0000" size="3">(<b>°</b>)</font><br /><br />

<span style="padding-left:87px"></span><input type="submit"
name="senden" value="Eintragen" class="button" /> <input
type="reset" name="reset" value="Reset" class="button" /><br />


und hier das Abspeichern der Daten:
PHP:
<?php

if ($_POST['code2'] == $_POST['code1']) {

	include 'config/config.inc.php';

	$MysqlServer = mysql_connect("$host", "$user", "$pass"); 
	mysql_select_db("gaestebuch", $MysqlServer);

	$SQL = "INSERT INTO eintrag
(`date`,`ip`,`name`,`home`,`icq`,`msn`,`inhalt`,`person`) VALUES
(NOW(''),'".$_POST['ip']."','".$_POST['name']."','".$_POST['home']."','".$_POST['icq']."',
'".$_POST['msn']."','".$_POST['inhalt']."','".$_POST['person']."')";

	mysql_query($SQL, $MysqlServer) or die (mysql_error()); 

	if(mysql_affected_rows($MysqlServer) == 1) { 

		echo "<font color=\"#339900\">Der Eintrag wurde erfolgreich gespeichert.</font><a\n";
		echo "href=\"?page=gaestebuch\">Zurück</a>\n";

	} else { 

		echo "<font color=\"#CC0000\"><b>ERROR!</b> Beim speichern ein Fehler aufgetreten</font><a\n";
		echo "href=\"javascript:history.back();\">Zurück</a>\n";

	}
} else {
	echo "Der Sicherheitscode war ungueltig"; }

?>


Eigentlich müsste doch kein Eintrag gemacht werden wenn der Code falsch ist !? Wo kann der Fehler stecken?


mfg digiTALE
 
ja die beiden Inhalte ($_POST['code1'] und $_POST['code2'] ) kommen an.

Es ist komisch auch wenn er Code richtig ist wird ein normaler Eintrag gespeichert und 2 leere in der Datenbank gespeichert.

Sowas ist mir noch nicht vorgekommen!
 
Zurück
Oben