php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.03.2006, 17:28  
Gast
 
Beiträge: n/a
Standard Probleme beim �bertragen an eine Mysql Datenbank

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

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');
?>
und die testsql.php
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";
}
    
?>
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.03.2006, 17:39  
Erfahrener Benutzer
 
Registriert seit: 02.02.2006
Beiträge: 141
lichtscheu
lichtscheu eine Nachricht über ICQ schicken
Standard

Also erstmal kannst das INSERT nicht klappen da du keine Verbindung zur DB hast.

An deinem Code kann ich aber erstmal keinen Fehler finden.

Bei deiner Fehlerausgabe würde ich die Fehler jeweils in einen Array ablegen und dann nacheinander ausgeben. So zeigt er immer nur den zuletzt gefundenen Fehler an!
__________________
lichtscheu ist offline   Mit Zitat antworten
Alt 07.03.2006, 21:26  
Gast
 
Beiträge: n/a
Standard

Ich verrate mal ein gant geheime Funktion von PHP: mysql_error. Obwohl, so geheim ist die Funktion auch wieder nicht, steht sogar in der Doku. Aber die liest ja kaum einer.

Gruß
phpfan
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mit php dynamisch Namen von Bildnamen sowie Pfad in mysql Datenbank speichern mallmis PHP Tipps 2008 1 19.11.2007 23:04
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? PHP Tipps 2005-2 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
[Erledigt] Verständnisfrage OOP - Objekte in MySQL Datenbank schreiben? PHP Tipps 2005 2 19.05.2005 21:40
MySQL Administrator Probleme mit Umlauten beim Scripten Datenbanken 5 28.04.2005 11:44
[Erledigt] Datenbank HP im PHP Kit + MySQL Datenbanken 1 20.04.2005 12:32
MySql Datenbank sichern Datenbanken 1 10.01.2005 20:19
bin ich blöd???? Mysql Datenbank Passwort becks123 Datenbanken 3 29.10.2004 14:11
[Erledigt] MySQL findet Datenbank nicht Datenbanken 10 21.10.2004 09:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
, mysql ,  mysql error,  php mysql, \' mysql, mysql $_post in datenbank, fehler 

Alle Zeitangaben in WEZ +1. Es ist jetzt 17:55 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.