Hallo Leute
Ich habe folgendes Problem, und zwar bastel ich gerade an einem Script mit PHP und Mysql was die aufgabe haben soll daten in eine mysql Tabelle aufzunehmen. Die Daten werden �ber ein Formular aufgenommen und gespeichert, und bei einer unvollst�ndigen eingabe soll eine Fehlermeldung ausgegeben werden und die vorigen angaben in den feldern gespeichert bleiben.
Naja dem ist aber leider nicht so.
Das script reagiert irgendwie immer gleich.
Es kommt immer eine Erfolgsmeldung wenn die Daten �bermittelt werden solln und auch keine Fehlermeldung bei einer unvollst�ndigen eingabe.Und
wie solls anders sein nat�rlich auch kein eintrag in die DB tabelle.
Das script h�nge ich mal an
Ich muss dazu sagen das das meine erstes Projekt mit PHP und Mysql ist und mein Wissen �ber die Thematik noch l�ckenhaft ist .
W�reaber klasse wenn hier vielleicht wer weiter weiss
schonmal besten Dank
mo
Hier nochmal ein Bild von der sql Tabelle
Und noch ein kleines script um die Verbindung zu sql zu testen
welches folgende Fehlermeldung ausgibt:
---------------------------------------------------------------------------------------------------------------------------
Verbindung wurde aufgebaut
Konnte Datenbank nicht benutzen.
Der Grund daf�r: Access denied for user: 'web553@localhost' to database 'testdb'
---------------------------------------------------------------------------------------------------------------------------
und hier das script welches die ausgabe erzeugt
Einmal die config.php
und die testsql.php
Ich habe folgendes Problem, und zwar bastel ich gerade an einem Script mit PHP und Mysql was die aufgabe haben soll daten in eine mysql Tabelle aufzunehmen. Die Daten werden �ber ein Formular aufgenommen und gespeichert, und bei einer unvollst�ndigen eingabe soll eine Fehlermeldung ausgegeben werden und die vorigen angaben in den feldern gespeichert bleiben.
Naja dem ist aber leider nicht so.
Das script reagiert irgendwie immer gleich.
Es kommt immer eine Erfolgsmeldung wenn die Daten �bermittelt werden solln und auch keine Fehlermeldung bei einer unvollst�ndigen eingabe.Und
wie solls anders sein nat�rlich auch kein eintrag in die DB tabelle.
Das script h�nge ich mal an
Ich muss dazu sagen das das meine erstes Projekt mit PHP und Mysql ist und mein Wissen �ber die Thematik noch l�ckenhaft ist .
W�reaber klasse wenn hier vielleicht wer weiter weiss
schonmal besten Dank
mo
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>admintest</title> </head> <body> <?php // pr�fen ob das formular abgeschickt wurde if($_POST['flag']==1) { //Leerstellen entfernen $_POST['artnr']=trim($_POST['artnr']); $_POST['name']=trim($_POST['name']); $_POST['gr']=trim($_POST['gr']); $_POST['beschreibung']=trim($_POST['beschreibung']); //evt vorhandenen HTML code entfernen $_POST['artnr']=strip_tags($_POST['artnr']); $_POST['name']=strip_tags($_POST['name']); $_POST['gr']=strip_tags($_POST['gr']); $_POST['beschreibung']=strip_tags($_POST['beschreibung']); //pr�fen ob alle felder auusgef���t worden sind if(!$_POST['artnr']) { $_fehler="Bitte geben Sie eine Artikelnummer ein!! "; } if(!$_POST['name']) { $_fehler="Bitte geben Sie einen namen ein!! "; } if(!$_POST['gr']) { $_fehler="Bitte geben Sie eine Gr��e an!! "; } if(!$_POST['beschreibung']) { $_fehler="Bitte geben Sie eine beschreibung ein!! "; } //wenn nicht vollst�ndig TxT ausgabe formatieren und $_POST['flag'] //l�schen form wird neu angezeigt if($_fehler) { $meldung="<h2><font color=red>".$fehler."</font></h2>"; unset($_POST['flag']); } //keine fehler daten in die DB �bertragen else { //mysql befehle $tblname="testdb"; $sql="INSERT INTO $tblname(artnr,name,gr,beschreibung) values ('".$_POST['artnr']."', '".$_POST['name']."', '".$_POST['gr']."', '".$_POST['beschreibung']."', )"; //verbinden zur DB $link = mysql_connect("localhost", "web553", "fumanchu"); mysql_select_db("testdb", $link); mysql_query($sql, $link); } $meldung="<h2><font color=red>Der Artikel wurde aufegnommen</font></h2>"; //ausgeben der meldung echo $meldung; } ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <input type="hidden" name="flag" value="1"> ArtNR.: <input type="text" name="artnr" value="<?php echo $_POST['artnr']; ?>"></p> Name: <input type="text" name="name" value="<?php echo $_POST['name']; ?>"></p> Gr. <input type="text" name="gr" value="<?php echo $_POST['gr']; ?>"></p> Beschreibung <textarea rows="5" cols="50" name="beschreibung" > <?php echo $_POST['beschreibung']; ?> </textarea> </p> <input type="submit" value="einstellen"> </form> </body> </html>
Hier nochmal ein Bild von der sql Tabelle
Und noch ein kleines script um die Verbindung zu sql zu testen
welches folgende Fehlermeldung ausgibt:
---------------------------------------------------------------------------------------------------------------------------
Verbindung wurde aufgebaut
Konnte Datenbank nicht benutzen.
Der Grund daf�r: Access denied for user: 'web553@localhost' to database 'testdb'
---------------------------------------------------------------------------------------------------------------------------
und hier das script welches die ausgabe erzeugt
Einmal die config.php
Code:
<?php // config.php error_reporting(E_ALL); define('MYSQL_HOST', 'localhost'); define('MYSQL_USER', 'web553'); define('MYSQL_PASS', 'fumanchu'); define('MYSQL_DATABASE', 'testdb'); ?>
Code:
<?php //testsql.php error_reporting(E_ALL); include 'config.php'; if(!@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS)) { echo "Es konnte keine Verbindung aufgebaut werden"; } else { echo "Verbindung wurde aufgebaut \n"; } if(!mysql_select_db(MYSQL_DATABASE)) { echo "Konnte Datenbank nicht benutzen. \n"; echo "Der Grund daf�r: ".mysql_error()."\n"; } else { echo "Die Datenbank wurde ausgew�hlt"; } ?>
Kommentar