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