Ankündigung

Einklappen
Keine Ankündigung bisher.

Abspeichern funktioniert nicht

Einklappen

Neue Werbung 2019

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

  • #16
    https://www.youtube.com/watch?v=M2y6rbtipiY

    Kommentar


    • #17
      Dann hast du ein ziemlich schlechtes Video erwischt.
      - keine Vorsorge gegen SQL-Injection
      - Passwort als MD5
      - keine Trennung von Content & Code
      - keine Prepared Statements
      - fehlerhaftes SQL
      - keine Input-Validierung

      Kommentar


      • #18
        Könntest du mir vielleicht helfen, alles richtig zu stellen?
        Habe erst vor ein paar Tagen mit MySqli angefangen.

        Kommentar


        • #19
          Wenn du gerade erst damit anfängst, empfehle ich lieber PDO zu nehmen, da sind die Prepared Statements und das Ergebnis-Sammeln nicht so kompliziert wie bei PDO.

          Kommentar


          • #20
            PHP-Code:
            <?php

                 mysqli_report
            (MYSQLI_REPORT_ALL);

                
            $db = new mysqli("localhost","cook-user","123","cook");

                if(
            $db->connect_error)
                    echo 
            "<b>Critical Error: </b> $db->connect_error";

                if(isset(
            $_POST['absenden'])) {
                    
            $firstname $_POST['firstname'];
                    
            $lastname $_POST['lastname'];

                    
            $username $_POST['username'];
                    
            $email $_POST['email'];
                    
            $password $_POST['password'];

                    
            $search_user $db->query("SELECT ID FROM daten WHERE username = $username");
                    
            $search_result $search_user->get_result();

                    if(
            $search_result->num_rows == 0) {

                        
            $password md5($password);
                        
            $insert $db->prepare("INSERT INTO daten (Firstname,Lastname,Username,Email,Password,Registered,Last_Login) VALUES (?,?,?,?,?,NOW(),NOW())");
                        
            $insert->bind_param('sssss',$firstname,$lastname,$username,$email,$password);
                        
            $insert->execute();
                        echo 
            "Your Account was created successfully.";

                    }
                        else
                            echo 
            "This username is already used.";
                }


            ?>

            Auch der PDO-Code gibt keine Fehlermeldung und speichert keine Daten...

            Kommentar


            • #21
              Dann unterdrückst du entweder alle Fehler oder du kommst gar nicht erst in den Zweig wo gespeichert wird.

              Kommentar


              • #22
                In den Zweig komme ich, denn das "Your account was created. " wird ausgegeben.

                Kommentar


                • #23
                  Dann benutzt du einen anderen Code. Dieser hier steigt nämlich vorher mit einem Error aus.

                  Kommentar


                  • #24
                    Zeige doch erst mal deine DB als SQL-Dump.
                    Es hat nämlich keinen Zweck einfach irgendeinen Code zu verwenden, wenn der nicht zur Struktur deiner DB passt, denn in Beitrag #9 wird ja beispielsweise angezeigt, dass dir ein Index fehlt. Ein Umstand den du bisher immer ignoriert hast.

                    Kommentar


                    • #25
                      PHP-Code:
                      <?php
                          
                      class DB {
                              private static 
                      $_db_username "cook-user";
                              private static 
                      $_db_password "123";
                              private static 
                      $_db_host "localhost";
                              private static 
                      $_db_name "cook";
                              private static 
                      $_db;

                              function 
                      __construct() {
                                  try {
                                  
                      self::$_db = new PDO("mysql:host=" self::$_db_host ";dbname=" self::$_db_nameself::$_db_usernameself::$_db_password);
                                  } catch(
                      PDOException $e) {
                                      echo 
                      "The connection to the Database failed.";
                                      die();
                                  }
                              }

                              function 
                      saveData() {
                              
                      $stmt self::$_db->prepare("INSERT INTO daten (Firstname,Lastname,Username,Email,Password,Registered) VALUES (?,?,?,?,NOW(),NOW())");
                              
                      $stmt->bind_param("ssss","example","example","example","example");
                              
                      $stmt->execute;
                              echo 
                      "Die Daten wurden gespeichert.";
                              }
                          }
                      ?>
                      Hab vorher den falschen Code eingefügt...
                      Das hier ist der PDO Code.

                      Bild der Struktur:
                      https://picload.org/view/dagcoppl/2.png.html

                      Kommentar


                      • #26
                        Zitat von co worker Beitrag anzeigen
                        Bitte kein Bild, sondern SQL-Code posten. Niemand hier will Text aus Bildern abtippen.

                        Kommentar


                        • #27
                          Welchen SQL-Code?

                          Kommentar


                          • #28
                            Zitat von co worker Beitrag anzeigen
                            Welchen SQL-Code?
                            Der, mit dem die Tabelle erstellt wird.

                            Kommentar


                            • #29
                              Den SQL-Code, der uns sagt, wie deine DB aufgebaut ist.

                              Kommentar


                              • #30
                                Code:
                                UPDATE `daten` SET `ID`=[value-1],`Firstname`=[value-2],`Lastname`=[value-3],`Username`=[value-4],`Email`=[value-5],`Password`=[value-6],`Registered`=[value-7],`Last_Login`=[value-8],`Loggedin`=[value-9],`Email_Confirmed`=[value-10],`number_ingredients`=[value-11],`number_recipes`=[value-12],`PB`=[value-13],`Color`=[value-14] WHERE 1
                                Ich weiß nicht, wie ma nmit phpmyadmin den code vom erstellen der Tabelle bekommt, aber das müsste auch schon weiterhelfen.

                                Kommentar

                                Lädt...
                                X