Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 07:32

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



MySQL INSERT INTO trägt nicht alle Daten aus Formular ein

Discussion on MySQL INSERT INTO trägt nicht alle Daten aus Formular ein within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
kimuraaa's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 1,533
Received Thanks: 810
MySQL INSERT INTO trägt nicht alle Daten aus Formular ein

Hallo, ich wollte mir eine kleine Regi basteln.
Dabei stoße ich auf das Problem, dass Username sowie Password eingetragen werden aber die E-Mail nicht. Hier einmal der komplette Code sowie DB:

Das Formular:
PHP Code:
<link rel="stylesheet" type="text/css" href="../style.css" />
<
h3>Registrierung</h3>
<
form action="index.php?page=reg" method="post" id="regist">
<
table width="400" border="0" align="center">
  <
tr>
    <
td align="left"><b>Benutzername:</b></td>
    <
td><input name="user" type="text" size="30" maxlength="30" /></td>
  </
tr>
  <
tr>
    <
td align="left"><b>Passwort:</b></td>
    <
td><input name="pass" type="password" size="30" maxlength="30" /></td>
  </
tr>
  <
tr>
    <
td align="left"><b>E-Mail</b></td>
    <
td><input name="email" type="text" size="30"/></td>
  </
tr>
</
table>
<
input name="submit" type="submit" value="Registrieren" />
</
form
Die MySQL-Tabelle:
PHP Code:
--
-- 
Tabellenstruktur für Tabelle `user`
--

CREATE TABLE IF NOT EXISTS `user` (
  `
idint(11NOT NULL AUTO_INCREMENT,
  `
uservarchar(30COLLATE latin1_german2_ci DEFAULT NULL,
  `
passvarchar(30COLLATE latin1_german2_ci DEFAULT NULL,
  `
emailvarchar(50COLLATE latin1_german2_ci DEFAULT NULL,
  
PRIMARY KEY (`id`)
ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=42 ;

--
-- 
Daten für Tabelle `user`
-- 
Der PHP-Code:

PHP Code:
<?php

$server 
'';
$username '';
$password '';

mysql_connect($server$username $password)
or die(
"Verbindung zur Datenbank konnte nicht hergestellt werden");

mysql_select_db("") or die ("Datenbank konnte nicht ausgewählt werden"); 


$user $_POST['user'];
$pass $_POST['pass'];
$email $_POST['email'];


if(isset(
$_POST['submit'])){
$md5 md5($pass);

mysql_query("INSERT INTO user (user, pass, email) VALUES ('$user', '$md5', '$email') LIMIT 1");


}
?>
Die MySQL-Daten passen natürlich.

Hoffe, da kann mir wer helfen
kimuraaa is offline  
Old 08/26/2012, 15:18   #2
 
elite*gold: 52
Join Date: Feb 2012
Posts: 61
Received Thanks: 2
Also bei mir kommt
Quote:
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 'LIMIT 1' at line 1
Ohne LIMIT 1 werden die Daten mit email eingetragen
-b4ck is offline  
Thanks
1 User
Old 08/26/2012, 15:49   #3
 
kimuraaa's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 1,533
Received Thanks: 810
Hm, stimmt nun gehts bei mir auch, hatte vorher nur das Problem, das die Datenbankeinträge doppelt gemacht wurden, danke dir
kimuraaa is offline  
Thanks
1 User
Old 08/26/2012, 15:51   #4
 
elite*gold: 52
Join Date: Feb 2012
Posts: 61
Received Thanks: 2
Gerne
-b4ck is offline  
Old 08/26/2012, 17:49   #5
 
kimuraaa's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 1,533
Received Thanks: 810
Um das Thema nochmal aufzugreifen, wie kann ich nun prüfen ob die Felder, user pass email, befüllt sind?

Anhand des bisherigen Scriptes oben...
kimuraaa is offline  
Old 08/26/2012, 17:59   #6
 
elite*gold: 0
Join Date: Jan 2009
Posts: 70
Received Thanks: 19
Entweder schon beim eintragen überprüfen ob was drin ist ansonsten ne Fehlermeldung ausgeben.
Beim absenden des Formulars auf Inhalt prüfen (Javascript) oder aber mit PHP wieder ausgeben lassen --> SELECT * FROM user WHERE user='$user' <-- würde jetzt noch mit mysql_fetch_object verarbeiten und dann ausgeben und überprüfen.

MfG, Mdna
mdna is offline  
Old 08/26/2012, 18:10   #7
 
elite*gold: 52
Join Date: Feb 2012
Posts: 61
Received Thanks: 2
Also per Javascript würde ich es nicht machen.
Du kannst auch per if abfrage prüfen ob das Feld leer ist.
-b4ck is offline  
Old 08/26/2012, 18:25   #8
 
elite*gold: 0
Join Date: Jan 2009
Posts: 70
Received Thanks: 19
Quote:
Originally Posted by -b4ck View Post
Also per Javascript würde ich es nicht machen.
Du kannst auch per if abfrage prüfen ob das Feld leer ist.
Mit Javascript kann man es schon überprüfen bevor es nur in berührung mit PHP kommt, das is deutlich effektiver

Und in welcher Sprache willste die If-Abfrage machen?
mdna is offline  
Old 08/26/2012, 18:29   #9
 
elite*gold: 52
Join Date: Feb 2012
Posts: 61
Received Thanks: 2
Quote:
Originally Posted by mdna View Post
Mit Javascript kann man es schon überprüfen bevor es nur in berührung mit PHP kommt, das is deutlich effektiver

Und in welcher Sprache willste die If-Abfrage machen?
Ja aber Javascript kann ich einfach aus stellen.
Ganz einfach mit php
-b4ck is offline  
Old 08/26/2012, 18:31   #10


 
DasPrinzip.'s Avatar
 
elite*gold: 727
Join Date: Feb 2012
Posts: 1,206
Received Thanks: 303
Du kannst es so abfragen:
PHP Code:
if($_POST["name"] == ""){ 
  echo 
"name ist leer!"
}
else 

 echo 
"name hat den Inhalt \"".$_POST["name"]."\"!"

Oder auch mit der Funktion empty()

PHP Code:
if ( empty ( $d ) )
{
  echo 
'Variable $d ist leer.<br />';

DasPrinzip. is offline  
Thanks
1 User
Old 08/26/2012, 18:33   #11
 
elite*gold: 0
Join Date: Jan 2009
Posts: 70
Received Thanks: 19
Nun warum nich, grundsätzlich würde ich das ganze nochmal mit JScript überprüfen.
Außerdem --> mit ner entsprechenden Option kann man verhindern das die Seite ohne JScript einfach so geht ;D
mdna is offline  
Old 08/26/2012, 20:12   #12
 
Hiris's Avatar
 
elite*gold: 99
Join Date: Apr 2011
Posts: 730
Received Thanks: 236
Quote:
Originally Posted by mdna View Post
Nun warum nich, grundsätzlich würde ich das ganze nochmal mit JScript überprüfen.
Außerdem --> mit ner entsprechenden Option kann man verhindern das die Seite ohne JScript einfach so geht ;D
Nie auf clientseitige überprüfungen verlassen!
Hiris is offline  
Old 08/26/2012, 20:22   #13
 
elite*gold: 0
Join Date: Jan 2009
Posts: 70
Received Thanks: 19
Ganz verlassen sowieso nicht, aber überprüfen und direkt abfangen wenn da schon ein Feld leer ist, spart Traffic und Serverperformance, da nicht das ganze PHP-Script aufgerufen werden muss sondern nur ein Formular.

MfG, Mdna
mdna is offline  
Old 08/26/2012, 20:34   #14

 
Synatex's Avatar
 
elite*gold: 25
Join Date: Apr 2010
Posts: 1,019
Received Thanks: 331
Teilweise richtig mdna*.

Letztendlich benutzen wir JavaScript doch nur für die User, damit die Überprüfungen direkt dargestellt werden. Wenn man rein technisch gesehen eine Überprüfung beim Formular vornimmt und dann noch einmal bei PHP hat man unnützen Code in JavaScript.

Was machst du denn, wenn die Leute die Werte faken? Also quasi die Überprüfung einfach überspringen und dann leere Werte übergeben? Ist ja nicht allzuschwer, mit einer kurzen Deaktivierung von JS...

Es sollten alle Daten die einfach kommen noch einmal von PHP überprüft werden (bzw. NodeJS).
Synatex is offline  
Old 08/26/2012, 20:50   #15
 
elite*gold: 0
Join Date: Jan 2009
Posts: 70
Received Thanks: 19
Um jetzt nicht ne ewige Grundsatzdiskussion über Überprüfung und soweiter anzufangen (oder eher um sie frühzeitig zu stoppen) --> mal wieder back to topic:
Wie die Mehrheit schon gesagt hat solltest du deine Daten BEVOR du sie in die DB schreibst mit PHP überprüfen, siehe dazu Codebeispiel von DasPrinzip

MfG, Mdna
mdna is offline  
Thanks
2 Users
Reply


Similar Threads Similar Threads
[Fehler] mysql backup einfügen / mysql startet nicht
07/29/2012 - Metin2 Private Server - 0 Replies
Hallo Leute, dieser fehler geht mir so langsam auf die nerven, und hoffe mir kann hier jemand weiter helfen. Also, ich hab mir ein backup geholt von meiner datenbank (/var/db/mysql) den Inhalt account common hotbackup
[Hilfe]XAMPP macht MySql nicht auf !! pls gebe tv daten !!
10/08/2010 - Metin2 Private Server - 1 Replies
Also XAMPP macht MySql nicht auf !! pls gebe tv daten !! per pn wer mir hilft bekommt 20thx's plss habe hp usw. schon eingerichtet und ip auch schon eingestellt :D bitte hilft mir
Charakter trägt in der Lobby braunen Mantel - im Spiel ist er nicht sichtbar
07/19/2010 - Diablo 2 - 3 Replies
Hallo, die Überschrift sagt eigentlich schon alles. Ich habe den Bluebird-Bot mit 2 CD-Keys verwendet. Kann mir einer helfen, dieses Problem zu beheben? Danke
[Release] MySQL Insert system
07/18/2010 - CO2 PServer Guides & Releases - 18 Replies
Ello! First of all, this is NOT sourcedependent, which means you can use this on any source without modifying the code. This is an replacement for all of you who still uses normal MySQL queries. Use this code to clean up, make it easier and more orginazed. Here's how it looks: Example: (Original (LOTF for example))
[HELP]C# MySQL Command insert if not exsist?
09/04/2009 - CO2 Private Server - 8 Replies
MySqlCommand Command = new MySqlCommand("INSERT INTO accounts(AccountID,LogonType) VALUES ('" + fillBox.Text + "','3')", Connection); Now, I want it to check if the value of fillBox.Text doesn't excist before making the account, so It wont create the same account. I tried making it in a try, that didn't help, it just make several accounts with the same name. ~Bas



All times are GMT +1. The time now is 07:34.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.