Daten werden in MYSQL Tabelle nicht eingetragen!

Schokoriegel

Mitglied
Ich bin dabei eine ICQ und Email Liste zu proggen, doch irgendwie habe ich da einen fehler!
Es soll wie eine Gästebuch sein, indem sich später die Leute mit Namen, Email und ICQ Nummer eintragen können!
Wenn ich im Formular die Daten eintrage und auf senden drücke. Bekomme ich auch die Meldung die ich vorher eingegben hatte, doch in der Datenbank wird nichts eingetragen! Und ausgegeben wir auch nichts. Es wird aber keine Fehlermeldung angezeigt oder ähnliches!

PHP:
<? include('config.php');?>

<?php
//Server Daten
$HOST="$dbhost";
$DB="$dbname";
$USER="$dbuser";
$PWD="$dbpass";

//Datenbank Verbindung Pruefen
$dberror="
	<head>
 	<title>Datanbank Fehler</title>
	</head>
	<body>
	<p><center>Momentan besteht keine Verbindung Datenbank.<br>
	Ich bitte dies zu entschuldigen!<br> Ich versuche möglichst schnell der Fehler zu beseitigen.
	</p>
	</body>
	</html>
";

@mysql_connect($HOST,$USER,$PWD) or die ("" .$dberror);

//Anzahl Eintraege pro Seite
	$Zeilen_pro_Seite=15;

$conn_id = mysql_connect($HOST,$USER,$PWD);
mysql_select_db($DB,$conn_id);
$ipadresse_entry=getenv("REMOTE_ADDR");

// Überprüfung der Daten
if($senden)
{
  		if($name=="")
  {
   		echo "<p>Bitte gib deinen <u>Namen</u>, an den sonst können deine Daten nicht gespeichert werden!<br> <a href=\"javascript:history.back()\" class=extlink>Zur&uuml;ck</a>.</p>";
   		exit();
  }

 		elseif($icq=="")
  {
  	 	echo "<p>Bitte gib deinen <u>ICQ Nummer</u>, an den sonst können deine Daten nicht gespeichert werden!<br> <a href=\"javascript:history.back()\" class=extlink>Zur&uuml;ck</a>.</p>";
   		exit();
  }
   		elseif($email=="")
  {
   		echo "<p>Bitte gib deine <u>Email</u>, an den sonst können deine Daten nicht gespeichert werden!<br> <a href=\"javascript:history.back()\" class=extlink>Zur&uuml;ck</a>.</p>";
   		exit();
	}

// Aktuelles Datum hinzufügen 
	
	$datum_entry=time();
  	 mysql_query("INSERT INTO icqemail VALUES ('', '$datum_entry', '$id_entry', '$name_entry', '$icq_entry', '$email_entry', '$ipadresse_entry')");
	 
// Meldung nach erfolgreichem Speichern
   	
	echo
print("<html>");
print("<head>");
print("<Title>Senden erfolgreich</Title>");
print("<meta http-equiv=\"refresh\" content=\"9; URL=http://www.Julian-Buesching/liste.php\">");
print("</head>");
print("<body bgcolor=\"white\">");
print("<br><br><br><center>Eintragung erfolgreich, sie werden in 10 Sekunden weitergeleitet.<br></center>");
print("</body>");

exit();
  }
?>

<html>
<head>
<title>Klassenmitglieder: HB4EI1 - Leo-Sympher Berufskolleg</title>
<style type="text/css">
<!--
.Stil1 {
	font-size: 24px;
	font-style: italic;
}
.Stil2 {font-size: 10px}
-->
</style>
</head>

<body>
<div align="center">
  <p class="Stil1"><u>Klassenmitglieder </u></p>
  <p class="Stil1"><u>der KlasseHB4EI1</u></p>
 
 <form name="liste.php" method="post" action="liste">
  <table width="272" border="2" cellspacing="0" bordercolor="#000000">
    <tr>
      <td width="169">Name</td>
      <td width="155"><input type="text" name="name">
        
     </td>
    </tr>
    <tr>
      <td>ICQ</td>
      <td><input type="text" name="icq"></td>
    </tr>
    <tr>
      <td>Email</td>
      <td><input type="text" name="email"></td>
    </tr>
    <tr>
      <td colspan="2"><div align="right">
        <input type="submit" name="senden" value="Eintragen">
      </div></td>
      </tr>
  </table> 
 </form>
  <span class="Stil2">&copy; by Julian B&uuml;sching ( HB4EI1 ) </span>
  <p class="Stil2">&nbsp;</p>
</div>
</table>


<?php
$conn_id = mysql_connect($HOST,$USER,$PWD);
mysql_select_db($DB,$conn_id);

  if (!isset($st))
  	{
  		$st = 0;
  	}
// Reihenfolge der Ausgabe
$query = "SELECT * from icqemail ORDER BY id DESC limit $st, $Zeilen_pro_Seite";
$result = mysql_query($query);

$result1=mysql_query("select * from icqemail ORDER BY id DESC");
$Anzahl=mysql_num_rows($result1);


if (mysql_num_rows($result)) {
while($row=mysql_fetch_array($result))
    {


	  $id = $row['id'];
      $datum = $row['datum'];
      $name = $row['name'];
   	  $icq = $row['icq'];
	  $email = $row['email'];
      $ipadresse = $row['ipadresse'];

      $array_1 = array("ä","ü","ö");
      $array_2 = array("&auml;","&uuml;","&ouml;");

      $datum_ausgabe=date("d. m. Y", $datum);
      $zeit_ausgabe=date("H:i", $datum);
    

// ICQ, Email - werden in Grafiken umgewandelt

	if(intval($icq) > 10000) {
   $icq_link="<a href=\"http://web.icq.com/whitepages/about_me?Uin='.$icq.'\" target=\"_blank\"><img src=\"http://wwp.icq.com/scripts/online.dll?icq=$icq&img=5\" border=0 alt=\"ICQ-Nummer: $icq\"></a>";
	}
	else {
   $icq_link="";

	}
	if($email!="")
	{
		$email_link="<a href=\"mailto:$email\"><img src=\"gb/image/mail.gif\" border=\"0\"></a>";
	}
		else
	{
		$email_link="";
	}


// Ausgabe des Formulares
 echo "



	<center>
	<table width=\"437\" border=\"0\">
    <tr bgcolor=\"#CCCCCC\">
      <td width=\"20\" bgcolor=\"#666666\">$id</td>
      <td width=\"770\" bgcolor=\"#666666\"><div align=\"right\">$datum_ausgabe um $zeit_ausgabe Uhr</div></td>
    </tr>
    <tr bgcolor=\"#666666\">
      <td bgcolor=\"#CCCCCC\">&nbsp;</td>
      <td bgcolor=\"#CCCCCC\">$name $ipadresse</td>
    </tr>
    <tr>
      <td bgcolor=\"#CCCCCC\"></td>
      <td bgcolor=\"#CCCCCC\">$email_link &nbsp;= $email <br>$icq_link = $icq</td>
  </table></center>

	  ";
   flush();
  }
}
  else
  {
// Meldung wenn keine Einträge vorhanden sind
   echo " <center><table width=\"220\" height=\"92\" border=\"0\">
    <tr>
      <td bgcolor=\"#999999\"><div align=\"center\">Keine Eintr&auml;ge vorhanden </div></td>
    </tr>
  </table></center>";
  }

echo "";
// Einträge auf mehrere Seiten gliedern

  if($Anzahl>$Zeilen_pro_Seite) {
  $Seiten=intval($Anzahl/$Zeilen_pro_Seite);
  if($Anzahl%$Zeilen_pro_Seite) {
  $Seiten++;
  echo "<p>Seite: ";
  }
  }

  for ($i=1;$i<=$Seiten;$i++) {
  $fwd=($i-1)*$Zeilen_pro_Seite;
  echo "<a href=\"liste.php?st=$fwd\" class=extlink>[$i]</a>  ";
  }

echo "</td></tr>";
echo"\n";
?>
</body>
</html>
 
Sonst schreib generell beim einfügen von Variablen in SQL-Querys statt '$variable',... besser '".$variable."' - trotzdem solltest du dir den Link nochmal genau anschauen und deinen String mit dem BEispiel in de rmitte auf der Seite anschauen!
 
Versuch mal folgendes:
PHP:
<?php
	include('config.php');

	$name = ( isset($_POST['name']) && !empty($_POST['name']) )
		?	trim($_POST['name'])
		:	FALSE;
	$icq = ( isset($_POST['icq']) && !empty($_POST['icq']) )
		?	trim($_POST['icq'])
		:	FALSE;
	$email = ( isset($_POST['email']) && !empty($_POST['email']) )
		?	trim($_POST['email'])
		:	FALSE;

	//Datenbank Verbindung Pruefen
	$dberror="
    <head>
    <title>Datanbank Fehler</title>
    </head>
    <body>
    <p><center>Momentan besteht keine Verbindung Datenbank.<br>
    Ich bitte dies zu entschuldigen!<br> Ich versuche möglichst schnell der Fehler zu beseitigen.
    </p>
    </body>
    </html>
";
	if( !$conn_id = mysql_connect($dbhost, $dbuser, $dbpass) ||  !mysql_select_db($dbname, $conn_id) ) {
		echo '<p><strong>MySQL Error <tt>'.mysql_errno().'</tt>:</strong> '.htmlspecialchars(mysql_error()).'</p>';
		exit;
	}

	//Anzahl Eintraege pro Seite
	$Zeilen_pro_Seite=15;


	$ipadresse_entry = $_SERVER['REMOTE_ADDR'];

	if( isset($_POST['senden']) ) {
		if( $name === FALSE ) {
			echo '<p>Bitte gib deinen <u>Namen</u>, an den sonst können deine Daten nicht gespeichert werden!<br> <a href="javascript:history.back()" class="extlink">Zur&uuml;ck</a>.</p>';
			exit;
		}
		if( $icq === FALSE ) {
			echo '<p>Bitte gib deinen <u>ICQ Nummer</u>, an den sonst können deine Daten nicht gespeichert werden!<br> <a href="javascript:history.back()" class="extlink">Zur&uuml;ck</a>.</p>';
			exit;
		}
		if( $email === FALSE ) {
			echo '<p>Bitte gib deine <u>Email</u>, an den sonst können deine Daten nicht gespeichert werden!<br> <a href="javascript:history.back()" class="extlink">Zur&uuml;ck</a>.</p>';
			exit;
		}

		// Aktuelles Datum hinzufügen
		$query = "
			INSERT INTO
			        `icqemail`

			  SET
			        `datum`		= '".time()."',
			        `name`		= '".mysql_escape_string($name)."',
			        `icq`		= '".mysql_escape_strng($icq)."',
			        `email`		= '".mysql_escape_string($email)."',
			        `ipadresse`	= '".$_SERVER['REMOTE_ADDR']."'
			";
		if( !mysql_query($query) ) {
			echo '<p><strong>MySQL Error <tt>'.mysql_errno().'</tt>:</strong> '.htmlspecialchars(mysql_error()).'<pre>'.$query.'</pre></p>';
			exit;
		}

		// Meldung nach erfolgreichem Speichern
		echo '<html><head><Title>Senden erfolgreich</Title><meta http-equiv="refresh" content="9; URL=http://www.Julian-Buesching.de/liste.php"></head><body bgcolor="white"><br><br><br><center>Eintragung erfolgreich, sie werden in 10 Sekunden weitergeleitet.<br></center></body></html>';
		exit;
	}
?>
<html>
<head>
<title>Klassenmitglieder: HB4EI1 - Leo-Sympher Berufskolleg</title>
<style type="text/css">
<!--
.Stil1 {
    font-size: 24px;
    font-style: italic;
}
.Stil2 {font-size: 10px}
-->
</style>
</head>

<body>
<div align="center">
  <p class="Stil1"><u>Klassenmitglieder </u></p>
  <p class="Stil1"><u>der KlasseHB4EI1</u></p>

<form name="liste.php" method="post" action="liste">
  <table width="272" border="2" cellspacing="0" bordercolor="#000000">
    <tr>
      <td width="169">Name</td>
      <td width="155"><input type="text" name="name">
        
     </td>
    </tr>
    <tr>
      <td>ICQ</td>
      <td><input type="text" name="icq"></td>
    </tr>
    <tr>
      <td>Email</td>
      <td><input type="text" name="email"></td>
    </tr>
    <tr>
      <td colspan="2"><div align="right">
        <input type="submit" name="senden" value="Eintragen">
      </div></td>
      </tr>
  </table>
</form>
  <span class="Stil2">&copy; by Julian B&uuml;sching ( HB4EI1 ) </span>
  <p class="Stil2">&nbsp;</p>
</div>
</table>


<?php
	if( !isset($st) ) {
		$st = 0;
	}

	// Reihenfolge der Ausgabe
	$query = "
		SELECT
		        `id`,
		        `datum`,
		        `name`,
		        `icq`,
		        `email`,
		        `ipadresse`,
		        COUNT(*) AS `anzahl`
		  FROM
		        `icqemail`
		  ORDER BY
		        `id` DESC
		  LIMIT
		        ".$st.", ".$Zeilen_pro_Seite."
		";
	if( !$result = mysql_query($query) ) {
		echo '<p><strong>MySQL Error <tt>'.mysql_errno().'</tt>:</strong> '.htmlspecialchars(mysql_error()).'<pre>'.$query.'</pre></p>';
		exit;
	}

	if( mysql_num_rows($result) > 0 ) {
		while( $row = mysql_fetch_array($result) ) {

		// ICQ, Email - werden in Grafiken umgewandelt
		$icq_link = ( intval($row['icq']) > 10000 )
			?	'<a href="http://web.icq.com/whitepages/about_me?Uin='.$row['icq'].'" target="_blank"><img src="http://wwp.icq.com/scripts/online.dll?icq='.$row['icq'].'&img=5" border="0" alt="ICQ-Nummer: '.$row['icq'].'"></a>'
			:	'';
		$email_link = ( !empty($row['email']) )
			?	'<a href="mailto:'.$row['email'].'"><img src="gb/image/mail.gif" border="0"></a>';
			:	'';

		// Ausgabe des Formulares
?>
<center>
    <table width="437" border="0">
    <tr bgcolor="#CCCCCC">
      <td width="20" bgcolor="#666666"><?php echo $row['id']; ?></td>
      <td width="770" bgcolor="#666666"><div align="right"><?php echo date('d. m. Y. \u\m H:i', $row['datum']); ?></div></td>
    </tr>
    <tr bgcolor="#666666">
      <td bgcolor="#CCCCCC">&nbsp;</td>
      <td bgcolor="#CCCCCC"><?php echo $row['id'].' '.$row['ipadresse']; ?></td>
    </tr>
    <tr>
      <td bgcolor="#CCCCCC"></td>
      <td bgcolor="#CCCCCC"><?php echo $email_link.' = '.$row['email']; ?><br><?php echo $icq_link.' = '.$row['icq']; ?></td>
  </table></center>
<?php
		flush();

	} else {

// Meldung wenn keine Einträge vorhanden sind
		echo ' <center><table width="220" height="92" border="0">
    <tr>
      <td bgcolor="#999999"><div align="center">Keine Eintr&auml;ge vorhanden</div></td>
    </tr>
  </table></center>';
	}

	// Einträge auf mehrere Seiten gliedern
	if($Anzahl>$Zeilen_pro_Seite) {
		$Seiten=intval($Anzahl/$Zeilen_pro_Seite);
		if($Anzahl%$Zeilen_pro_Seite) {
			$Seiten++;
			echo "<p>Seite: ";
		}
	}

	for($i=1; $i<=$Seiten; $i++) {
			$fwd = ($i-1)*$Zeilen_pro_Seite;
			echo '<a href="liste.php?st='.$fwd.'" class="extlink">['.$i.']</a>&nbsp;';
	}

	echo '</td></tr>';
	echo "\n";
?>
</body>
</html>
 
Ich habe noch ein paar Fehler gefunden und überarbeitet!
Wenn ich unter PhpmyAdmin Einträge in die Tabelle "icqemail" eintrage werden die auch angzeigt, wie man unter
http://www.julian-buesching.de. "mit vu" /icqemail.php
gut sehen kann!
Nur über das Formular klappt es nicht!
So hier ist nochmal der komplette Code dazu, weil ich etwas geändert habe!

PHP:
<? include('config.php');?>

<?php
//Server Daten
$HOST="$dbhost";
$DB="$dbname";
$USER="$dbuser";
$PWD="$dbpass";

//Datenbank Verbindung Pruefen
$dberror="
	<head>
 	<title>Datanbank Fehler</title>
	</head>
	<body>
	<p><center>Momentan besteht keine Verbindung Datenbank.<br>
	Ich bitte dies zu entschuldigen!<br> Ich versuche möglichst schnell der Fehler zu beseitigen.
	</p>
	</body>
	</html>
";

@mysql_connect($HOST,$USER,$PWD) or die ("" .$dberror);

//Anzahl Eintraege pro Seite
	$Zeilen_pro_Seite=15;

$conn_id = mysql_connect($HOST,$USER,$PWD);
mysql_select_db($DB,$conn_id);
$ip_entry=getenv("REMOTE_ADDR");

// Überprüfung der Daten
if($submit)
{
  		if($name_entry=="")
  {
   		echo "<p>Bitte gib deinen <u>Namen</u>, an den sonst können deine Daten nicht gespeichert werden!<br> <a href=\"javascript:history.back()\" class=extlink>Zur&uuml;ck</a>.</p>";
   		exit();
  }

 		elseif($icq_entry=="")
  {
  	 	echo "<p>Bitte gib deinen <u>ICQ Nummer</u>, an den sonst können deine Daten nicht gespeichert werden!<br> <a href=\"javascript:history.back()\" class=extlink>Zur&uuml;ck</a>.</p>";
   		exit();
  }
   		elseif($email_entry=="")
  {
   		echo "<p>Bitte gib deine <u>Email</u>, an den sonst können deine Daten nicht gespeichert werden!<br> <a href=\"javascript:history.back()\" class=extlink>Zur&uuml;ck</a>.</p>";
   		exit();
	}

// Aktuelles Datum hinzufügen 
	
	$datum_entry=time();
  	 mysql_query("INSERT INTO icqemail VALUES ('', '$id_entry', '$datum_entry', '$name_entry', '$icq_entry', '$email_entry', '$ip_entry')");
	 
// Meldung nach erfolgreichem Speichern
   	
	echo
print("<html>");
print("<head>");
print("<Title>Senden erfolgreich</Title>");
print("<meta http-equiv=\"refresh\" content=\"9; URL=http://www.Julian-Buesching/icqemail.php\">");
print("</head>");
print("<body bgcolor=\"white\">");
print("<br><br><br><center>Eintragung erfolgreich, sie werden in 10 Sekunden weitergeleitet.<br></center>");
print("</body>");

exit();
  }
?>

<style type="text/css">
<!--
.Stil1 {
	font-size: 24px;
	font-style: italic;
}
.Stil2 {font-size: 10px}
-->
</style>
</head>

<body>
<div align="center">
  <p class="Stil1"><u>Klassenmitglieder </u></p>
  <p class="Stil1"><u>der KlasseHB4EI1</u></p>
 
 <form name="icqemail.php" method="post" action="icqemail">
  <table width="272" border="2" cellspacing="0" bordercolor="#000000">
    <tr>
      <td width="169">Name</td>
      <td width="155"><input type="text" name="name_entry">
        
     </td>
    </tr>
    <tr>
      <td>ICQ</td>
      <td><input type="text" name="icq_entry"></td>
    </tr>
    <tr>
      <td>Email</td>
      <td><input type="text" name="email_entry"></td>
    </tr>
    <tr>
      <td colspan="2"><div align="right">
      <input type="Submit" name="submit" value="Eintragen">
      </div></td>
      </tr>
  </table> 
 </form>
  <span class="Stil2">&copy; by Julian B&uuml;sching ( HB4EI1 ) </span>
  <p class="Stil2">&nbsp;</p>
</div>



<?php
$conn_id = mysql_connect($HOST,$USER,$PWD);
mysql_select_db($DB,$conn_id);

  if (!isset($st))
  	{
  		$st = 0;
  	}
// Reihenfolge der Ausgabe
$query = "SELECT * from icqemail ORDER BY id DESC limit $st, $Zeilen_pro_Seite";
$result = mysql_query($query);

$result1=mysql_query("select * from icqemail ORDER BY id DESC");
$Anzahl=mysql_num_rows($result1);


if (mysql_num_rows($result)) {
while($row=mysql_fetch_array($result))
    {


	  $id = $row['id'];
      $datum = $row['datum'];
      $name = $row['name'];
   	  $icq = $row['icq'];
	  $email = $row['email'];
      $ip = $row['ip'];

      $array_1 = array("ä","ü","ö");
      $array_2 = array("&auml;","&uuml;","&ouml;");

      $datum_ausgabe=date("d. m. Y", $datum);
      $zeit_ausgabe=date("H:i", $datum);
    

// ICQ, Email - werden in Grafiken umgewandelt

	if(intval($icq) > 10000) {
   $icq_link="<a href=\"http://web.icq.com/whitepages/about_me?Uin='.$icq.'\" target=\"_blank\"><img src=\"http://wwp.icq.com/scripts/online.dll?icq=$icq&img=5\" border=0 alt=\"ICQ-Nummer: $icq\"></a>";
	}
	else {
   $icq_link="";

	}
	if($email!="")
	{
		$email_link="<a href=\"mailto:$email\"><img src=\"gb/image/mail.gif\" border=\"0\"></a>";
	}
		else
	{
		$email_link="";
	}


// Ausgabe des Formulares
 echo "



	<center>
	<table width=\"437\" border=\"0\">
    <tr bgcolor=\"#CCCCCC\">
      <td width=\"20\" bgcolor=\"#666666\">$id</td>
      <td width=\"770\" bgcolor=\"#666666\"><div align=\"right\">$datum_ausgabe um $zeit_ausgabe Uhr</div></td>
    </tr>
    <tr bgcolor=\"#666666\">
      <td bgcolor=\"#CCCCCC\">&nbsp;</td>
      <td bgcolor=\"#CCCCCC\">$name $ip</td>
    </tr>
    <tr>
      <td bgcolor=\"#CCCCCC\"></td>
      <td bgcolor=\"#CCCCCC\">$email_link &nbsp;= $email <br>$icq_link = $icq</td>
  </table></center>

	  ";
   flush();
  }
}
  else
  {
// Meldung wenn keine Einträge vorhanden sind
   echo " <center>Aktuell keine Einträge vorhanden</center>";
  }

echo "";
// Einträge auf mehrere Seiten gliedern

  if($Anzahl>$Zeilen_pro_Seite) {
  $Seiten=intval($Anzahl/$Zeilen_pro_Seite);
  if($Anzahl%$Zeilen_pro_Seite) {
  $Seiten++;
  echo "<p>Seite: ";
  }
  }

  for ($i=1;$i<=$Seiten;$i++) {
  $fwd=($i-1)*$Zeilen_pro_Seite;
  echo "<a href=\"icqemail.php?st=$fwd\" class=extlink>[$i]</a>  ";
  }

echo "</td></tr>";
echo"\n";
?>
</table>
 
Hmpf, kannst du mir mal sagen, warum du so zahlreich Verbindungen zur Datenbank aufbaust? Einmal würde doch reichen...

Warum funktioniert es denn nicht, gibt es eine Fehlermeldung? Was sagt [phpf]mysql_error[/phpf]? Werden beim Debuggen und Ausgeben der Variablen richtige Werte angezeigt?

Ich habe nämlich ehrlich gesagt keine Lust, mich durch so viele Zeilen Code wühlen zu müssen.
 
Also es wird wie gesagt keine Fehlermeldung angezeigt!
Die Einträge werden einfach nicht in den Mysql Datenbank übernommen und ich weiß einfach net woran das liegt!
Ich habe das Script bestimmt schon 20x durchgeschaut und kann den Fehler einfach nicht finden!
Wenn ich ins Formular etwas eintrage bestätigt er mir das die Daten eingetragen wurden! Doch in der Mysql Datenbank steht gar nichts!
Wenn ich unter PHPMY ADMIN bei Einfügen die Tabelle fülle, werden die Daten später auch angezeigt! Ich kann halt nur nichts übers Formular eintragen!
 
Zurück