Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehler beim Daten Eintragen in die Datenbank

Einklappen

Neue Werbung 2019

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

  • #31
    Ich versteh auch nicht, was du mit den echo hier willst. Das macht doch alles nur unübersichtlicher und mühsamer.

    PHP-Code:
    <form action="includes/delete.inc.php" method="post">
        <input type="hidden" name="id" value="<?= htmlspecialchars($content->idENT_COMPAT'UTF8'?>">
        <button type="submit" name="delete-submit">Löschen!</button>
    </form>

    Kommentar


    • #32
      habe es jetzt abgeändert, nun macht er das aber immer noch nicht, er löscht es nicht aus der Datenbank, aber warum nicht?

      Kommentar


      • #33
        HTML-Code:
        <form action="includes/delete.inc.php" method="post">
        PHP-Code:
        $id $_GET['id']; 
        Merkst du was?
        Du solltest Dich mit Debugging beschäftigen.

        Kommentar


        • #34
          Zitat von jonas3344 Beitrag anzeigen
          HTML-Code:
          <form action="includes/delete.inc.php" method="post">
          PHP-Code:
          $id $_GET['id']; 
          Merkst du was?
          Du solltest Dich mit Debugging beschäftigen.
          Genau so habe ich dass auch, dennoch geht es nicht


          Es sieht jetzt wie folgt aus:
          PHP-Code:
          <?php
          session_start
          ();
          if(isset(
          $_POST['delete-submit'])){

              require 
          'dbh.inc.php';

              
          $id $_GET['id'];

              
          $sql "DELETE FROM article WHERE id=$id";
              
          header("Location: ../index.php?delete=success");
              exit();
          }
          else {
              
          header("Location: ../index.php");
              exit();
          }

          HTML-Code:
          <td>
                                          <form action="includes/delete.inc.php" method="post">
                                            <input type="hidden" name="id" value="<?= htmlspecialchars($content->id, ENT_COMPAT, 'UTF8') ?>">
                                            <button type="submit" name="delete-submit">Löschen</button>
                                          </form>
                                      </td>

          Kommentar


          • #35
            Wenn du ein Formular per POST-Request sendest, wirst du auch auf $_POST und nicht $_GET zugreifen müssen. Das hättest du aber selber gesehen, wenn du dir mal $_GET ud $_POST mit var_dump() ausgegeben hättest.

            Desweiteren ist es eine Katastrophe, dass du einen Wert aus einem Formular direkt in SQL-Code einfügst.

            Du solltest dich wirklich erstmal mit den Grundlagen beschäftigen bevor du sowas programmierst.

            Kommentar


            • #36
              Zitat von hellbringer Beitrag anzeigen
              Wenn du ein Formular per POST-Request sendest, wirst du auch auf $_POST und nicht $_GET zugreifen müssen. Das hättest du aber selber gesehen, wenn du dir mal $_GET ud $_POST mit var_dump() ausgegeben hättest.

              Desweiteren ist es eine Katastrophe, dass du einen Wert aus einem Formular direkt in SQL-Code einfügst.

              Du solltest dich wirklich erstmal mit den Grundlagen beschäftigen bevor du sowas programmierst.
              Den Wert habe ich nur zum testen da direkt eingefügt, ich werde das ja noch abändern, erstmal muss das laufen, dann kommt die Sicherheit und dann die Freigabe um es auf den Server zu laden.

              Und wollt ihr mich eigentlich gerade auf den Arm nehmen, einer sagt es geht mit $_GET und der andere sagt es geht mit $_POST? Da kann doch was nicht stimmen, es geht nämlich mit beidem nicht.

              Kommentar


              • #37
                Ich hab gesagt du sollst Dir den Code genau anschauen, mein Beitrag ist ein Zitat und soll Dich auf die richtige Spur bringen.

                Kommentar


                • #38
                  Zitat von jonas3344 Beitrag anzeigen
                  Ich hab gesagt du sollst Dir den Code genau anschauen, mein Beitrag ist ein Zitat und soll Dich auf die richtige Spur bringen.
                  Hab es verstanden als da gehört $_GET hin, aber speilt ja jetzt auch nicht zur sache selbst mit $_POST geht es nicht, habe beides schon getestet

                  Kommentar


                  • #39
                    Ne, nicht $_GET. $_POST ist korrekt.

                    Schau Dir doch einfach Deinen Code an, Zeile für Zeile, überleg was jede Zeile macht und dann am Schluss solltest du drauf kommen was da noch fehlt.

                    Kommentar


                    • #40
                      Ok, ich bin jetzt mal den ganzen Code durchgegangen, kann es aber beim besten willen nicht finden.

                      PHP-Code:
                      <?php //Php bereich öffnen
                      session_start(); //Session starten
                      if(isset($_POST['delete-submit'])){ //Wenn delete-submit übergeben wurde dann ausführen

                          
                      require 'dbh.inc.php'//Benötigt die datenbank datei

                          
                      $id $_POST['id']; //$id entspricht der übergebenen id

                          
                      $sql "DELETE FROM article WHERE id=$id"//in der Datenbank die spalte mit der id $id löschen
                          
                      header("Location: ../index.php?delete=success"); //Weiterleiten auf Index  mit wert success
                          
                      exit(); //beenden
                      }
                      else { 
                      //Sonnst
                          
                      header("Location: ../index.php"); //Weiterleiten auf Index
                          
                      exit(); //beenden
                      }
                      Bin gerade echt am verzweifeln

                      Kommentar


                      • #41
                        PHP-Code:
                        $sql "DELETE FROM article WHERE id=$id"//in der Datenbank die spalte mit der id $id löschen 
                        Ne, diese Zeile weist der Variable $sql einen String mit dem Inhalt "DELETE FROM article WHERE id=$id" zu.

                        Kommentar


                        • #42
                          Zitat von jonas3344 Beitrag anzeigen
                          PHP-Code:
                          $sql "DELETE FROM article WHERE id=$id"//in der Datenbank die spalte mit der id $id löschen 
                          Ne, diese Zeile weist der Variable $sql einen String mit dem Inhalt "DELETE FROM article WHERE id=$id" zu.
                          ok, dann bin ich ja schonmal einen Schritt weiter, müsste es dann nicht folgendes sein?
                          PHP-Code:
                          <?php
                          session_start
                          ();
                          if(isset(
                          $_POST['delete-submit'])){

                              require 
                          'dbh.inc.php';

                              
                          $id $_POST['id'];

                              
                          mysqli_query($conn,"DELETE FROM article WHERE id='".$id."'");
                              
                          mysqli_close($conn);
                              
                          header("Location: ../index.php?delete=success");
                              exit();
                          }
                          else {
                              
                          header("Location: ../index.php");
                              exit();
                          }

                          Kommentar


                          • #43
                            Das ist kein Ratespiel. Versuch es aus. Falls es nicht geht, lerne wie man debuggt, wie man Fehler eingrenzt.

                            Du hast aber immer noch eine SQL-Injection Lücke da.

                            Kommentar


                            • #44
                              Ich habe es bis jetzt gerade versucht ans laufen zu bekommen und komme nicht mehr weiter...
                              Kann mir bitte jemand helfen?

                              Kommentar


                              • #45
                                Was geht denn nicht?

                                Kommentar

                                Lädt...
                                X