Ankündigung

Einklappen
Keine Ankündigung bisher.

Registration funzt net [verzweiflung]...

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Registration funzt net [verzweiflung]...

    Hi,
    ich bin noch änfänger was php angeht über jedoc schon eine weile und wollte jetzt ma ein formular machen um von einer website einträge der datenbank hinzuzufügen, das formular macht soweit ich es kontrolieren kann was es soll aber es sind dann keine neuen einträge in der tabelle meiner daten bank aufzufinden
    die tabelle ind der datenbank heist creativer weise: ''
    Hier der code:

    die datei register.php:
    Code:
    <?php
        require_once('connectDB.php');
        //wenn submit geklickt wird
        if(isset($_POST['submit'])){
            $name1 = $_POST['firstname'];
            $name2 = $_POST['name'];
            $sex = $_POST['sex'];
            $class = $_POST['class'];
            $birth = $_POST['birth'];
            $sport1 = $_POST['sporta'];
            $sport2 = $_POST['sportb'];
                //überprüfung ob alle felder ausgewählt sind
                if($name1 != '' && $name2 != '' && $sex != '' && $class != '' && $birth != '' && $sport1 != '' && $sport2 != ''){
                    //formprüfung des Geschlechts
                    if($sex == 'maennl.' || $sex == 'weibl.'){
                        //prüfung sportart 1
                        if($sport1 == 'Leichtathletik' || $sport1 == 'Fussball' || $sport1 == 'Volleyball' || $sport1 == 'Handball' || $sport1 == 'JTO'){
                            //prüfung sportart 2
                            if($sport2 == 'Leichtathletik' || $sport2 == 'Fussball' || $sport2 == 'Volleyball' || $sport2 == 'Handball' || $sport2 == 'JTO' || $sport2 == 'keine' || $sport2 == '---' || $sport2 ==''){
                                //sichergehen das sport 1 und 2 ungleich sind
                                if($sport1 != $sport2){
                                    //prüfung zeilenlänge
                                    if(strlen($name1 < 50 && $name2 < 50 && $class < 50 && $birth < 50)){
                                        $query = mysqli_query("SELECT * FROM db WHERE Nachname='$name2'");     //prüfung ob name bereits vorhanden
                                        $count = mysqli_num_rows($query);          //prüfung ob name bereits vorhanden
                                        //prüfung ob name bereits vorhanden
                                        if($count == 0){
                                            $queryinsert = mysqli_query("INSERT INTO db VALUES('', '$name1', '$name2', '$sex', '$class', '$birth', '$sport1', '$sport2')");
                                            echo '<p id="meldungpositiv">Der Eintrag wurde erstellt!</p><br />';
                                        }
                                        //fehlermeldung wenn name bereits vorhanden
                                        else{
                                            echo '<p id="meldung">Der Name ist bereits vorhanden.</p><br />';
                                        }
                                    }
                                    //fehlermeldung zeilenlänge
                                    else{
                                        echo '<p id="meldung">Achtung die Zeichenl&auml;nge darf maximal bei 50 Zeichen liegen.</p><br />';
                                    }
                                }
                                //fehlermeldung sport 1 und 2 sind identisch
                                else{
                                    echo '<p id="meldung">Sportart 1 und 2 sind identisch!</p><br />';
                                }
                            }
                            //fehlermeldung sport 2
                            else{
                                echo '<p id="meldung">Sportart 2 Fehlerhaft! Bitte Formhinweis beachten</p><br />';
                            }
                        }
                        //fehlermeldung sport1
                        else{
                            echo '<p id="meldung">Sportart 1 Fehlerhaft! Bitte Formhinweis beachten</p><br />';
                        }
                    }
                    //fehlermeldung bei falschem geschlecht
                    else{
                        echo '<p id="meldung">Falsches Geschlecht angegeben. Formhinweis beachten!</p><br />';
                    }
                }
                // fehlermeldung wenn nicht alles ausgefüllt ist
                else{
                    echo '<p id="meldung">Es wurden nicht alle Felder ausgef&uuml;llt!</p><br />';
                }
        }
    
        echo
            '
                <form id="formular" action="register.php" method="post">
                    <input type="text" name="firstname" id="addinput" placeholder="Vorname" value=""/><br />
                    <input type="text" name="name" id="addinput" placeholder="Nachname" value=""/><br />
                    <input type="text" name="sex" id="addinput" placeholder="Geschlecht" value=""/><br />
                    <p id="addinfo">(Form: "maennl." oder "weibl.")</p>
                    <input type="text" name="class" id="addinput" placeholder="Klasse" value=""/><br />
                    <input type="text" name="birth" id="addinput" placeholder="Geb.-Datum" value=""/><br />
                    <p id="addinfo">(Form: TT.MM.JJJJ)</p>
                    <input type="text" name="sporta" id="addinput" placeholder="Sport 1" value=""/><br />
                    <p id="addinfo">(Leichtathletik, Fussball, Handball, Volleyball, JTO)</p>
                    <input type="text" name="sportb" id="addinput" placeholder="Sport 2" value=""/><br />
                    <p id="addinfo">(Leichtathletik, Fussball, Handball, Volleyball, JTO, keine)</p>
                    <input type="submit" name="submit" id="addsubmit" value="Registrieren"/>
            </form>
            '
            ;
        ?>
    und die connectDB.php:
    Code:
    <?php
        $db_link = mysqli_connect('localhost', 'root', '', 'sport');
    
        if(!$db_link){
            die('Die verbindung schlug fehl!');
        }
    ?>


  • #2
    wenn ich dich richtig verstehe, hängt es da dran:
    Code:
    "INSERT INTO db VALUES('', '$name1', '$name2', '$sex', '$class', '$birth', '$sport1', '$sport2');
    also, query ausgeben lassen, http://php-de.github.io/jumpto/sql/

    Kommentar


    • #3
      Zitat von Threadtitel
      Registration funzt net [verzweiflung]...


      Und bitte die PHP-Code Tags verwenden für PHP-Code.

      die tabelle ind der datenbank heist creativer weise: ''
      Wie ? db laut Code.

      Wenn ich das richtig sehe bist du für SQL-Injections anfällig, solltest auf jeden Fall noch deine queries absichern. mysqli_ kann das zB mittels prepared statements oder real_escape_string
      http://php-de.github.io/jumpto/sql-injection/

      Zu deinem Problem noch - wie weit hast du selbst schon debuggt?
      http://php-de.github.io/#debugging

      SELECT * ist pfui: http://php-de.github.io/jumpto/code-smells/#select-
      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Danke erst ma!!! ich werds mir anschauen

        Kommentar

        Lädt...
        X