|
You last visited: Today at 13:19
Advertisement
Daten werden nicht in die Datenbank eingetragen
Discussion on Daten werden nicht in die Datenbank eingetragen within the Web Development forum part of the Coders Den category.
03/18/2012, 18:19
|
#1
|
elite*gold: 0
Join Date: Jun 2010
Posts: 3,146
Received Thanks: 583
|
Daten werden nicht in die Datenbank eingetragen
Hey leute, ich habe folgendes problem, unzwar werden keine Daten in die Mysql datenbank eingetragen
Code:
PHP Code:
<?php if (isset($_GET['step'])){ $step = $_GET['step']; if ( $step == 2){ if (isset($_POST['username'])){ if (isset($_POST['passwort'])){ $username = strip_tags(@$_POST['username']); $passwort = strip_tags(@$_POST['passwort']); $email = strip_tags(@$_POST['email']); $passwortrepeat = strip_tags(@$_POST['passwortrepeat']); $login = $_POST['login']; $ques1 = strip_tags(@$_POST['questionone']); $ques2 = strip_tags(@$_POST['questiontwo']); $ques3 = strip_tags(@$_POST['questionthree']); if ($login){ if ($username&&$passwort&&$passwortrepeat&&$ques1&&$ques2&&$ques3){ if ($passwort == $passwortrepeat){ if (strlen($username)<=25 || strlen($passwort)<=25){ $passwort = md5($passwort); $passwortrepeat = md5($passwortrepeat); $connect = mysql_connect(ZENSIERT) or die("Verbindungs Fehler"); mysql_select_db("homepage") or die("Verbindungs Fehler"); $userexist = mysql_query("SELECT username FROM users WHERE username='$username'"); if(mysql_num_rows($userexist)!=1){ $queryreg = mysql_query(" INSERT INTO users VALUES ('','$username','$passwort','$email') "); echo 'Herzlich Willkommen auf MineMystery! Das gesamte Team wünscht die viel Spaß!'; }else{ echo ' Der Angegebene Account Existier bereits!'; } }else{ echo 'Die Maximale Länge von Username bzw. Passwort beträgt 25!'; } }else{ echo 'Die beiden Angegeben Passwörter stimmen nicht überein!'; } }else{ echo 'Bitte fülle <b>alle</b> felder aus!'; } }else{ echo 'Bitte gebe ein Username und/oder ein Passwort ein!'; } } } }else{ echo 'Es ist ein Fehler Aufgetreten! Sie werden in 5 Sekunden Weitergeleitet...'; ?><meta http-equiv="refresh" content="5; URL=index.php?s=regi"> <?php } }else{?> <form action="index.php?s=regi&step=2" method="post"> <center> Benutzername(Minecraft Name):</br> <input type="text" value="Benutzername" onFocus="if(this.value=='Benutzername') this.value='';" onBlur="if(this.value=='') this.value='Benutzername';" name="username"/> </br> </br> Passwort:</br> <input type="password" value="Passwort" onFocus="if(this.value=='Passwort') this.value='';" onBlur="if(this.value=='') this.value='Passwort';" name="passwort"/></br> </br> Passwort Wiederholen:</br> <input type="password" value="Passwort-Wiederholen" onFocus="if(this.value=='Passwort-Wiederholen') this.value='';" onBlur="if(this.value=='') this.value='Passwort-Wiederholen';" name="passwortrepeat"/></br> </br> E-Mail Addresse:</br> <input type="text" value="E-Mail" onFocus="if(this.value=='E-Mail') this.value='';" onBlur="if(this.value=='') this.value='E-Mail';" name="email"/></br> </br> Frage_Eins:</br> <input type="text" value="Frage_Eins" onFocus="if(this.value=='Frage_Eins') this.value='';" onBlur="if(this.value=='') this.value='Frage_Eins';" name="questionone"/> </br> </br> Frage_Zwei:</br> <input type="text" value="Frage_Zwei" onFocus="if(this.value=='Frage_Zwei') this.value='';" onBlur="if(this.value=='') this.value='Frage_Zwei';" name="questiontwo"/></br> </br> Frage_Drei:</br> <input type="text" value="Frage_Drei" onFocus="if(this.value=='Frage_Drei') this.value='';" onBlur="if(this.value=='') this.value='Frage_Drei';" name="questionthree"/></br> </br> <input type="submit" name="login" value="Weiter" /> </form> </center> <?php }
?>
Edit: Mysql Query, der gemaint ist:
Quote:
|
$queryreg = mysql_query("INSERT INTO users VALUES ('','$username','$passwort','$email')");
|
|
|
|
03/18/2012, 18:25
|
#2
|
elite*gold: 1
Join Date: May 2011
Posts: 203
Received Thanks: 50
|
PHP Code:
$queryreg = mysql_query("INSERT INTO users VALUES ('','$username','$passwort','$email')");
('HIER','$username','$passwort','$email')");
Ist das die ID ?
haste die auf AI ?
|
|
|
03/18/2012, 18:27
|
#3
|
elite*gold: 0
Join Date: Jun 2010
Posts: 3,146
Received Thanks: 583
|
Ja ist die ID und ja ist AI
|
|
|
03/18/2012, 18:42
|
#4
|
elite*gold: 146
Join Date: May 2009
Posts: 3,764
Received Thanks: 6,974
|
PHP Code:
$queryreg = mysql_query("INSERT INTO users (username, password, email) VALUES ('".$username."', '".$password."', '".$email."')");
|
|
|
03/18/2012, 18:46
|
#5
|
elite*gold: 0
Join Date: Jun 2010
Posts: 3,146
Received Thanks: 583
|
Es geht wieder, danke KA warum es eine zeit geklappt hat und jeze ned
|
|
|
03/18/2012, 19:00
|
#6
|
elite*gold: 146
Join Date: May 2009
Posts: 3,764
Received Thanks: 6,974
|
Hier mal ein kleiner (ungetesteter) Verbesserungsvorschlag. Oder sagen wir... So in etwa würde ich es machen
PHP Code:
<?php function cleanUp($data) { $data = stripslashes($data); $data = strip_tags($data); return $data; }
/*******************/
if(isset($_GET)) $_GET = array_map('cleanUp', $_GET); if(isset($_POST)) $_POST = array_map('cleanUp', $_POST);
/*******************/
$step = (array_key_exists('step', $_GET) ? $_GET['step'] : 1);
if($step > 2) { die('Es ist ein Fehler Aufgetreten! Du wirst in 5 Sekunden weitergeleitet... <meta http-equiv="refresh" content="5; URL=index.php?s=regi">'); }
/*******************/
if ($step == 2) { $username = (array_key_exists('username', $_POST) ? $_POST['username'] : false); $passwort = (array_key_exists('passwort', $_POST) ? $_POST['passwort'] : false); $passwort2 = (array_key_exists('passwortrepeat', $_POST) ? $_POST['passwortrepeat'] : false); $email = (array_key_exists('email', $_POST) ? $_POST['email'] : false); $ques1 = (array_key_exists('questionone', $_POST) ? $_POST['questionone'] : false); $ques2 = (array_key_exists('questiontwo', $_POST) ? $_POST['questiontwo'] : false); $ques3 = (array_key_exists('questionthree', $_POST) ? $_POST['questionthree'] : false); $login = (array_key_exists('login', $_POST) ? $_POST['login'] : false); /*******************/ if(!$username) { echo 'Bitte gib einen Usernamen an!'; } elseif(strlen($username) <= 25) { echo 'Dein Username darf maximal 25 Zeichen lang sein!'; } elseif(!$password) { echo 'Bitte definiere ein Passwort!'; } elseif($passwort !== $passwort2) { echo 'Die angegeben Passwörter stimmen nicht überein!'; } elseif(!$email) { echo 'Bitte gib deine E-Mail Adresse an!'; } elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo 'Bitte gib eine gültige E-Mail Adresse an!'; } elseif(!$ques1 || !$ques2 || !$ques3) { echo 'Bitte fülle <b>alle</b> Felder aus!'; } elseif(!$login) { echo 'Ein unbekannter Fehler ist aufgetreten.'; } else { $passwort = md5($passwort); $passwortrepeat = md5($passwortrepeat); $userexist = mysql_query("SELECT username FROM users WHERE username='".mysql_real_escape_string($username)."'"); if($userexist === FALSE){ $queryreg = mysql_query("INSERT INTO users (username, password, email) VALUES ('".mysql_real_escape_string($username)."', '".mysql_real_escape_string($password)."', '".mysql_real_escape_string($email)."')"); echo 'Herzlich Willkommen auf MineMystery! Das gesamte Team wünscht die viel Spaß!'; } else { echo 'Der Angegebene Account existiert bereits!'; } } } else { ?> <form action="index.php?s=regi&step=2" method="post"> <center> Benutzername(Minecraft Name):</br> <input type="text" value="Benutzername" onFocus="if(this.value=='Benutzername') this.value='';" onBlur="if(this.value=='') this.value='Benutzername';" name="username"/> </br> </br> Passwort:</br> <input type="password" value="Passwort" onFocus="if(this.value=='Passwort') this.value='';" onBlur="if(this.value=='') this.value='Passwort';" name="passwort"/></br> </br> Passwort Wiederholen:</br> <input type="password" value="Passwort-Wiederholen" onFocus="if(this.value=='Passwort-Wiederholen') this.value='';" onBlur="if(this.value=='') this.value='Passwort-Wiederholen';" name="passwortrepeat"/></br> </br> E-Mail Addresse:</br> <input type="text" value="E-Mail" onFocus="if(this.value=='E-Mail') this.value='';" onBlur="if(this.value=='') this.value='E-Mail';" name="email"/></br> </br> Frage_Eins:</br> <input type="text" value="Frage_Eins" onFocus="if(this.value=='Frage_Eins') this.value='';" onBlur="if(this.value=='') this.value='Frage_Eins';" name="questionone"/> </br> </br> Frage_Zwei:</br> <input type="text" value="Frage_Zwei" onFocus="if(this.value=='Frage_Zwei') this.value='';" onBlur="if(this.value=='') this.value='Frage_Zwei';" name="questiontwo"/></br> </br> Frage_Drei:</br> <input type="text" value="Frage_Drei" onFocus="if(this.value=='Frage_Drei') this.value='';" onBlur="if(this.value=='') this.value='Frage_Drei';" name="questionthree"/></br> </br> <input type="submit" name="login" value="Weiter" /> </form> </center> <?php } ?>
|
|
|
03/18/2012, 22:19
|
#7
|
elite*gold: 0
Join Date: Jun 2010
Posts: 3,146
Received Thanks: 583
|
Öm Okay, das werde ich gleich bei gelegenheit testen...
Könnest du auch kurz mal schauen, warum das Datum in der Datenbank nicht erneuert wird
PHP Code:
<?php
session_start();
if(isset($_SESSION['username'])) {
$date = date("d.m.Y");
$username = $_SESSION['username'];
$connect = mysql_connect(ZENSIERT) or die("Verbindungs Fehler");
mysql_select_db("homepage") or die("Verbindungs Fehler");
$dateDB = mysql_query("SELECT date FROM users WHERE username='$username'");
if ($dateDB != $date){
// CODE
echo 'Heutiges datum';
$UpdateDate= mysql_query("INSERT INTO users (date) VALUES ('$date') WHERE username=$username");
//$UpdateDate= mysql_query("INSERT INTO users ".$date." WHERE username='".$username."'");
}else{
echo 'Neues Datum!';
}
}
?>
|
|
|
03/19/2012, 07:06
|
#8
|
elite*gold: 0
Join Date: Oct 2008
Posts: 319
Received Thanks: 88
|
Quote:
$dateDB enthält eine MySQL Ressource da du deine Daten nicht gefetcht hast, und
$date einen String, obwohl man in Solchen Dingen eher einen Timestamp verwendet.
Dein Query ist vollkommen Falsch, willst du nen Datensatz updaten benutzt man
PHP Code:
Update users SET date = '$date' WHERE username = '$username'
und nicht INSERT.
Quote:
|
elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
filter_var gibts erst seit PHP 5.2, viele Serverbetreiber rüsten nach Anfrage gerade mal
auf PHP 5 auf. Du solltest die Abwärtskompatabilität nicht auser Acht lassen.
Quote:
|
Originally Posted by PseudoPsycho
PHP Code:
$userexist = mysql_query("SELECT username FROM users WHERE username='".mysql_real_escape_string($username)."'"); if($userexist === FALSE){
|
Normalerweise verwendet man mysql_num_rows oder
PHP Code:
SELECT count(username) ...
Ganz nebenbei wirft dein Script sicher 15 Notice Errors aus.
|
|
|
03/19/2012, 08:14
|
#9
|
elite*gold: 146
Join Date: May 2009
Posts: 3,764
Received Thanks: 6,974
|
@Fratyr - Ich hatte noch keine Gelegenheit, es überhaupt zu testen
@.NoThx
Hier nochmal eine korrigierte Version:
PHP Code:
<?php function cleanUp($data) { $data = stripslashes($data); $data = strip_tags($data); return $data; }
/*******************/
if(isset($_GET)) $_GET = array_map('cleanUp', $_GET); if(isset($_POST)) $_POST = array_map('cleanUp', $_POST);
/*******************/
$step = (array_key_exists('step', $_GET) ? $_GET['step'] : 1);
if($step > 2) { die('Es ist ein Fehler Aufgetreten! Du wirst in 5 Sekunden weitergeleitet... <meta http-equiv="refresh" content="5; URL=index.php?s=regi">'); }
/*******************/
if ($step == 2) { $username = (array_key_exists('username', $_POST) ? $_POST['username'] : false); $passwort = (array_key_exists('passwort', $_POST) ? $_POST['passwort'] : false); $passwort2 = (array_key_exists('passwortrepeat', $_POST) ? $_POST['passwortrepeat'] : false); $email = (array_key_exists('email', $_POST) ? $_POST['email'] : false); $ques1 = (array_key_exists('questionone', $_POST) ? $_POST['questionone'] : false); $ques2 = (array_key_exists('questiontwo', $_POST) ? $_POST['questiontwo'] : false); $ques3 = (array_key_exists('questionthree', $_POST) ? $_POST['questionthree'] : false); $login = (array_key_exists('login', $_POST) ? $_POST['login'] : false); /*******************/ if(!$username) { echo 'Bitte gib einen Usernamen an!'; } elseif(strlen($username) >= 25) { echo 'Dein Username darf maximal 25 Zeichen lang sein!'; } elseif(!$passwort) { echo 'Bitte definiere ein Passwort!'; } elseif($passwort !== $passwort2) { echo 'Die angegeben Passwörter stimmen nicht überein!'; } elseif(!$email) { echo 'Bitte gib deine E-Mail Adresse an!'; } elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)) { //elseif (!preg_match('/^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}/i', $email)) { echo 'Bitte gib eine gültige E-Mail Adresse an!'; } elseif(!$ques1 || !$ques2 || !$ques3) { echo 'Bitte fülle <b>alle</b> Felder aus!'; } elseif(!$login) { echo 'Ein unbekannter Fehler ist aufgetreten.'; } else { $passwort = md5($passwort); $passwortrepeat = md5($passwort2);
$connect = mysql_connect(ZENSIERT) or die("Verbindungs Fehler"); mysql_select_db("homepage") or die("Verbindungs Fehler"); $userexist = mysql_query("SELECT username FROM users WHERE username='".mysql_real_escape_string($username)."'"); if($userexist === FALSE){ mysql_query("INSERT INTO users (username, password, email) VALUES ('".mysql_real_escape_string($username)."', '".mysql_real_escape_string($password)."', '".mysql_real_escape_string($email)."')"); echo 'Herzlich Willkommen auf MineMystery! Das gesamte Team wünscht die viel Spaß!'; } else { echo 'Der Angegebene Account existiert bereits!'; } } } else { ?> <form action="index.php?s=regi&step=2" method="post"> <center> Benutzername(Minecraft Name):</br> <input type="text" value="Benutzername" onFocus="if(this.value=='Benutzername') this.value='';" onBlur="if(this.value=='') this.value='Benutzername';" name="username"/> </br> </br> Passwort:</br> <input type="password" value="*****" onFocus="if(this.value=='*****') this.value='';" onBlur="if(this.value=='') this.value='*****';" name="passwort"/></br> </br> Passwort Wiederholen:</br> <input type="password" value="*****" onFocus="if(this.value=='*****') this.value='';" onBlur="if(this.value=='') this.value='*****';" name="passwortrepeat"/></br> </br> E-Mail Addresse:</br> <input type="text" value="E-Mail" onFocus="if(this.value=='E-Mail') this.value='';" onBlur="if(this.value=='') this.value='E-Mail';" name="email"/></br> </br> Frage_Eins:</br> <input type="text" value="Frage_Eins" onFocus="if(this.value=='Frage_Eins') this.value='';" onBlur="if(this.value=='') this.value='Frage_Eins';" name="questionone"/> </br> </br> Frage_Zwei:</br> <input type="text" value="Frage_Zwei" onFocus="if(this.value=='Frage_Zwei') this.value='';" onBlur="if(this.value=='') this.value='Frage_Zwei';" name="questiontwo"/></br> </br> Frage_Drei:</br> <input type="text" value="Frage_Drei" onFocus="if(this.value=='Frage_Drei') this.value='';" onBlur="if(this.value=='') this.value='Frage_Drei';" name="questionthree"/></br> </br> <input type="submit" name="login" value="Weiter" /> </form> </center> <?php } ?>
Solltest du PHP 5 < 5.2.0 haben, kannst du alternativ den auskommentierten Regex nutzen. Zu deinem anderen Problem... Am Einfachsten ists meistens, seine SQL-Queries mal druch phpMyAdmin laufen zu lassen
|
|
|
 |
Similar Threads
|
Registrierformular - Daten werden nicht eingetragen !
02/24/2012 - Technical Support - 2 Replies
Hallo Community,
wer meinen Script "entbuggt" bekommt 30 EliteGold !
Sobald ich auch Registrieren klicke ,wird angedeutet
das die Registrierung fehl geschlagen ist.
Obwohl er mit der Datenbank connectet hat,
die Xampp Daten lasse ich mal weg.
<?php
$wurde_abgeschickt = isset($_POST);
|
metin2-Die Datenbank des HP-Servers konnte nicht ausgewählt werden
09/02/2011 - Metin2 Private Server - 3 Replies
Die Datenbank des HP-Servers konnte nicht ausgewählt werden
steht ganzezeit da besitze ein dyndns server
ihr ein screen damit ihr sagen könnt was falsch ist
|
Szsinstall Daten werden nicht gespeichert!
03/21/2010 - Metin2 Private Server - 8 Replies
Bei mir speichert er szsinstall Daten die IP numma mit
100 am schluss nicht und 255.0.0.0 auch net aba die numma ohne
100 am schluss speichert er! Helft mir PLS :confused::confused::confused:
|
Aus Sicherheitsgründen werden diese Daten nicht vollständig angezeigt.
09/05/2007 - World of Warcraft - 5 Replies
Hallo,
habe das problem das ich einen character transferieren (zu nem anderen acc) will, und nun steht da: "Aus Sicherheitsgründen werden diese Daten nicht vollständig angezeigt." Siehe Screen:
TinyPic - Share The Experience!™
Ich weiß zwar was da vorher stand, also da wo der nachnahme und email stehen sollten, sind nur noch sternchen Oo
nun wollt ich halt mal wissen ob nen char transfer möglich ist...
und wenn wie? einfach nen neuen acc erstellen, mit dem vorherigen namen(also der...
|
Daten für Patch können nicht angewendet werden!
04/04/2007 - World of Warcraft - 4 Replies
Heute kahm ein neuer Patch.
Er ladet im WOW Screen auf seinen 100% und verlangt ein neu Starten.
Geht dann aber wieder in den Login Screen und bringt ein Window
*Daten für Patch können nicht angewendet werden .....*
Manuell kann ich den Patch nicht installieren da er mir dirt imemr sagt die Client version sei 1.12xxxx
???
Kennt jemand dieses Problem und wie man es repariert?
|
All times are GMT +1. The time now is 13:19.
|
|