php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.01.2006, 16:37  
Gast
 
Beiträge: n/a
Standard [Erledigt] Problem mit Eintragung in die Datenbank

Hallo zusammen,

ich hab mir ein anmelde script für Benutzer geschrieben die zuerst über ein Formular die Daten eingeben und dann zu einer 2. Seite geleitet werden wo nochmal alles aufgelistet wird und dann eine Email verschickt wird, dass die Anmeldung erfolgreich war, und die eingegebenen daten in eine Datenbank eingetragen werden!

Mein Code sieht folgendermaßen aus!

Code:
<html>
<head>
 	<title>ID-Love.de - Deine ID - Deine Date - Dein Erfolg</title>
 	<link rel="stylesheet" type="text/css" media="screen" href="inc/style.css" />
	<!--[if IE]>
	<link rel="stylesheet" type="text/css" title="IE Bugfixing Stylesheet" href="./inc/style_ie.css" media="screen" />
	<![endif]-->
	<link rel="shortcut icon" href="images/Logo.jpg">
	
</head>
<body>
	 <span id="content_top"></span>
	 <div class="news">
 	  <ul>
      <?php
       require ("config.inc.php");

       $Daten_einfuegen="INSERT INTO user(
        nick,
        vorname,
        nachname,
        email,
        plz,
        bday,
        handy,
        sex,
        nb,
        register,
        accept)
       VALUES (
       ".$_POST['nick'].",
       ".$_POST['vorname'].",
       ".$_POST['nachname'].",
       ".$_POST['email'].",
       ".$_POST['plz'].",
       ".$_POST['bday'].",
       ".$_POST['handy'].",
       ".$_POST['sex'].",
       ".$_POST['nb'].",
       ".$_POST['register'].",
       ".$_POST['accept'].")TYPE=MyISAM;";

       $user1 = mysql_query($Daten_einfuegen);
       
       if (user1) {
       $nachricht = "Hallo ".$_POST['vorname']." ! Deine Anmeldung bei ID-Love.de war erfolgreich. Bitte klicke auf folgenden Link um die Anmeldung abzuschließen";
       $an = $_POST['email'];
       $betreff = "Erfolgreiche Anmeldung auf ID-Love.de";
       $xtra = "From: Anmeldung@ID-Love.de (ID-Love)\r\n";
       $xtra .= "Content-Type: text/html\r\nContent-Transfer-Encoding:8bit\r\n";
       $xtra .= "X-Mailer:PHP ";
       mail($an, $betreff, $nachricht, $xtra);
       echo "Perfekt ".($_POST['vorname']).", deine Anmeldung war erfolgreich! Check bitte dein Emailpostfach!";
       } else {
        echo "Fehler bei der Anmeldung! Bitte zum späteren Zeitpunktnochmal versuchen!";
        }
       ?>[*][*]Hier nochmal deine eingegebenen Daten:[*][*]Nick:
       <?php echo($_POST['nick']);?>[*]Vorname:
       <?php echo($_POST['vorname']);?>[*]Nachname:
       <?php echo($_POST['nachname']);?>[*]Emailadresse:
       <?php echo($_POST['email']);?>[*]Postleitzahl:
       <?php echo($_POST['plz']);?>[*]Geburtstag:
       <?php echo($_POST['bday']);?>[*]Handynummer:
       <?php echo($_POST['handynr']);?>[*]Geschlecht:
       <?php echo($_POST['sex']);?>[*]Nutzungsbedinungen:
       <?php echo($_POST['nb']);?>
 	[*]
       <input type="button" class="xbtn" value="zurück" onClick="history.go(-1)">
	   <input type="button" class="xbtn" value="vorwärts" onClick="history.go(+1)">
	   <input type="button" class="xbtn" value="aktualisieren" onClick="history.go(0)">
	[/list]	  <br style="clear:both;" />
	 </div>
</body>
</html>

Die Config.inc.php so:
Code:
<?

// DB-Konfiguration

// Datenbank-Server (IP oder DNS)
$dbserver = "localhost";

// Datenbank-Nutzer
$nutzer = "myrobindlux";

// Datenbank-Passwort
$passwort = "******";

// Datenbank-Name
$dbname = "myrobindlux";

// Datenbanktabellen-Name
$dbtabelle = "user";

$db_fehler1 = "Die Datenbank sind z.Z. nicht abrufbar! Versuchen Sie es bitte später nochmal!";

$db_fehler2 = "Die Daten sind z.Z. nicht abrufbar! Versuchen Sie es bitte später nochmal!";

//Verbindung aufbauen
@$db = mysql_connect($dbserver,$nutzer,$passwort) OR die($db_fehler1);

//Datenbank als Standard definieren
@mysql_select_db($dbname,$db) OR die($db_fehler2);

?>
Nun wird zwar die Email abgeschickt und es kommt auch keine Fehlermeldung, aber es wird nichts in die Datenbank eingetragen :<
Die Login Daten stimmen zu 100%
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 05.01.2006, 16:45  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Du hast einen Fehler in deinem Skript, schaltest aber explizit mit @ Fehlermeldungen aus? Prima.

Häng an jedes "mysql_query()" ein "or die(mysql_error())" dran und Google nach dem Fehler. Ein "is not a valid MySQL resource" ist der König der Anfänger-Fehler.
Zergling-new ist offline   Mit Zitat antworten
Alt 05.01.2006, 16:50  
Gast
 
Beiträge: n/a
Standard

Okay werd ich machen, Danke :wink:
  Mit Zitat antworten
Alt 06.01.2006, 09:24  
Gast
 
Beiträge: n/a
Standard

Sooo!
Ich hab das or die(mysql_error())) an die Funktion dran gehangen und es kommt halt jetzt die Fehlermeldung in der Art wie sie bei phpmyadmin angezeigt würde.
Hab zuerst mal versucht mit der Codezeile die ich hab, manuell über phpmyadmin einen Eintrag zutätigen und dort klappte es auch, aber nur halt dadurch dass ich die "$_POST.." Variablen, durch normale Zeichenkette/Zahlen ersetzt habe. Dort klappte es!
Aber nun mit den Post Variablen und einbindung in die php Datei klappt wieder gar nüschts...

Code:
<?php
       require ("config.inc.php");

       $Daten_einfuegen="INSERT INTO user(nick,vorname,nachname,email,plz,bday,handy,sex,nb,register,accept) VALUES (".$_POST['nick'].",".$_POST['vorname'].",".$_POST['nachname'].",".$_POST['email'].",".$_POST['plz'].",".$_POST['bday'].",".$_POST['handy'].",".$_POST['sex'].",".$_POST['nb'].",".$_POST['register'].",".$_POST['accept'].")";
       $user1 = mysql_query($Daten_einfuegen) or die(mysql_error());
       if (user1) {
       $nachricht = "Hallo ".$_POST['vorname']." ! Deine Anmeldung bei ID-Love.de war erfolgreich. Bitte klicke auf folgenden Link um die Anmeldung abzuschließen";
       $an = $_POST['email'];
       $betreff = "Erfolgreiche Anmeldung auf ID-Love.de";
       $xtra = "From: Anmeldung@ID-Love.de (ID-Love)\r\n";
       $xtra .= "Content-Type: text/html\r\nContent-Transfer-Encoding:8bit\r\n";
       $xtra .= "X-Mailer:PHP ";
       mail($an, $betreff, $nachricht, $xtra);
       echo "Perfekt ".($_POST['vorname']).", deine Anmeldung war erfolgreich! Check bitte dein Emailpostfach!";
       } else {
        echo "Fehler bei der Anmeldung! Bitte zum späteren Zeitpunktnochmal versuchen!";
        }
       ?>
Die Fehlermeldung ist folgende:
"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 'user(nick,vorname,nachname,email,plz,bday,handy,s ex,nb,register"
  Mit Zitat antworten
Alt 06.01.2006, 09:33  
Erfahrener Benutzer
 
Registriert seit: 21.07.2004
Beiträge: 377
juhuwoorps
Standard

Änder mal dein Insert so ab:

PHP-Code:
<?php
('$_POST[nick]','$_POST[vorname]', ....
?>
__________________
Und geht auch alles in die Binsen, immer heftig weiter grinsen!
juhuwoorps ist offline   Mit Zitat antworten
Alt 06.01.2006, 09:42  
Gast
 
Beiträge: n/a
Standard

Zitat:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ..... on line 18
Das kommt dabei raus und in PHP Coder Pro! werden die Variablen jetzt als normale Zeichenkette erkannt ;:>

Code:
$Daten_einfuegen="INSERT INTO user(nick,vorname,nachname,email,plz,bday,handy,sex,nb,register,accept) VALUES ('$_POST['nick']','$_POST['vorname']','$_POST['nachname']','$_POST['email']','$_POST['plz']','$_POST['bday']','$_POST['handy']','$_POST['sex']','$_POST['nb']','$_POST['register']','$_POST['accept']')";
  Mit Zitat antworten
Alt 06.01.2006, 09:44  
Erfahrener Benutzer
 
Registriert seit: 21.07.2004
Beiträge: 377
juhuwoorps
Standard

Lass die ' in den eckigen Klammern weg!
__________________
Und geht auch alles in die Binsen, immer heftig weiter grinsen!
juhuwoorps ist offline   Mit Zitat antworten
Alt 06.01.2006, 09:46  
Gast
 
Beiträge: n/a
Standard

Sorry nicht richtig die Änderung erkannt

Zitat:
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 'user(nick,vorname,nachname,email,plz,bday,handy,s ex,nb,register
bei der Zeile
Code:
$Daten_einfuegen="INSERT INTO user(nick,vorname,nachname,email,plz,bday,handy,sex,nb,register,accept) VALUES ('$_POST[nick]','$_POST[vorname]','$_POST[nachname]','$_POST[email]','$_POST[plz]','$_POST[bday]','$_POST[handy]','$_POST[sex]','$_POST[nb]','$_POST[register]','$_POST[accept]')";
  Mit Zitat antworten
Alt 06.01.2006, 09:58  
Erfahrener Benutzer
 
Registriert seit: 21.07.2004
Beiträge: 377
juhuwoorps
Standard

Was passiert denn, wenn du beim into das ,accept weglässt und bei den Values genauso (,'$_POST[accept]')
__________________
Und geht auch alles in die Binsen, immer heftig weiter grinsen!
juhuwoorps ist offline   Mit Zitat antworten
Alt 06.01.2006, 10:07  
Gast
 
Beiträge: n/a
Standard

Es passiert wieder

Zitat:
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 'user(nick,vorname,nachname,email,plz,bday,handy,s ex,nb,register
bei dem Code:

Code:
       $Daten_einfuegen="INSERT INTO user(nick,vorname,nachname,email,plz,bday,handy,sex,nb,register) VALUES ('$_POST[nick]','$_POST[vorname]','$_POST[nachname]','$_POST[email]','$_POST[plz]','$_POST[bday]','$_POST[handy]','$_POST[sex]','$_POST[nb]','$_POST[register]')";
  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
problem mit gleiche datenbank inhalte auslesen miwo PHP Tipps 2008 3 17.09.2007 14:35
problem mit einer datenbank Pflaume91 PHP Tipps 2008 5 04.09.2007 11:05
While schleife mit Datenbank in ein Dropdown Feld (Umlaut Problem) kintaro PHP Tipps 2008 6 28.08.2007 19:11
Problem mit Array und DB eintragung noBody PHP Tipps 2007 5 19.03.2007 17:05
Problem bein sortieren aus einer Datenbank FireFIghter PHP Tipps 2006 8 21.02.2006 20:58
Problem mit MySQL Datenbank mar8125 PHP Tipps 2006 5 06.02.2006 22:18
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
Datenbank Problem? Datenbanken 2 04.08.2005 14:53
PHP Datenbank Problem PHP Tipps 2005-2 14 24.06.2005 13:09
Problem bei Datenbankeintragung mit Zeit Skazi PHP Tipps 2004 4 20.09.2004 17:22
Problem mit Datenbank und Datum (Daten rausholen) PHP Tipps 2004 3 26.08.2004 13:38
Problem bei Einträgen in die Datenbank PHP Tipps 2004 11 04.07.2004 17:52
Problem beim Füllen von Formularfeldern aus Datenbank PHP Tipps 2004 3 25.06.2004 13:44
Wider ein Datenbank problem!! b++ PHP Tipps 2004 3 21.06.2004 13:48


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:22 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.