kostenloser Webspace werbefrei: lima-city


mysql abfrage

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    tshaika

    tshaika hat kostenlosen Webspace.

    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>&nbsp;</td>
                <td>&nbsp;</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 &amp; 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&auml;hlen</option>
    	<option value="&#196;gypten">&#196;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>&nbsp;</td>
                <td>&nbsp;</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&#228;tige,das meine Angabe <a href="richtig.php"> Vollst&#228;ndig und richtig</a><br />&nbsp;&nbsp;sind und Verarbeitung meiner Daten gemäß der Datenschutzerklärung ein.<br /></td>
    		</tr>
              <td>&nbsp;</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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. g****e

    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
  4. Autor dieses Themas

    tshaika

    tshaika hat kostenlosen Webspace.

    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
  5. 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?
  6. Solange du immer beim anlegen eines neuen Benutzers alle bereits registrierte löschst:
    // Zuerst alle Datensätze löschen um keine Dopplungen zu bekommen.  
    mysql_query ("DELETE FROM benutzerdaten");
    wirst du nie mehr als einen regristrierten Beutzer haben.
  7. ##### 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.!
  8. 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
  9. Autor dieses Themas

    tshaika

    tshaika hat kostenlosen Webspace.

    kill-a-teddy
    kill-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?
    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

    Beitrag zuletzt geändert: 2.11.2012 14:42:11 von tshaika
  10. 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...
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!