Mohamedal_hakim Geschrieben 17. August 2006 Teilen Geschrieben 17. August 2006 hallo.. habe ein formular dass in 3 schritten verarbeitet wird. schritt 1 und 2 funktionieren, allerdings wenn ich die SQL anweisung starte, kriege ich keinen eintrag in meine Datenbank.. Code sieht folgendermassen aus: <?php define( '_VALID_MOS', 1 ); if ($_POST['abschicken']) { include_once( '../globals.php' ); require_once( '../configuration.php' ); //datenbank zugangsdaten mysql_select_db($mosConfig_db) or die("<h3>Datenbank nicht vorhanden</h3>"); mysql_connect($mosConfig_host, $mosConfig_user, $mosConfig_password) or die("<h3>Datenbankserver nicht erreichbar</h3>"); echo $mosConfig_host. " ". $mosConfig_user ." ". $mosConfig_password; $sql = "INSERT INTO _Voll_Krass_Formular_ (Anrede, Vorname, Nachname, Adresse, PLZ, Ort, Email, Land, Geb-Datum, M-Tele, H-Tele, Ip-Adresse, Spiel_Beginn) VALUES ('$anrede', '$vorname', '$nachname', '$adresse' , '$plz' , '$ort' , '$email', '$Land' ,'$Geb_Dat', '$Haus_Tele' , '$H_Tele' , '$ipadresse' , '$datum_')"; echo $sql; $result = mysql_query($sql); } ?>[/PHP] wenn ich über Echo die zugangsdaten mir anzeigen lasse, dann sehe ich diese auch, aber ich kann nicht darauf zugreifen. kann mir jemand sagen wo das problem ist? wäre echt euch sehr dankbar! ist eine MySQL datenbank! ein Export meiner Datenbank sieht folgender massen aus: [code]-- phpMyAdmin SQL Dump -- version 2.7.0-pl2 -- http://www.phpmyadmin.net -- -- Host: localhost -- Erstellungszeit: 17. August 2006 um 09:54 -- Server Version: 4.0.18 -- PHP-Version: 4.3.4 SET AUTOCOMMIT=0; START TRANSACTION; -- -- Datenbank: `phoenix` -- -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `_Voll_Krass_Formular_` -- DROP TABLE IF EXISTS `_Voll_Krass_Formular_`; CREATE TABLE IF NOT EXISTS `_Voll_Krass_Formular_` ( `id` int(1) NOT NULL default '0', `Anrede` varchar(50) NOT NULL default '', `Vorname` varchar(50) NOT NULL default '', `Nachname` varchar(50) NOT NULL default '', `Adresse` varchar(50) NOT NULL default '', `PLZ` varchar(5) NOT NULL default '', `Ort` varchar(50) NOT NULL default '', `Email` varchar(50) NOT NULL default '', `Land` varchar(50) NOT NULL default '', `Geb-Datum` varchar(50) NOT NULL default '', `M-Tele` varchar(30) NOT NULL default '', `H-Tele` varchar(30) NOT NULL default '', `NKL` varchar(50) NOT NULL default '', `SKL` varchar(50) NOT NULL default '', `Lotto` varchar(50) NOT NULL default '', `Ip-Adresse` varchar(12) NOT NULL default '', `Spiel_Beginn` varchar(50) NOT NULL default '', `Angebot_1` varchar(50) NOT NULL default '', `Angebot_2` varchar(50) NOT NULL default '', `Angebot_3` varchar(50) NOT NULL default '', `Angebot_4` varchar(50) NOT NULL default '', `Angebot_5` varchar(50) NOT NULL default '', `Angebot_6` varchar(50) NOT NULL default '', PRIMARY KEY (`id`), UNIQUE KEY `Email` (`Email`) ) TYPE=MyISAM; -- -- Daten für Tabelle `_Voll_Krass_Formular_` -- COMMIT;[/code] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 17. August 2006 Teilen Geschrieben 17. August 2006 mysql_select_db muss nach mysql_connect aufgerufen werden. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Mohamedal_hakim Geschrieben 17. August 2006 Autor Teilen Geschrieben 17. August 2006 hallo.. vielen Dank für deine Antwort.. ich habe es auch gemacht.. aber: genau das gleiche Problem.. es ist sehr anfängermässig wenn man das gesammte Code reinkopiert und hofft, dass einem jemand hilft, aber ich bin mit diesem Problem seit tagen.. und bisher hatte ich nie probleme mit MySQL, auch nicht über ODBC, es ist ein Webserver auf Apache (suse 8.2) (Webhoster) <body> <?php // Post anwendung $anrede = $_POST['anrede']; $vorname = $_POST['vorname']; $nachname = $_POST['nachname']; $adresse = $_POST['strasse'] ."\n". $_POST['hsnr']; $plz = $_POST['plz']; $ort = $_POST['ort']; $email = $_POST['email']; $Land = $_POST['land']; $Geb_Datum = $_POST['geburttag'] . $_POST['geburtmonat'] . $_POST['geburtsjahr']; $H_Tele = $_POST['mobilvorwahl'] ."\n". $_POST['mobilnummer']; //$h_Tele ist HANDY_Telefon $Haus_Tele = $_POST['vorwahl'] ."\n". $_POST['telefon']; $ipadresse ="$REMOTE_ADDR"; $datum_ = $datum . "/" . $uhrzeit; //Datum und Uhrzeit ausgeben $datum = date("d.m.Y"); $uhrzeit = date("H:i"); //datum_ ist eine zusammensetzung von: $datum und $uhrzeit," Uhr"; $datum_ = $datum . "/" . $uhrzeit; //IP Adresse auslesen $ipadresse ="$REMOTE_ADDR"; ?> <div align="center"> <form action="index_3.php" method="post" name="Form_2" id="inputField" > <table border="1" cellpadding="10" cellspacing="0" align="left" class="Jahresabo"> <tbody><tr> <td align="left" valign="top"> <table border="0" width="550"> <tbody><tr> <td width="100%"> <p class="maintext" align="left"> <font color="#6ca4b0" face="Trebuchet MS" size="1"> <?php echo "Sehr geehrte/r\n". $_POST['anrede']." ".$_POST['nachname']."\n"."<br />Sie haben sich erfolgreich registriert. <br> Ab Heute haben Sie die Chance an der Teilnahme der Verlosung des Preises XXXXX teilzunehmen.<br />Sie werden in kürze ein Email mit Ihrer Daten zugeschickt bekommen, so können Sie sichergehen, dass Ihre Daten auch bei uns eingegangen sind<br />Ihre Daten wurden wie erfolgt aufgenommen und werden auch so abgespeichert.<br />"; ?> </font> </p> </font> </p><div align="left"> <table border="0" cellpadding="2" cellspacing="2"> <tbody><tr> <td> <div align="left"><b><font face="Trebuchet MS" size="1">Anrede:</font></b> </div></td> <td> <font face="Trebuchet MS" size="1"><?php echo $_POST['anrede']; ?></font> </td> </tr> <tr> <td> <div align="left"><b><font face="Trebuchet MS" size="1">Vorname:</font></b> </div></td> <td> <font face="Trebuchet MS" size="1"><?php echo $_POST['vorname']; ?></font> </td> </tr> <tr> <td> <div align="left"><b><font face="Trebuchet MS" size="1">Nachname:</font></b> </div></td> <td> <font face="Trebuchet MS" size="1"><?php echo $_POST['nachname']; ?></font> </td> </tr> <tr> <td align="left" valign="top"> <div align="left"><b><font face="Trebuchet MS" size="1">eMail:</font></b> </div></td> <td align="left" valign="top"> <font face="Trebuchet MS" size="1"><?php echo $_POST['email']; ?></font> </td> </tr> <tr> <td align="left" valign="top"> <div align="left"><b><font face="Trebuchet MS" size="1">Geburtsdatum: </font></b> </div></td> <td align="left" valign="top"> <font face="Trebuchet MS" size="1"><?php echo $Geb_Datum; ?></font> </td> </tr> <tr><td><div align="left"><b><font face="Trebuchet MS" size="1">Strasse /Haus-Nr::</font></b></div></td><td><b><font face="Trebuchet MS" size="1"> <?php echo $adresse; ?></font></b></td></tr> <tr><td><div align="left"><b><font face="Trebuchet MS" size="1">PLZ / Ort:</font></b></div></td><td><b><font face="Trebuchet MS" size="1"><?php echo $_POST['plz']." ".$_POST['ort']; ?> </font></b></td></tr> <tr><td><div align="left"><b><font face="Trebuchet MS" size="1">Land:</font></b></div></td><td><b><font color="#000000" face="Trebuchet MS" size="1"><?php echo $_POST['land']; ?> </font></b></td></tr><tr><td><div align="left"><b><font face="Trebuchet MS" size="1">Vorwahl / Telefon:</font></b></div></td><td><b><font face="Trebuchet MS" size="1"><?php echo $Haus_Tele; ?></font></b></td></tr><tr><td><div align="left"><b><font face="Trebuchet MS" size="1">Mobil:</font></b></div></td><td><b><font face="Trebuchet MS" size="1"><?php echo $H_Tele; ?></font></b></td></tr> <tr> <td valign="top" align="left"> <b><font face="Trebuchet MS" size="1" color="#CC0000"></font></b> </td> <td valign="top"> <input value="Jetzt abschicken" name="abschicken" type="submit"button> </td> </tr> </tbody></table> </div> <p class="maintext" align="center"> </p> </td> </tr> </tbody> </table> </center> </div> </td> </tr> </tbody> </table></form> </div> <br /> <?php define( '_VALID_MOS', 1 ); // checks for configuration file, if none found loads installation page if ($_POST['abschicken']) { // include_once( '../globals.php' ); require_once( '../configuration.php' ); mysql_connect($mosConfig_host, $mosConfig_user, $mosConfig_password) or die("<h3>Datenbankserver nicht erreichbar</h3>"); mysql_select_db($mosConfig_db) or die("<h3>Datenbank nicht vorhanden</h3>"); $sql = "INSERT INTO _Voll_Krass_Formular_ (Anrede, Vorname, Nachname, Adresse, PLZ, Ort, Email, Land, Geb-Datum, M-Tele, H-Tele, Ip-Adresse, Spiel_Beginn) VALUES ('$anrede', '$vorname', '$nachname', '$adresse' , '$plz' , '$ort' , '$email', '$Land' ,'$Geb_Dat', '$Haus_Tele' , '$H_Tele' , '$ipadresse' , '$datum_')"; $result = mysql_query($sql); } ?> </div> </body> wie du siehst, habe ich die Postanweisung oben bei der Datenübernahme gemacht, liegt es vieleicht daran, dass da der Fehler ist? allerdings habe ich die SQL anweisung per ECHO ausgeben lassen, die Inhalte sind alle drinn! die MySQL tabellenTyp: alles: varchar ich will erst, dass daten eingetragen werden, mehr nicht.. danke dir im vorraus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SQLPro Geschrieben 23. August 2006 Teilen Geschrieben 23. August 2006 Ich hoffe der Beitrag ist immer noch aktuell Das Eintragen in die DB funzt nicht, weil dein SQL-Befehl falsch ist. Du vergisst in deinem INSERT TO Befehl die Angebote 1-6 zu berücksichtigen und er somit nicht vollständig ist. Ansonsten ist alles richtig. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Mohamedal_hakim Geschrieben 23. August 2006 Autor Teilen Geschrieben 23. August 2006 hallo.. das Thema ist immernoch aktuell.. aber ich brauche momentan die Angebote nicht, muss ich sie trotzdem mit reinsetzen? ich kann also quasi die Werte auf null setzen, dann würde es klappen? oder die Datenbank später auf die 6 Angebote erweitern? dann würde es funktionieren? muss es gleich die tage ausprobieren, da ich nicht weiterkam, und das projekt auf Eis gelegt habe! danke dir vielmals um den Tipp Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 25. August 2006 Teilen Geschrieben 25. August 2006 Das Eintragen in die DB funzt nicht, weil dein SQL-Befehl falsch ist. Du vergisst in deinem INSERT TO Befehl die Angebote 1-6 zu berücksichtigen und er somit nicht vollständig ist Da er aber die Spaltennamen für das INSERT INTO explizit angibt, sollte das egal sein... $sql = "INSERT INTO _Voll_Krass_Formular_ (Anrede, Vorname, Nachname, Adresse, PLZ, Ort, Email, Land, Geb-Datum, M-Tele, H-Tele, Ip-Adresse, Spiel_Beginn) VALUES ('$anrede', '$vorname', '$nachname', '$adresse' , '$plz' , '$ort' , '$email', '$Land' ,'$Geb_Dat', '$Haus_Tele' , '$H_Tele' , '$ipadresse' , '$datum_')"; Setz doch mal ein echo mysql_error(); [/PHP] hinter das mysql_query($sql), und poste, falls Du nach wie vor Probleme hast, einfach mal den Inhalt von $sql. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Mohamedal_hakim Geschrieben 4. September 2006 Autor Teilen Geschrieben 4. September 2006 hallo.. das ist die fehlermeldung: 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 '-Datum, M-Tele, H-Tele, Ip-Adresse, Spiel_Beginn) VALUES ('Herr aber was ist damit gemeint? ich habe die MySQL Tabelle wie folgt geändert, sodass NUR die Daten eingetragen werden, die auch nötig sind! inhalt von $sql ist so wie ich das haben möchte.. ist alles richtig.. ich kann es ausgeben: INSERT INTO _Voll_Krass_Formular_ (Anrede, Vorname, Nachname, Adresse, PLZ, Ort, Email, Land, Geb-Datum, M-Tele, H-Tele, Ip-Adresse, Spiel_Beginn) VALUES ('Herr', 'mohamed', 'al-hakim', 'triftstrasse 6' , '13353' , 'berlin' , 'mohamedal_hakim@hotmail.com', 'DE' ,'', '030 466797915' , '0176 23429990' , '81.169.145.11' , '04.09.2006/10:57') ist alles richtig.. oder sieht ihr da ein Fehler? achja: die ID, muss ich da auch was einfügen? das inkrementiert von alleine oder nicht? also spricht er nach ID den nächsten Feld, und das wäre Anrede $anrede ?? oder? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 4. September 2006 Teilen Geschrieben 4. September 2006 (Anrede, Vorname, Nachname, Adresse, PLZ, Ort, Email, Land, Geb-Datum, M-Tele, H-Tele, Ip-Adresse, Spiel_Beginn) MySQL stört sich ohne Quotes scheinbar am '-' im Spaltennamen... Entweder benennst Du deine Spalten um, in dem Du z.B. einen '_' verwendest, oder Du quotest: (Anrede, Vorname, Nachname, Adresse, PLZ, Ort, Email, Land, `Geb-Datum`, `M-Tele` , `H-Tele`, `Ip-Adresse`, Spiel_Beginn) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Mohamedal_hakim Geschrieben 4. September 2006 Autor Teilen Geschrieben 4. September 2006 was ist denn bitte quoten? ich kenne den begriff nicht! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 4. September 2006 Teilen Geschrieben 4. September 2006 Das ist Quoten: Beachten Sie, dass, falls der Bezeichner ein reserviertes Wort ist oder Sonderzeichen enthält, er bei der Benutzung immer in ` angegeben sein muss Und hier weitere Infos: http://dev.mysql.com/doc/refman/4.0/de/legal-names.html Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.