DB Eintrag läuft nur Teilweise

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

  • DB Eintrag läuft nur Teilweise

    Einen wunderschönen guten Moregn .
    Bin neu hier und muss auch schon gleich was los lassen da ich mit der SuFU net sehr weit kam.

    Also folgendes.
    Ich habe eine Datei welche den Namen "table_edit.php" trägt.
    Diese Datei zeigt mir A. alle DB Einträge (SELECT). B. gibts hinter jedem neuen Eintrag einen schönen "Edit" Button.

    Wenn ich auf den "Edit" Button klicke gelange ich mit der jeweiligen ID des Eintrags auf die "table_edit_funktion.php"

    Zum Bleistift:
    "table_edit_funktion.php?id=30"

    Schön das er die ID weiterleitet^^

    So nun habe ich ein input=text worüber ich den status ändern möchte.
    Klicke danach auf "send", gelande somit wieder auf die "table_edit.php", jedoch wird der Eintrag net geändert.

    Hier mal die codeschnipsel:


    "table_edit.php"
    PHP-Code:
    # id weiterleitung
    $edit1$row['ID'];
    echo 
    "<td width=80 class=\"style14\"><center><a href=table_edit_funktion.php?id=$edit1>Edit</a></center></td>"
    "table_edit_funktion.php"
    PHP-Code:
    # id Übergabe
    <form action="table_edit.php?id=<?php echo (int)$_GET['id']; ?>" method="post">

    # eingabefeld
    <td><input type="text" name="status" value="<?php echo $_POST['status']; ?>"></td>

    # update der datenbank
    if (isset($_POST['send']))
    {
        $status = $_POST['status'];

        $edit = "UPDATE rainbowlist SET status = '$status' WHERE ID ='".$_GET['id']."'";
        $result = mysql_query($edit) or die (mysql_error);
    }
    Wie gesagt, ich drücke auf "send" gelange dann wieder auf die "table_edit.php" aber ohne die Änderung

    Bin für jede Hilfe dankbar
    Zuletzt geändert von crisp; 23.05.2007, 09:31.

  • #2
    Re: DB Update läuft nur Teilweise

    Und welche Debug-Schritte hast du unternommen?

    - Kontrolle, ob auch wirklich in den IF-Zweig hineingesprungen wird.
    - Kontrollausgabe von $_POST/$_GET per print_r
    - Ausgabe der generierten Query, ggf. Test dieser im phpMyAdmin
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Du solltest dich auch auf jedenfall mit SQL-Injections beschäftigen, dein Code ist eine wandelnde Sicherheitslücke. Sorry, ein wandelndes SicherheitsLOCH.

      P.S.: Es heißt mysql_error() und nicht mysql_error
      Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
      var_dump(), print_r(), debug_backtrace und echo.
      Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
      Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
      Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

      Kommentar


      • #4
        Hab mich noch net mit dem Thema debuggen beschäftigt da ich in PHP noch ein Frischling bin . *schlag mich nicht*

        Habs auch schon mit print($edit) versucht, jedoch wird mir nichts angezeigt

        //
        @Shurakai
        Sry aber fange grad erst mit PHP an
        Zuletzt geändert von crisp; 23.05.2007, 09:41.

        Kommentar


        • #5
          Original geschrieben von crisp
          Habs auch schon mit print($edit) versucht, jedoch wird mir nichts angezeigt
          Fein - und jetzt berücksichtigst du bitte noch mal alle angesprochenen Punkte.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Hab vorhin mal die if-anweisung weggemacht.
            Dort klappts, wenn ich sie wegmache habe ich einen leeren Eintrag, was ja auch verständlich ist.

            Somit hat sich des mim Query auch erledigt

            Kommentar


            • #7
              Hmm ich ralls einfach net

              Mit isset klappts, aber mit nicht...gibts da ne andere Möglichkeit?

              Kommentar


              • #8
                Re: Re: DB Update läuft nur Teilweise

                Original geschrieben von wahsaga
                - Kontrollausgabe von $_POST/$_GET per print_r
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  habe ich.

                  ich klcike auf "send" und komme dann wieder auf die "table_edit.php" zurück OHNE überhaupt die ausgabe von print zu sehen...

                  Kommentar


                  • #10
                    Original geschrieben von crisp
                    ich klcike auf "send" und komme dann wieder auf die "table_edit.php" zurück OHNE überhaupt die ausgabe von print zu sehen...
                    Dann bring's ganz am Anfang dieses Scriptes unter - und ohne es von irgendwelchen IF-Bedingungen o.ä. abhängig zu machen.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      okay danke erstmal, gibt doch noch nette leute

                      habe die ausgabe von ID 28 genommen, jetzt zeigt print mir aber net die 28 sondern die 281 an, die es garnet gibt. die 1 zuviel, weil?

                      Kommentar


                      • #12
                        Original geschrieben von crisp
                        habe die ausgabe von ID 28 genommen, jetzt zeigt print mir aber net die 28 sondern die 281 an, die es garnet gibt. die 1 zuviel, weil?
                        Weil - du vermutlich irgendwo was falsch gemacht hast.

                        Schau dir erst mal die Stelle an, an der diese ID übergeben wird - also das action-Attribut des Formulars. In der HTML-Ausgabe, die der Browser erhalten hat.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          Es kann ja nicht am action-attribut liegen, denn wenn ich

                          PHP-Code:
                          if (isset($_POST['send'])) 
                          wegmache, klappt es ja, nur er sendet es halt direkt weil ich den isset net mehr drin hab.

                          //

                          auch wenn ich den isset drin lasse, zeigt der browser mir in der adresszeile die richtige id an OHNE die 1...

                          table_edit_funktion.php?id=28
                          Zuletzt geändert von crisp; 23.05.2007, 13:01.

                          Kommentar


                          • #14
                            Vielleicht hättest du jetzt endlich mal die Güte, uns die Ausgabe von print_r von $_POST und $_GET zu zeigen ...
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Du kommst durcheinander.

                              Reihenfolge:

                              - Wenn $_POST['send'] dann update in db, danach Weiterleitung

                              - Ansonsten wenn $_GET['id'], dann Formular zum Ändern inkl. submitbutton mit Namen Send ausgeben

                              Ansonsten die Links (...id=$edit1>Edit</a>) ausgeben.

                              An jeder Stelle mit test-echos bzw. die() testen, ob man richtig angekommen ist, und was (s. Wahsaga) in $_GET und $_POST drinsteht.
                              ich glaube

                              Kommentar

                              Lädt...
                              X