1. #1
    Avatar von Snees
    Registriert seit
    18.11.2011
    Beiträge
    1.001
    Thanked 590 Times in 319 Posts

    Standard Reg-Formular + Bootstrap Design

    Nabend, ich wollte mich mal einem Bootstrap-Design versuchen und habe dafür ein Reg-Formular geschrieben, eventuell kann jemand etwas damit anfangen oder hat Verbesserungsvorschläge



    users.sql:
    Code:
    CREATE TABLE IF NOT EXISTS `users` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `username` varchar(20) NOT NULL,
      `password` varchar(50) NOT NULL,
      `email` varchar(100) NOT NULL,
      `birthday` varchar(10) NOT NULL,
      `first_name` varchar(50) NOT NULL,
      `last_name` varchar(50) NOT NULL,
      `ip` varchar(20) NOT NULL,
      PRIMARY KEY (`id`),
      UNIQUE KEY `username` (`username`,`email`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


    PHP-Code:
    <?php
    /* MySQLi
    $db = @new mysqli( 'localhost', 'root', '', 'beispiel');
    if (mysqli_connect_errno() == 0){}else{
    echo 'Die Datenbank konnte nicht erreicht werden. Folgender Fehler trat auf:' .mysqli_connect_errno(). ' : ' .mysqli_connect_error(). '</span>';}
    */
    error_reporting(0);
    $con mysql_connect('localhost','root','') or die('Verbindung konnte nicht hergestellt werden.');
    mysql_select_db('beispiel') or die('Datenbank existiert nicht.');
    ?>
    <!DOCTYPE html>
    <html>
    <head>
        <title>myProject - Registrieren </title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="bootstrap.min.css">
        <style>
        body { padding-top:60px; }
        </style>
    </head>
    <body>

        <div class="navbar navbar-fixed-top navbar-inverse">
            <div class="navbar-inner">
                <div class="container">
                    <a class="brand" href="#">myProject</a>
                    <ul class="nav">
                        <li><a href="#">Startseite</a></li>
                        <li><a href="#">Login</a></li>
                        <li><a href="#">Hilfe</a></li>
                    </ul>
                </div>
            </div>
        </div>
        
        <div class="container">
            <div class="row">
                <div class="span12">
                    <ul class="breadcrumb">
                        <li><a href="#">Startseite</a><span class="divider">/</span></li>
                        <li class="active">Registrieren</li>
                    </ul>
                </div>
            </div>
            
            <div class="row">
                <div class="span5">
                    <h3> myProject - Registrieren </h3>
                    <div class="well">
                        <p>Hier können Sie sich f&uuml;r myProject registrieren.</p>
                        <form action="#" method="post">
                        <table border=0>
                            <tr>
                                <td>Benutzername:</td>
                                <td><img src="img/user.png" /> <input type="text" name="username" placeholder="Benutzername" /></td>
                            </tr>
                            <tr>
                                <td>Passwort:</td>
                                <td><img src="img/pass.png" /> <input type="password" name="password" placeholder="Passwort" /></td>
                            </tr>
                            <tr>
                                <td>Wiederholen:</td>
                                <td><img src="img/pass.png" /> <input type="password" name="password_re" placeholder="Passwort" /></td>
                            </tr>
                            <tr>
                                <td>EMail-Adresse:</td>
                                <td><img src="img/mail.png" /> <input type="text" name="email" placeholder="EMail-Adresse" /></td>
                            </tr>
                            <tr>
                                <td>Geburtsdatum:</td>
                                <td><img src="img/date.png" /> <input type="text" name="birthday" placeholder="DD.MM.YYYY" /></td>
                            </tr>
                            <tr>
                                <td>Vorname:</td>
                                <td><img src="img/pen.png" /> <input type="text" name="first_name" placeholder="Vorname" /></td>
                            </tr>
                            <tr>
                                <td>Nachname:</td>
                                <td><img src="img/pen.png" /> <input type="text" name="last_name" placeholder="Nachname" /></td>
                            </tr>
                            <tr>
                                <td colspan="2"><input type="submit" name="submit" value="Registrieren." class="btn btn-primary" style="width:100%;" /></td>
                            </tr>
                        </table>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </body>
    </html>
    <?php
    if($_POST["submit"])
    {
    foreach(
    $_POST as $key => $val){$info[$key] = array($key,htmlspecialchars(htmlentities(trim(mysql_real_escape_string($val)))));}
    $username $info['username'][1];
    $password $info['password'][1];
    $password_re $info['password_re'][1];
    $email $info['email'][1];
    $birthday $info['birthday'][1];
    $first_name $info['first_name'][1];
    $last_name $info['last_name'][1];
    $ip $_SERVER["REMOTE_ADDR"];
    $errors = array();
    if(!
    preg_match('/^[a-zA-Z0-9_]{4,20}/'$username))
        {
            
    $errors[] = 'Benutzername ist falsch.';
        }
    if(
    $password!=$password_re)
        {
            
    $errors[] = 'Passwörter stimmen nicht &uuml;berein.';
        }
    if(
    strlen($password<8) &&strlen($password_re<8))
        {
            
    $errors[] = 'Das Passwort muss aus mind. 8 Zeichen bestehen.';
        }
    if(!
    preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/'$email))
        {
            
    $errors[] = 'Keine g&uuml;ltige EMail-Adresse.';
        }
    if(
    preg_match('/([0-9]{2}).([0-9]{2}).([0-9]{4})/'$birthday$matches))
        {
            if(
    checkdate($matches[2], $matches[1], $matches[3])) 
                {
                    
                }
            else
                {
                    
    $errors 'Kein g&uuml;ltiges Geburtsdatum.';
                }
        }
    else
        {
            
    $errors[] = 'Kein g&uuml;ltiges Geburtsdatum.';
        }
    if(!
    preg_match('/^[a-zA-Z]{1,50}/',$first_name))
        {
            
    $errors[] = 'Kein g&uuml;ltiger Vorname.';
        }
    if(!
    preg_match('/^[a-zA-Z]{1,50}/',$first_name))
        {
            
    $errors[] = 'Kein g&uuml;ltiger Nachname.';
        }
    if(empty(
    $errors[0]))
        {
            
    $pass md5($password);
            
    $query mysql_query("INSERT INTO users (username, password, email, birthday, first_name, last_name, ip) VALUES ('$username','$pass','$email','$birthday','$first_name','$last_name','1.3.3.7');");
            if(
    $query)
                {
                    echo 
    'Der neue Eintrage wurde hinzugef&uuml;gt.';
                }
            else
                {
                    echo 
    'Der Eintrag konnte nicht hinzugef&uuml;gt werden.<br>' mysql_error();
                }
            
    /* MySQLi
            $sql = 'INSERT INTO `users` (`username`, `password`, `email`, `birthday`, `first_name`, `last_name`, `ip`) VALUES (?, ?, ?, ?, ?, ?, ?)';
            $eintrag = $db->prepare($sql);
            $eintrag->bind_param('sssssss', $username, $pass, $email, $birthday, $first_name, $last_name, $ip);
            $eintrag->execute();
            if ($eintrag->affected_rows==1)
            {
                echo 'Der neue Eintrage wurde hinzugef&uuml;gt.';
            }
            else
            {
                echo 'Der Eintrag konnte nicht hinzugef&uuml;gt werden.';
            }
            $db->close();
            */
        
    }
    else 
        {
        foreach(
    $errors as $error)
            {
                echo 
    'Fehler: ' $error '<br />';
            }
        }    
    }
    ?>

  2. #2

    Registriert seit
    18.11.2011
    Beiträge
    226
    Thanked 165 Times in 82 Posts

    Standard AW: Reg-Formular + Bootstrap Design

    Unsauberer hättest du es nicht hin bekommen, wie kann man solch einen Code nur freiwillig sharen?

  3. #3
    Avatar von Snees
    Registriert seit
    18.11.2011
    Beiträge
    1.001
    Thanked 590 Times in 319 Posts

    Standard AW: Reg-Formular + Bootstrap Design

    Zitat Zitat von 3lit Beitrag anzeigen
    Unsauberer hättest du es nicht hin bekommen, wie kann man solch einen Code nur freiwillig sharen?
    Ging mir dabei um das Design?
    Code ist nur so hingeklatscht

  4. #4
    Avatar von Devon
    Registriert seit
    18.11.2011
    Beiträge
    2.188
    Thanked 1.574 Times in 1.023 Posts

    Standard AW: Reg-Formular + Bootstrap Design

    Die ganzen Images hättest du noch weiter nach rechts einrücken können. Sieht so ehrlich gesagt scheiße aus. Ansonsten erfüllt es ja seinen Zweck, über den unsauberen Code lässt sich streiten.

  5. #5

    Registriert seit
    15.01.2012
    Beiträge
    7
    Thanked 3 Times in 2 Posts

    Standard AW: Reg-Formular + Bootstrap Design

    PHP-Code:
    array($key,htmlspecialchars(htmlentities(trim(mysql_real_escape_string 
    Unsauberer gehts nimmer
    Und komisch das es den Code bereits so wie oben einmal im Netz gibt und oh Wunder! bei U-Hacks!!!!!!!!

    http://u-hacks.net/php-98/php-quizscript-12751/

    Auch noch ohne Credits

    Copy & Paste King is back

    Nice Work Nico

  6. The Following 2 Users Say Thank You to Straßenapotheker For This Useful Post:

    3lit (14.09.2012), Sky.NET (14.09.2012)

  7. #6
    Avatar von Snees
    Registriert seit
    18.11.2011
    Beiträge
    1.001
    Thanked 590 Times in 319 Posts

    Standard AW: Reg-Formular + Bootstrap Design

    Oh ja, C&P, ein MySQL-Insert ist ja nicht immer gleich und vor allem kopiere ich diesen Code mit Sicherheit nicht von Moritz

  8. #7
    Avatar von Comu
    Registriert seit
    18.11.2011
    Beiträge
    772
    Thanked 753 Times in 363 Posts

    Standard AW: Reg-Formular + Bootstrap Design

    Zitat Zitat von Straßenapotheker Beitrag anzeigen
    PHP-Code:
    array($key,htmlspecialchars(htmlentities(trim(mysql_real_escape_string 
    Unsauberer gehts nimmer
    Und komisch das es den Code bereits so wie oben einmal im Netz gibt und oh Wunder! bei U-Hacks!!!!!!!!

    http://u-hacks.net/php-98/php-quizscript-12751/

    Auch noch ohne Credits

    Copy & Paste King is back

    Nice Work Nico
    Da spricht aber der Profi. Anscheinend hat dort ja einer viel Ahnung, denn es kommt ja auch so selten vor das Funktionen zum Escapen in Verbindung mit einem SQL Insert genutzt werden, nicht?

    Ich mein, er ist eventuell selbst nicht der beste, ich glaube keiner von uns kann hier behaupten das er der PHP Programmierer schlecht hin ist - besonders weil keiner hier eine dementsprechende Ausbildung hat (ausgenommen von Sky).

    Von daher haltet euch doch einfach mal zurück. Wenns unsauber ist, dann korrigier ihn doch lieber. Auf Fehler hinweisen schön und gut, wenn er aber ein Script für alle zur Verfügung steht - was jedoch sicher ist, auch wenns unsauber gemacht ist - dann Verbessere es doch lieber anstatt dich darüber aufzuregen.

    Wo du nun dein C&P her nimmst ist mir ein Rätsel, aber gut, werde ich in Zukunft auch bei sämtlichen Leuten anmerken die "private" vor ihre Klassen schreiben. Könnte ja irgendwo anders kopiert sein.

    Bevor du nun mit deinen Verschwörungstheorien ankommst: Ich habe beiden geraten Ihre strings zu escapen - klar das man da bei Scripten welche man Public stellt alle verfügbaren Mittel nutzt um das sicher zu machen und sich durchaus mal etwas überschneiden kann. Schön das sich User die von den Hintergründen 0 Ahnung haben hier zu Wort melden.
    Geändert von Comu (15.09.2012 um 09:06 Uhr)

  9. The Following 3 Users Say Thank You to Comu For This Useful Post:

    Gangstersheep (15.09.2012), iToxic (15.09.2012), Snees (15.09.2012)

  10. #8

    Registriert seit
    27.10.2011
    Beiträge
    402
    Thanked 288 Times in 165 Posts

    Standard AW: Reg-Formular + Bootstrap Design

    Ab jetzt bitte nur noch etwas konstruktives Posten - danke. Er verwendet diesen Codeteil schon öfter und nur weil er zufälligerweise das selbe hat wie rvs14 (ich weiß da nun nicht ob Nico ihm diesen Teil auch gegeben hat) heisst es nicht er betreibt C&P - vorallem da so etwas (meistens auch in anderen Weisen) gängig ist zum Schutz vor SQL-injections.

  11. The Following User Says Thank You to Nachto For This Useful Post:

    Snees (15.09.2012)

Ähnliche Themen

  1. Mitgliedsantrag Formular !
    Von BVB im Forum RealLife
    Antworten: 1
    Letzter Beitrag: 25.11.2013, 21:40
  2. Bootstrap 3 RC1 ist da!
    Von Devon im Forum Webentwicklung
    Antworten: 5
    Letzter Beitrag: 03.08.2013, 17:48
  3. Antworten: 6
    Letzter Beitrag: 14.01.2013, 19:12
  4. [CSS] Eigenes Design mit Bootstrap
    Von Comu im Forum Tutorials
    Antworten: 3
    Letzter Beitrag: 14.09.2012, 19:45
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.