mysql abfrage
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anlegen
anweisung
array
bekommen
benutzer
benutzerdaten
buchstabe
code
datenbank
datum
eintragen
erstellen
funktion
kennwort
nachname
postleitzahl
url
verbindung
vorname
wohnort
-
kann mir jemand helfen ich komme nicht voran
ich Register Tabelle enstellt Verbindung mit Datenbank erstellt aber ich weis nicht wie abfrage stellt mi fehle Meldung?
1Pflichtfelder Ausfüllen 2 kein Doppel Benutzer 3Benutzer soll nicht weniger als 4 'Buchstaben und Password soll nicht weniger als 6 Buchstaben oder Ziffern Sonderzeichen verboten
html <form method="post" name="regist"> <table border="0" cellpadding="2" cellspacing="1" id="regist"> <tr> <td colspan="2"><span style="color: #FF0000;" size=3>User Daten</span></td> </tr> <tr> <td id="stable">*Nickname</td> <td><input class="regist" name="nickname" type="text"></td> </tr> <tr> <td id="stable">*E-Mail</td> <td><input class="regist" name="email" type="text"></td> </tr> <tr> <td id="stable">*Passwort</td> <td><input class="regist" name="pw" type="password"></td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td colspan="2"><span style="color: #FF0000;">Personlicher Daten</span></td> </tr> <tr> <td id="stable">*Geschlecht</td> <td> <input type="radio" name="geschlecht" value="Männlich"> Männlich <input type="radio" name="geschlecht" value="Weiblich"> Weiblich<br> </td> </tr> <tr> <td id="stable">*Vorname</td> <td><input class="regist" name="vorname" type="text"></td> </tr> <tr> <td id="stable">*Nachname</td> <td><input class="regist" name="nachname" type="text"></td> </tr> <tr> <td id="stable">*Geburtsdatum</td> <td> <?php //für Tag echo "\n<select name=\"d\">\n"; for($i=1;$i<=31;$i++) { echo "\t<option value=\"". $i ."\">". $i ."</option>\n"; } echo "</select>\n"; //für Monat echo "\n<select name=\"m\">\n"; for($i=1;$i<=12;$i++) { echo "\t<option value=\"". $i ."\">". $i ."</option>\n"; } echo "</select>\n"; //für Jahr echo "\n<select name=\"y\">\n"; for($i=1920;$i<=2006;$i++) { echo "\t<option value=\"". $i ."\">". $i ."</option>\n"; } echo "</select>\n"; $Monate = array(0 => "Januar", 1 => "Februar", 2 => "März", 3 => "April", 4 => "Mai", 5 => "Juni", 6 => "Juli", 7 => "August", 8 => "September", 9 => "Oktober", 10 => "November", 11 => "Dezember"); ?> </td> </tr> <tr> <td id="stable">*Strasse & Hausnummer</td> <td><input class="regist" name="str_hau" type="text"></td> </tr> <tr> <td id="stable">*Postleitzahl</td> <td><input class="regist" name="postleitzahl" type="text"></td> </tr> <tr> <td id="stable">*Wohnort</td> <td><input class="regist" name="wohnort" type="text"></td> </tr> <tr> <td id="stable">*Land</td> <td> <select class="regist_select" name="land"> <option value="Account Details"selected =>bitte wählen</option> <option value="Ägypten">Ägypten</option> usw....... <option value="Zypern">Zypern</option> </select> </td> </tr> <td colspan="2"><span style="color: #FF0000;">Freiwillige angabe!</span></td> <tr> <td id="stable">ICQ</td> <td><input class="regist" name="icq" type="text"></td> </tr> <tr> <td id="stable">MSN</td> <td><input class="regist" name="msn" type="text"></td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td><font>*Missbrauchsschutz</font> <?php echo file_get_contents("*************/image.php?ref=".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."&rem=".$_SERVER['REMOTE_ADDR'].""); ?></td> </tr> <br /> <tr> <td><font>* pflichtfelder</font></td> </tr> <tr> <td><input type="checkbox" name="check" value="agb" />*Ich habe die <a href="agb.php">AGBs</a>gelesen, und aktzeptiere diese.</td> </tr> <tr> <td><input type="checkbox" name="check" value="angabe" />*Ich Bestätige,das meine Angabe <a href="richtig.php"> Vollständig und richtig</a><br /> sind und Verarbeitung meiner Daten gemäß der Datenschutzerklärung ein.<br /></td> </tr> <td> </td> <tr> <td><input class="regist_buttom2" name="registrieren" type="submit" value="Registrieren"></td> </tr> </table> </form> </td>
Danke
edit by hackyourlife: quote durch code ersetzt
Beitrag zuletzt geändert: 31.10.2012 20:16:49 von hackyourlife -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
tshaika schrieb:
kann mir jemand helfen ich komme nicht voran
ich Register Tabelle enstellt Verbindung mit Datenbank erstellt aber ich weis nicht wie abfrage stellt mi fehle Meldung?
1Pflichtfelder Ausfüllen 2 kein Doppel Benutzer 3Benutzer soll nicht weniger als 4 'Buchstaben und Password soll nicht weniger als 6 Buchstaben oder Ziffern Sonderzeichen verboten
Es wäre schön, wenn du deutsch schreibst, das ist ja eine Katastrphope....
Dafür brauchst du keine Datenbank, was du vor hast, du musst eher abfragen "ist das Feld leer" mittels empty(), die Länge eines Strings kannst du mittels strlen auswerten, und so prüfen, ob es lang genug ist. Und du kannst abfragen, ob der Name bereits existiert mittels Query.
Wäre schön, wenn du auf deutsch nochmal genauer schreibst, was du willst, und wo dein Problem ist.
Liebe Grüße -
ich Brauche für meine Seite für Registrierung mit SQL datenbank
und ich komme damit klar
ich bin jetz nur so weit gekommen
<?php // Aufbau der Datenbankverbindung $connectionid = mysql_connect ("*********", "************", "********"); if (!mysql_select_db ("********", $connectionid)) { die ("Keine Verbindung zur Datenbank"); } // Zuerst alle Datensätze löschen um keine Dopplungen zu bekommen. mysql_query ("DELETE FROM benutzerdaten"); // Daten eintragen while (list ($key, $value) = each ($benutzer)) { // SQL-Anweisung erstellen $sql = "INSERT INTO ". "benutzerdaten (Nickname, Kennwort, Nachname, Vorname) ". "VALUES ('".$value["Nickname"]."', '". md5 ($value["Kennwort"])."', '". $value["Nachname"]."', '". $value["Vorname"]."')"; mysql_query ($sql); if (mysql_affected_rows ($connectionid) > 0) { echo "Benutzer erfolgreich angelegt.<br>\n"; } else { echo "Fehler beim Anlegen der Benutzer.<br>\n"; } } ?>
edit by hackyourlife: mysql_connect vollständig zensiert
Beitrag zuletzt geändert: 31.10.2012 20:25:57 von hackyourlife -
tshaika schrieb:
ich Brauche für meine Seite für Registrierung mit SQL datenbank
und ich komme damit klar
ich bin jetz nur so weit gekommen
<?php // Aufbau der Datenbankverbindung $connectionid = mysql_connect ("*********", "************", "********"); if (!mysql_select_db ("********", $connectionid)) { die ("Keine Verbindung zur Datenbank"); } // Zuerst alle Datensätze löschen um keine Dopplungen zu bekommen. mysql_query ("DELETE FROM benutzerdaten"); // Daten eintragen while (list ($key, $value) = each ($benutzer)) { // SQL-Anweisung erstellen $sql = "INSERT INTO ". "benutzerdaten (Nickname, Kennwort, Nachname, Vorname) ". "VALUES ('".$value["Nickname"]."', '". md5 ($value["Kennwort"])."', '". $value["Nachname"]."', '". $value["Vorname"]."')"; mysql_query ($sql); if (mysql_affected_rows ($connectionid) > 0) { echo "Benutzer erfolgreich angelegt.<br>\n"; } else { echo "Fehler beim Anlegen der Benutzer.<br>\n"; } } ?>
edit by hackyourlife: mysql_connect vollständig zensiert
Dein Code ist total der Wirr warr ^^ Willst du lieber Tipps haben, oder dass jemand dir das fertig macht? -
Solange du immer beim anlegen eines neuen Benutzers alle bereits registrierte löschst:
wirst du nie mehr als einen regristrierten Beutzer haben.// Zuerst alle Datensätze löschen um keine Dopplungen zu bekommen. mysql_query ("DELETE FROM benutzerdaten");
-
##### UNGETESTET #####
<?php /** * host, user, passwort, datenbank * Erkanntes Problem: IF Abfrage (Wenn mysql_select_db geht nicht, stirb) * ELSE nachgetragen */ $connectionid = mysql_connect ("*********", "************", "********"); if (!mysql_select_db ("********", $connectionid)) { die ("Keine Verbindung zur Datenbank"); } else{ /** Zuerst alle Datensätze löschen um keine Dopplungen zu bekommen. * * WTF Warum ALLE Datensätze löschen???? * Lieber Verbindung aufbauen, nach Datensatz suchen und denn ggf. ersetzen! * * Die nachfolgenden Funktionen sind für eine saubere SQL, außerdem holen sie dir auch gleich die Daten raus * Am besten nicht mal mit der Maus rüber gehen.! * */ function query($query) { $db =& self::$instance; $query = trim($query); $query = str_ireplace("\t"," ",$query); $querytype = substr( $query, 0, strpos( $query, ' ')); $querytype = strtoupper( $querytype ); switch($querytype) { case 'SELECT': case 'EXPLAIN': case 'DESCRIBE': case 'SHOW': $result = $db->query($query); $return = $result; break; case 'INSERT': $db->query($query); $return = $db->insert_id; break; default: $db->query($query); $return = $db->affected_rows; break; } if ( $db->errno !== 0 ) { self::$last_error = $db->error; self::$last_error_num = $db->errno; echo '<pre>'; throw new myException(self::$last_error); } return $return; } function getList(mysqli_result $result) { $data = array(); while(is_array($line = $result->fetch_assoc())) { $data[] = $line; } return $data; } function getObjectList(mysqli_result $result) { $data = getList($result); $data = array2object($data); return $data; } function array2Object(array $array) { $object = null; foreach($array as $key => $value) { if(is_array($value)) { $object->$key = array2Object($value); } else { $object->$key = $value; } } return $object; } // Ende der Funktionen if(!isset($data)){ $sql = " SELECT * FROM `tabellenname` WHERE `Nachname` = '". $_POST["nachname"] ."' OR `Vorname` = '". $_POST["vorname"] ."' "; $result = query($sql); $data = getObjectList($result); return $data; } if(empty($data)){ // Daten eintragen // SQL-Anweisung erstellen $sql = " INSERT INTO `tabellenname` SET `Nickname` = '" . mysql_real_escape_string($value["Nickname"]) . "', `Kennwort` = '" . mysql_real_escape_string(md5($value["Kennwort"]),'needle') . "', `Nachname` = '" . mysql_real_escape_string($value["Nachname"]) . "', `Vorname` = '" . mysql_real_escape_string($value["Vorname"]) . "' "; $result = query($sql); //Hier ist wieder die Funktion von oben benutzt... if ($result) { echo "Benutzer erfolgreich angelegt.<br>\n"; } else { echo "Fehler beim Anlegen der Benutzer.<br>\n"; } } } ?>
Hier nochmal ein paar Sachen, die du dir anschauen solltest:
$_POST Methode
mysql_real_escape_string
md5
WHILE Schleife
PS: Suche im Code nach "Tabellenname" und ersetze das, durch den tatsächlichen Namen deiner Mysql Tabelle.! -
1. Pflichtfelder ausfüllen
Das überprüfst du in PHP über die entsprechenden Felder mit der Funktion empty(). Ist diese 1 (true) ist das Feld leer. Ist diese 0 (false) ist das Feld gefüllt.
2. Kein doppelter Benutzer
Nimm die Spalte die den Usernamen enthält in der Datenbank als Primary Key oder Unique. Dann kümmert sich die Datenbank automatisch darum, dass du keine doppelten Benutzer hast. Applikationsseitig kannst du das prüfen, indem du eine entsprechende Anfrage stellst und entweder mit der PHP-Funktion mysql_num_rows oder mit dem mysql-eigenen COUNT-Befehl überprüfst. Wenn jedoch Primary Key oder Unique in der Datenbank gesetzt sind bringt die applikationsseitige Überprüfung nur noch eine zusätzliche Sicherheit..
3. Benutzer soll nicht weniger als 4 Buchstaben und Passwort nicht weniger als 6 Buchstaben oder Ziffern enthalten(Sonderzeichen verboten)
Sonderzeichen im Passwort verbieten ist eine ganz dumme Idee, deswegen werde ich dazu keine Hilfestellung bieten. Passwörter bitte nur gehasht (Minimum SHA-2 + Salt) speichern. MD5 ist übrigens immer noch gängig, bietet aber dank umfangreicher Rainbow Tablesnur noch die Sicherheit einer symmetrischen Verschlüsselung (etwas überspitzt).
Die Länge einer Eingabe kannst du mit strlen() über dem entsprechenden Feld abfragen.
Beitrag zuletzt geändert: 1.11.2012 13:34:53 von mlrecords -
kill-a-teddy
kill-a-teddykill-a-teddy schrieb:
tshaika schrieb:
ich Brauche für meine Seite für Registrierung mit SQL datenbank
und ich komme damit klar
ich bin jetz nur so weit gekommen
<?php // Aufbau der Datenbankverbindung $connectionid = mysql_connect ("*********", "************", "********"); if (!mysql_select_db ("********", $connectionid)) { die ("Keine Verbindung zur Datenbank"); } // Zuerst alle Datensätze löschen um keine Dopplungen zu bekommen. mysql_query ("DELETE FROM benutzerdaten"); // Daten eintragen while (list ($key, $value) = each ($benutzer)) { // SQL-Anweisung erstellen $sql = "INSERT INTO ". "benutzerdaten (Nickname, Kennwort, Nachname, Vorname) ". "VALUES ('".$value["Nickname"]."', '". md5 ($value["Kennwort"])."', '". $value["Nachname"]."', '". $value["Vorname"]."')"; mysql_query ($sql); if (mysql_affected_rows ($connectionid) > 0) { echo "Benutzer erfolgreich angelegt.<br>\n"; } else { echo "Fehler beim Anlegen der Benutzer.<br>\n"; } } ?>
edit by hackyourlife: mysql_connect vollständig zensiert
Dein Code ist total der Wirr warr ^^ Willst du lieber Tipps haben, oder dass jemand dir das fertig macht?
abschreiben kann jeder kannst du mir liebe Stuck für Stuck erklaren
ich habe jetzt so
if(empty($data)){ // Daten eintragen // SQL-Anweisung erstellen $sql = " INSERT INTO `tabellenname` SET `Nickname` = '" . mysql_real_escape_string($value["nickname"]) . "', `Kennwort` = '" . mysql_real_escape_string(md5($value["pw"]),'needle') . "', `Nachname` = '" . mysql_real_escape_string($value["nachname"]) . "', `Vorname` = '" . mysql_real_escape_string($value["vorname"]) . "' `E-Mail` = '" . mysql_real_escape_string($value["email"]) . "' Straße = '" . mysql_real_escape_string($value["str_hau"]) . "' Postleitzahl = '" . mysql_real_escape_string($value["postleitzahl"]) . "' Wohnort = '" . mysql_real_escape_string($value["wohnort"]) . "' ICQ = '" . mysql_real_escape_string($value["icq"]) . "' MNS= '" . mysql_real_escape_string($value["mns"]) . "'
Jetzt eine Frage?
wie kriege ich Land und Geburtstag Geschlecht hinein das ist ein box
2 was ist nochmal mit diese teil muss man noch was ausfüllen
DANKE
Beitrag zuletzt geändert: 2.11.2012 14:42:11 von tshaika -
tshaika schrieb:
kill-a-teddy
abschreiben kann jeder kannst du mir liebe Stuck für Stuck erklaren
ich habe jetzt so
if(empty($data)){ // Daten eintragen // SQL-Anweisung erstellen $sql = " INSERT INTO `tabellenname` SET `Nickname` = '" . mysql_real_escape_string($value["nickname"]) . "', `Kennwort` = '" . mysql_real_escape_string(md5($value["pw"]),'needle') . "', `Nachname` = '" . mysql_real_escape_string($value["nachname"]) . "', `Vorname` = '" . mysql_real_escape_string($value["vorname"]) . "' `E-Mail` = '" . mysql_real_escape_string($value["email"]) . "' Straße = '" . mysql_real_escape_string($value["str_hau"]) . "' Postleitzahl = '" . mysql_real_escape_string($value["postleitzahl"]) . "' Wohnort = '" . mysql_real_escape_string($value["wohnort"]) . "' ICQ = '" . mysql_real_escape_string($value["icq"]) . "' MNS= '" . mysql_real_escape_string($value["mns"]) . "'
Jetzt eine Frage?
wie kriege ich Land und Geburtstag Geschlecht hinein das ist ein box
2 was ist nochmal mit diese teil muss man noch was ausfüllen
DANKE
Die Erklärung stand anbei mittels Kommentaren... Ich hab dir alles "vorgekaut" und du machst wieder so ein wirr warr drauß..
Also wenn du Daten aus einer <input> box holen möchtest, dann machst du das mit $_REQUEST, $_GET, oder $_POST ich empfehle die Post methode, da du damit die Url verstecken kannst... Ließ dir die Funktionen im php Handbuch einmal durch... Außerdem schaust du dir bitte nochmal den SQL Befehl "Insert" an.
if(empty($data)){ // Daten eintragen // SQL-Anweisung erstellen $sql = " INSERT INTO `tabellenname` //HIER DEN NAMEN DEINER TABELLE EINTRAGEN SET `Nickname` = '" . mysql_real_escape_string($value["nickname"]) . "', `Kennwort` = '" . mysql_real_escape_string(md5($value["pw"]),'needle') . "', `Nachname` = '" . mysql_real_escape_string($value["nachname"]) . "', `Vorname` = '" . mysql_real_escape_string($value["vorname"]) . "' `E-Mail` = '" . mysql_real_escape_string($value["email"]) . "' `Straße` = '" . mysql_real_escape_string($value["str_hau"]) . "' `Postleitzahl` = '" . mysql_real_escape_string($value["postleitzahl"]) . "' `Wohnort` = '" . mysql_real_escape_string($value["wohnort"]) . "' `ICQ` = '" . mysql_real_escape_string($value["icq"]) . "' `MSN` = '" . mysql_real_escape_string($value["msn"]) . "'
Am besten schaust du dir alle Links nochmal an, die ich dir geschickt habe... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage