Kommentare ausgeben...

soa

Erfahrenes Mitglied
Hallo,

ich komme gerade irgendwie nicht weiter. Ich habe in einer DB die Tabelle Kommentare.
Immer wenn ein User über ein Formualr ein Kommentar zu einem Beitrag schreibt, wird die ID des Beitrags übergeben.

Das überprüfe ich wie folgt:

Klicke auf einen Beitrag mit der ID 4 ....Auf der Formularseite gebe ich die 4 aus:

Code:
if(isset($_GET['eintrag_id']))
    { 
      $eintrag_id = $_GET['eintrag_id']; 
        echo $eintrag_id;
    }
     else
     { 
    echo 'Keine der Variablen wurde uebergeben!'; 
    }

das klappt....

nun trage ich den Kommentar in die DB ein:

Auszug:

Code:
if($kommentar != "" AND $betreff != ""){ 

  
mysql_query("
  INSERT INTO kommentare
  (eintrag_id, datum, betreff, kommentar, benutzername)
  VALUES
  ('".$_GET['eintrag_id']."' ,NOW(''), '$betreff', '$kommentar', '$benutzername')
  ", $db)or die(mysql_error());
  
  echo '<head><meta http-equiv="refresh" content="0; URL=danke.php"></head>';
  }

  else
  {
  ?>

das geht auch, aber die eintrag_id wird nicht mit dem korrekten Inhalt übergeben. Sie ist
0 oder auch mal 1 , entspricht aber nie der richtigen eintrag_id.

Code:
  ('VALUES
  ('$eintrag_id' ,NOW(''), '$betreff', '$kommentar', '$benutzername')
  ", $db)or die(mysql_error());

So geht es auch nicht...

Wo liegt hier mein Fehler..Das eintrag_id Feld ist INT (20) definiert...

Vielen Dank

Gruß
soa
 
Ich würde mla vermuten nachdem das Forumlar abgeschickt wurde hast du vegessen die $_GET wieder anzuhängen somit hat diese dann keinen Wert.
 
JA, soetwas muss es wohl sein....

auf der Formularseite wird die ID halt noch ausgegeben, jedoch nicht via POST
übertragen

Code:
$benutzername        = $_SESSION["benutzer"];
$betreff             = $_POST[betreff];
$kommentar           = $_POST[kommentar]; 
$eintrag_id          = $_POST['$eintragid'];

-------------------------------------

dann übergebe ich die Variable $eintrag_id

oder so

Code:
mysql_query("
  INSERT INTO kommentare
  (eintrag_id, datum, betreff, kommentar, benutzername)
  VALUES
  ('".$_POST['$eintragid']."' ,NOW(''), '$betreff', '$kommentar', '$benutzername')
  ", $db)or die(mysql_error());

Der Wert will da irgendwie nicht rein...
 
wenn die Variable nicht über Post übergeben wird häng sie doch wieder an die URL dran.
Ansonsten muss der Fehler ja im Formular sein, wo du vergessen hast die Variable dem Feld zuzuweisen.
 
:-( Manchmal kann man echt viel Zeit und lärm um nichts machen...

per Post

$eintrag_id = $_POST[eintrag_id];


und dann ein hidden Feld:

<input type="hidden" name="eintrag_id" value = "<?php echo $eintragid; ?>">

NUN klappt es endlich..

:) Danke
 
Zurück