Yadgar: [MySQL 4.0] Datenbank nimmt keine Daten an

Beitrag lesen

Hi(gh)!

Um mein ursprüngliches Eingabeseiten-Problem vielleicht irgendwann einmal lösen zu können, fange ich noch einmal ganz klein an, mit einer Test-Datenbank, die nur aus einer Tabelle mit zwei Feldern, ID (Primärschlüssel, auto_increment) und Name (varchar(40)) besteht.

Hier der PHP-Code für die Eingabeseite:

<?php  
  require("head.php"); // enthält u. a. die Funktionen für Datenbankaufruf und Fehlerbehandlung  
  head("TESTDATENBANK - Dateneingabe: Testtabelle");  
?>  
  <body>  
  <div>  
    <h2>TESTDATENBANK: Dateneingabe</h2>  
    <h3>Datentabelle: hersteller</h3>  
  
    <p>  
      <a href="testtabelle.php?input=yes&edit=no">Neue Datensätze eingeben</a> <a href="testtabelle.php?input=no&edit=yes">Vorhandene Datensätze bearbeiten</a>  
    </p>  
<?  
  function enter()  
  {  
    $input = $_GET['input'];  
    $edit = $_GET['edit'];  
    echo '<form method="POST" action="testtabelle.php?input='.$input.'&edit='.$edit.'">';  
    echo '  <table>';  
    echo '    <tr>';  
    echo '      <th>';  
    echo '        Name';  
    echo '      </th>';  
    echo '      <td>';  
    echo '       <input type="text" name="Name">';  
    echo '      </td>';  
    echo '    </tr>';  
    echo '    <tr>';  
    echo '      <td colspan="2">';  
    echo '        <input type="submit" value="Daten absenden">';  
    echo '      </td>';  
    echo '    </td>';  
    echo '  </table>';  
    echo '</form>';  
  }  
  
  $input = $_GET['input'];  
  $edit = $_GET['edit'];  
  
  if ($input == "yes")  
  {  
    enter();  
    $Name = $_POST['Name'];  
    echo "<p>Name = ".$Name."</p>";  
    if (!$Name)  
    {  
      echo "<p>Bitte geben Sie einen Namen ein!</p>";  
    }  
    else  
    {  
      $query = "INSERT INTO Testtabelle (Name) VALUES ('".mysql_real_escape_string($Name)."')";  
      dbcall();  
      dberror();  
      $result = mysql_query($query);  
      dberror();  
      echo "<p>Datensatz wurde in die Datenbank eingetragen!</p>";  
    }  
  }  
?>  
  </body>  
</html>	

Wenn ich jetzt aber mit PHPMyAdmin in meiner Testdatenbank nachsehe, stelle ich fest, dass zwar pro Programmdurchlauf (bis jetzt 2 Durchläufe) Datensätze mit automatisch erhöhten ID-Werten angelegt wurde, das "Name"-Feld aber leer blieb. Wieso?

Bis bald im Khyberspace!

Yadgar