Seinen Senf auf einen Beitrag abgeben

HiHi,

dann bin ich ja froh, dass du verstehst was ich meine :-)

So hab wieder was gemacht. Mein Formular zum Eintrag sieht nu so aus:

PHP:
<table width="100%"  border="0" align="center">
  <tr>
    <td height="275" bgcolor="#FFFFFF"><form name="form1" method="post" action="popup.php"> <input type="hidden" name="kino_id" value="<? echo $_GET['id'];?>">
      <table width="100%"  border="0">
        <tr bgcolor="#CCCCCC"> 
          <td width="11%" height="47">Name:</td>
          <td width="89%"><input name="name" type="text" id="name"></td>
        </tr>
        <tr bgcolor="#CCCCCC">
          <td height="192">Text:</td>
          <td><textarea name="text" cols="45" rows="10" id="text" onChange="MM_validateForm('text','','R');return document.MM_returnValue"></textarea></td>
        </tr>
        <tr bgcolor="#CCCCCC">
          <td height="26">&nbsp;</td>
          <td><input name="Submit" type="submit" class="Stil1" value="&gt;&gt; eintragen"></td>
        </tr>
      </table>
    </form></td>
  </tr>
</table>


Mein Insert sieht nun so aus:

PHP:
		$sql = "INSERT INTO was_meinst_du 
				(
					name,
					text,
					ip,
					kino_id,
					datum
				)
				VALUES
				(
					'" . addslashes($_POST["name"]) . "',
					'" . addslashes($_POST["text"]) . "',
					'" . $_SERVER["REMOTE_ADDR"]. "',
					NOW()
				)
				";
		mysql_query($sql) OR die(mysql_error());
		
		header("Location: ");
exit;
}
?>

So was muss ich aber beim VALUES eingeben? da kann ich ja nicht kino_id schreiben oder doch?

Gruß Derrty
 
Hi

nee nicht?

kino_id ist ein Formularfeld und muss, wie die anderen Formularfelder auch mit

$_POST['kino_id']

im Insert Value eingefügt werden. Die Anzahl Felder und Values müssen übereinstimmen und der Reihenfolge der Felder entsprechend aufgelistet werden.
 
Zuletzt bearbeitet:
Hmm ich hab das nun mal so geamcht wie du mir das gerade gesagt hast, hier mal der ganze Code:

PHP:
<?php
//Konfigurations Datei einbinden
include "../data/config.php";
include "../configs/functions.php";
if(!empty($_POST))
{
		$sql = "INSERT INTO was_meinst_du 
				(
					name,
					text,
					kino_id,
					ip,
					datum
				)
				VALUES
				(
					'" . addslashes($_POST["name"]) . "',
					'" . addslashes($_POST["text"]) . "',
					'" . addslashes($_POST["kino_id"]) . "',
					'" . $_SERVER["REMOTE_ADDR"]. "',
					NOW()
				)
				";
		mysql_query($sql) OR die(mysql_error());
		
		header("Location: ");
exit;
}
?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Was meinst du</title>
<style type="text/css">
<!--
.Stil1 {font-style: italic}
-->
</style>
</head>

<body>
<p><strong>Hier siehst du die Beitr&auml;ge:</strong></p>
<table width="100%"  border="0" align="center">
  <?php // News aus der Datebank laden
					$sql = "SELECT
								id,
								name,
								text
								
									FROM
									was_meinst_du
							";
					$return = mysql_query($sql) OR die(mysql_error());
					?>
  <?php
					while($_data = mysql_fetch_assoc($return))
					{
						?>
  <tr>
    <td bgcolor="#999999"><div align="justify"><strong><?php echo $_data['name']; ?></strong></div></td>
  </tr>
  <tr>
    <td height="51" valign="middle" bgcolor="#D6D6D6"><?php echo $_data['text']; ?></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <?php
					}
					?>
</table>
<p>&nbsp; </p>
<p>&nbsp;</p>
<table width="100%"  border="0" align="center">
  <tr>
    <td height="275" bgcolor="#FFFFFF"><form name="form1" method="post" action="popup.php"> <input type="hidden" name="kino_id" value="<? echo $_GET['id'];?>">
      <table width="100%"  border="0">
        <tr bgcolor="#CCCCCC"> 
          <td width="11%" height="47">Name:</td>
          <td width="89%"><input name="name" type="text" id="name"></td>
        </tr>
        <tr bgcolor="#CCCCCC">
          <td height="192">Text:</td>
          <td><textarea name="text" cols="45" rows="10" id="text" onChange="MM_validateForm('text','','R');return document.MM_returnValue"></textarea></td>
        </tr>
        <tr bgcolor="#CCCCCC">
          <td height="26">&nbsp;</td>
          <td><input name="Submit" type="submit" class="Stil1" value="&gt;&gt; eintragen"></td>
        </tr>
      </table>
    </form></td>
  </tr>
</table>
</body>
</html>

Er trägt auch was ein, aber er gibt es bei allen wieder aus und das will ich ja gerade nicht was habe ich falsch gemacht?

Gruß Derrty
 
Zuletzt bearbeitet:
Schau mal was der in der DB einträgt:

id = 218
kino_id = 1
name = dfdsfdsf
text = dfdsfdsf
datum = 2005-03-23 23:13:05
ip = geheim :-)


Was mich stöhrt ist die id 218 das kann doch nicht sein oder?
 
Du musst deinem Select query noch um eine WHERE Klausel erweitern in der du die entsprechende kino_id abfragst

PHP:
$sql = "SELECT id, name, text FROM was_meinst_du WHERE kino_id = '".$_POST["kino_id"]."''";
 
:suspekt: :suspekt:

wenn ich das so machen wie du gerade gesagt hast, dann spuckt er nun gar nichts mehr aus.

So habe ich das nun geamcht:

PHP:
					$sql = "SELECT
								id,
								name,
								text
								
									FROM
									was_meinst_du
									WHERE kino_id = '".$_POST["kino_id"]."'
							";
					$return = mysql_query($sql) OR die(mysql_error());
					?>
  <?php
					while($_data = mysql_fetch_assoc($return))
					{
						?>
 
Ist in $_POST['kino_id'] auch der Wert drin, der drin sein soll? Lasse sie dir vorher mal ausgeben um zu schauen.

Anderfalls kannst du ja mal per hand irgendwelche Einträge machen in deine Kommenttabelle mit der kino_id 10. Dann machst du im Query WHERE kino_id=10. Das sollte dann eigentlich gehen. Sollte es tatsächlich gehen, kannst du die 10 wieder mit der Variable ersetzten. Musst halt nur schauen, das diese auch richtig gesetzt ist.
 
Ich glaube ich sehe den Fehler.

Du hast es nicht gemacht wie ich sagte, das du einfach mal den Wert 10 statisch vorgibst oder dir den Wert einfach mal ausgeben lässt. Oder? Du musst halt auch mal lernen zu debuggen und nicht gleich zu schreien "geht nicht" ;) .
Wenn du über dein Formular einen Datensatz einfügst, dann rufst du die Seite ja erneut auf mit dem header(location ...). Nach diesem Aufruf sind die POST variablen nicht mehr verfügbar. Lösung, du übergibst bei dem header location eine variable mit und fragst diese dann in deinem Query ab.
 
Zurück