Hallo,
ich habe ein Problem, dass sowohl mit HTML als auch mit PHP zu tun hat. Zunächst gibt es eine config.php:
Dann gibt es eine index.php mit dem HTML-Formular:
Und schließlich gibt es eine savetodb.php:
Also was ich machen möchte ist folgendes: Ich möchte bei einem Formularfeld prüfen, ob es leer ist oder ein Eintrag gemacht wurde. Falls das Feld ausgefüllt ist, möchte ich den Wert in eine mySQL-Datenbank speichern. Nun habe ich ein Problem mit meiner index.php mit der Zeile:
Wenn ich die Methode auf get setze, dann prüft er korrekt ob das Feld leer ist oder nicht. Dafür schreibt er dann nicht in die Datenbank. Umgekehrt ist es wenn ich die Zeile ändere:
Mit Methode POST wird nun die Prüfung auf Leerheit nicht korrekt durchgeführt, dafür schreibt er die Daten in die Datenbank. Das ist soweit auch logisch. Also ist meine Frage, ob jemand eine Idee hat, wie ich prüfen kann ob das Feld leer ist und dann in die Datenbank schreiben kann.
Viele Grüße,
Thomas
ich habe ein Problem, dass sowohl mit HTML als auch mit PHP zu tun hat. Zunächst gibt es eine config.php:
PHP:
<?php
define ( 'MYSQL_HOST', 'localhost' );
define ( 'MYSQL_BENUTZER', 'root' );
define ( 'MYSQL_KENNWORT', '' );
define ( 'MYSQL_DATENBANK', 'phrase' );
Dann gibt es eine index.php mit dem HTML-Formular:
PHP:
<body>
<form action="savetodb.php" method="GET">
<fieldset>
<legend>Firma</legend>
Firma <input type="text" name="firma" size="45" /><br />
Abteilung <input type="text" name="abteilung" size="45" /><br />
</fieldset>
<input type="submit" value="abschicken" />
<input type="reset" value="eingabe loeschen" />
</form>
</body>
Und schließlich gibt es eine savetodb.php:
PHP:
<?php
require_once ('config.php');
foreach($_POST as $key => $value){
echo $key."=".$value."<br>";
}
$db_link = mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
echo $db_link ? 'Verbindung erfolgreich:'.$db_link : die('keine Verbindung möglich: ' . mysql_error());
$firma = ($_GET["firma"]);
echo $firma;
if (empty ($firma)) echo "Das Feld Firma ist leer";
$abteilung = ($_GET["abteilung"]);
echo $abteilung;
if (empty ($abteilung)) echo "Das Feld Abteilung ist leer";
echo $sql = "INSERT INTO `phrase`.`phrase_reg_firma`
(`firma`,
abteilung`)
VALUES
('".$_POST['firma']."',
'".$_POST['abteilung']."')";
$db_erg = mysql_query($sql)
or die("Anfrage fehlgeschlagen: " . mysql_error());
mysql_close($db_link );
?>
Also was ich machen möchte ist folgendes: Ich möchte bei einem Formularfeld prüfen, ob es leer ist oder ein Eintrag gemacht wurde. Falls das Feld ausgefüllt ist, möchte ich den Wert in eine mySQL-Datenbank speichern. Nun habe ich ein Problem mit meiner index.php mit der Zeile:
PHP:
<form action="savetodb.php" method="GET">
Wenn ich die Methode auf get setze, dann prüft er korrekt ob das Feld leer ist oder nicht. Dafür schreibt er dann nicht in die Datenbank. Umgekehrt ist es wenn ich die Zeile ändere:
PHP:
<form action="savetodb.php" method="POST">
Mit Methode POST wird nun die Prüfung auf Leerheit nicht korrekt durchgeführt, dafür schreibt er die Daten in die Datenbank. Das ist soweit auch logisch. Also ist meine Frage, ob jemand eine Idee hat, wie ich prüfen kann ob das Feld leer ist und dann in die Datenbank schreiben kann.
Viele Grüße,
Thomas