CREATE TABLE `rs_sort` (
`id` INT( 7 ) NOT NULL AUTO_INCREMENT ,
`artikel` VARCHAR( 50 ) NOT NULL ,
`preis` VARCHAR( 20 ) NOT NULL ,
`menge` VARCHAR( 20 ) NOT NULL ,
`einheit` VARCHAR( 20 ) NOT NULL ,
`kategorie` VARCHAR( 20 ) NOT NULL ,
`alter` VARCHAR( 20 ) NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE = MYISAM<?php
$db_host = "localhost";
$db_user = "web***";
$db_pass = "******";
$db_name = "usr_web***_*";
if (isset( $_POST['eintragen'] ))
{
// Maskierende Slashes aus POST entfernen
$_POST = get_magic_quotes_gpc() ? array_map( 'stripslashes', $_POST ) : $_POST;
// Inhalte der Felder aus POST holen
$artikel = $_POST['artikel'];
$preis = $_POST['preis'];
$menge = $_POST['menge'];
$einheit = $_POST['einheit'];
$kategorie = $_POST['kategorie'];
$alter = $_POST['alter'];
/* ************************************************************************************************ */
/* *** Hier sollten und MUESSEN die Benutzereingaben geprueft werden um Schadcode abzufangen!!! *** */
/* ************************************************************************************************ */
// Sind alle Eingaben durch die Validierung gekommen werden sie in die DB geschrieben
// Verbindung oeffnen und Datenbank ausweahlen
$conID = mysql_connect( $db_host, $db_user, $db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
if ($conID)
{
mysql_select_db( $db_name, $conID );
}
// Anfrage zusammenstellen der an die DB geschickt werden soll
$sql = "INSERT INTO `rs_sort`
(`artikel`, `preis`, `menge`, `einheit`, `kategorie`, `alter`)
VALUES(
'" .mysql_real_escape_string( $artikel ). "',
'" .mysql_real_escape_string( $preis ). "',
'" .mysql_real_escape_string( $menge ). "',
'" .mysql_real_escape_string( $einheit ). "',
'" .mysql_real_escape_string( $kategorie ). "',
'" .mysql_real_escape_string( $alter ). "',
)";
// Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle
mysql_query( $sql );
// Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde
if (mysql_affected_rows() == 1)
{
echo "<h3>Der Datensatz wurde hinzugefügt!</h3>";
// Hier kann weiterer Code stehen der ausgefuehrt werden soll
// wenn ein Eintrag erfolgreich war. z.B. Email an den Admin schicken
// der ueber den neuen Eintrag informiert
}
else
{
echo "<h3>Der Datensatz konnte <strong>nicht</strong> hinzugefügt werden!</h3>";
// Hier koennen Massnahmen ergriffen werden die ueber den Misserfolg informieren
// wie z.B. den Benutzer darueber zu informieren, dem Admin eine Mail schicken
// damit er sich um den Fehler kuemmern kann, etc pp
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formularinhalt in eine Datenbank schreiben</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" id="formular">
Vorname: <input type="text" name="artikel" id="artikel" /><br />
Vorname: <input type="text" name="preis" id="preis" /><br />
Vorname: <input type="text" name="menge" id="menge" /><br />
Vorname: <input type="text" name="einheit" id="einheit" /><br />
Vorname: <input type="text" name="kategorie" id="kategorie" /><br />
Vorname: <input type="text" name="alter" id="alter" /><br />
<input type="submit" name="eintragen" id="eintragen" value="Abschicken" />
</form>
</body>
</html>mysql_query( $sql ); ...mit... mysql_query( $sql ) or die( "Kommandofehler:\n$sql\n\n". mysql_error() );SELECT 'spalte' FROM tabelle; ...zeigt nicht etwa den Spalteninhalt an, sondern das Literal spalte selbst.SELECT spalte FROM 'tabelle'; ...führt zu einem Fehler, da an gegebener Stelle kein Text erwartet wird. Und tabelle ist ein Text.SELECT 'spalte' FROM tabelle; in mysql_query( $sql ) or die( "Kommandofehler:\n$sql\n\n". mysql_error() ); geändert habe, folgenden Kommandofehler:INSERT INTO `rs_sort` (`artikel`, `preis`, `menge`, `einheit`, `kategorie`, `alter`) VALUES( 'Cola', '5', '3', 'dl', 'Kalte Getränke', 'Keine', ) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 10
$sql = "INSERT INTO `rs_sort`
(`artikel`, `preis`, `menge`, `einheit`, `kategorie`, `alter`)
VALUES(
'" .mysql_real_escape_string( $artikel ). "',
'" .mysql_real_escape_string( $preis ). "',
'" .mysql_real_escape_string( $menge ). "',
'" .mysql_real_escape_string( $einheit ). "',
'" .mysql_real_escape_string( $kategorie ). "',
'" .mysql_real_escape_string( $alter ). "',
)";...abgeändert werden, wobei ich eine alternative Schreibweise vorschlage, bei der Zeichen am Anfang der Zeile verwendet werden um exakt solche Flüchtigkeitsfehler zu vermeiden: $sql= "INSERT
INTO `rs_sort`( `artikel`, `preis`, `menge`, `einheit`, `kategorie`, `alter` )
VALUES( '" .mysql_real_escape_string( $artikel ). "'
, '" .mysql_real_escape_string( $preis ). "'
, '" .mysql_real_escape_string( $menge ). "'
, '" .mysql_real_escape_string( $einheit ). "'
, '" .mysql_real_escape_string( $kategorie ). "'
, '" .mysql_real_escape_string( $alter ). "'
)";
Daten/Partitionen/Festplatten löschen - aber sicher!
Luke_Filewalker 31.07.2008 - 29481 Hits -
batch schreiben
Tekker 10.03.2009 - 238 Hits - 1 Antwort
html datei mit php schreiben
Distroyer 25.09.2009 - 197 Hits - 2 Antworten
VBA in Ini-Datei schreiben
Gast2345 12.10.2009 - 356 Hits - 7 Antworten
PHP parameter in txt schreiben
UnrealMonkey 15.10.2009 - 278 Hits - 5 Antworten