Daniel: MySQL, keine datensätzte hinzugefügt

Beitrag lesen

Hi,
ich habe ein php protokol das so aussieht:

  
 if(isset($_POST['text']))  
  {  
    if ($_POST['text'] == null)  
    {  
    echo "Name fehlt.";  
    }//  
    else  
    {  
      if(isset($_POST['textarea']))  
      {  
        $Von = $_POST['text'];  
        $Vom = date("Y-m-d");  
        $UnverschluesselteNachricht = $_POST['textarea'];  
        $lang = strlen($UnverschluesselteNachricht);  
        $NachrichtenteilCode = false;  
        for ($z=0; $z<$lang; $z++)  
        {  
          $Nachrichtenteil = substr($UnverschluesselteNachricht, $z);  
          $Nachrichtenteil = ord($Nachrichtenteil);  
          $Code = "B";  
          $Code = ord($Code);  
          $NachrichtenteilCode[$z] = $Nachrichtenteil+$Code;  
        }  
        if ($NachrichtenteilCode == false)  
        {  
        echo "Keine Nachricht eingegeben.";  
        }//if ($NachrichtenteilCode == false)  
        else  
        {  
          $anzahl = count($NachrichtenteilCode);  
          $NachrichtCodiert ="";  
          for ($z=0; $z<$anzahl; $z++)  
          {  
            $NachrichtCodiert .= $NachrichtenteilCode[$z];  
          }  
          $Kennung = mysql_connect("localhost", "coder", "coder");  
          mysql_query("use codiert", $Kennung);  
          $sql = 'INSERT INTO nachrichten VALUES("'.$Von.'", '.$Vom.'", '.$NachrichtCodiert.'")';  
          mysql_query($sql, $Kennung);  
          echo "Neuer Eintrag";  
        }  
      }// if(isset($_POST['textarea']))  
    }//else  
  }// if(@$_POST['submit']<>null)  

zuvor in der html datei:

  
form action="Eingabe.php" method="post">  
  Ihr Name: <input type="text" name="text"><br>  
  Nachricht:  
  <textarea cols="30" rows="6" name="textarea"></textarea>  
  <input type="submit" name="submit" value="codierung">  
  </form>  

die eingabe wird übernommen doch es wird nix in die datenbank hinzugefügt die so erstellt ist:

  
CREATE TABLE nachrichten (  
  Name varchar(30) NOT NULL default '',  
  Vom date NOT NULL default '0000-00-00',  
  Nachricht longtext  
) TYPE=MyISAM;  

wobei das nach einem Save der DB kam ich hatte eigentlich

  
CREATE TABLE nachrichten (  
  Name char(30) NOT NULL,  
  Vom date NOT NULL,  
  Nachricht longtext  
);  

So nun meine 2Fragen:

  • Warum wird in die Tabele kein einziger datensatz hinzugefügt?
  • Warum mach MySQL aus dem CHAR ein VARCHAR und wo ist da das problem?

MfG