Brauche Hilfe bei einem Script

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

  • Brauche Hilfe bei einem Script

    moin leutz!
    kann mir einer sagen wo in dem script der fehler ist?
    in diesem script soll in einer datenbank der status einer aufgabe geändert werden

    PHP-Code:
    <?php
    if (!isset($_POST["Aendern"]))
    {
    ?>
    <form action="layout.php?go=projektstat" method="post">
    <table border="1" align="center">
    <tr bgcolor="#555555">
        <th>Auswahl</th>
        <th>Beschreibung</th>
        <th>Fertig</th>
        <th>Arbeiter</th>
        <th>Status</th>
    </tr>
    <?php
    include("configs/mysqlconnect.inc");

    $sql    "SELECT * FROM verlauf";
    $query    mysql_query($sql);

    while(
    $daten mysql_fetch_assoc($query))
    {
        echo 
    "<tr><td><input type='radio' name='auswahl' value='".$daten["ID"]."'></td>";    
        echo 
    "<td>".$daten["Beschreibung"]."</td>";
        echo 
    "<td>".$daten["Fertig"]."</td>";
        echo 
    "<td>".$daten["Arbeiter"]."</td>";
        echo 
    "<td>".$daten["Status"]."</td></tr>";
    }

    echo 
    "</table><p>
    <table align=\"center\">
    <tr>    
        <td>
            <select name=\"status\">
                <option value=\"0\">In Bearbeitung</option>
                <option value=\"1\">Fertig</option>
            </select>
        </td>
        <td><input type=\"submit\" name=\"Aendern\" value=\"Aendern\"></td>
    </tr>
    </table>
    </form>"
    ;
    ?>
    <?php
    }
    else
    {
    $sql "UPDATE verlauf SET Status = $status WHERE ID = $auswahl";
    mysql_query($sql);

    $num mysql_affected_rows();
    if(
    $num>0)
    {
        echo 
    "<h3>Datensatz erfolgreich ge&auml;ndert</h3><br>";
    }
    else
    {
        echo 
    "<h3>Datensatz &auml;nderung Fehlgeschlagen</h3><br>";
    }
    }
    ?>
    ich hoffe ihr könnt mir bei der fehlersuche helfen.
    danke schonmal
    greetz schmiddie

  • #2
    nein, können wir nicht, wenn du dir noch nicht mal die mühe gibst zu sagen, warum du überhaupt glaubst, dass hierin ein fehler steckt.

    lies mal http://www.php-resource.de/forum/sho...threadid=50454 zum thema E_ALL und mysql_error().

    Kommentar


    • #3
      sorry aber ich weiss nicht was ich da grossartig zu sagen soll.
      unten bei der überprüfung ob daten geändert worden sind kommt die meldung das keine datensätze geändertwurden und wenn ich in der datenbank über phpmyadmin nachsehe hat sich nichts geändert.

      tut mich echt sorry wenn das zu wenige infos sind aber wie gesagt ich weiss nicht was ich da so genau beschreiben soll

      Kommentar


      • #4
        Re: Brauche Hilfe bei einem Script

        Original geschrieben von schmiddie86
        kann mir einer sagen wo in dem script der fehler ist?
        ... und kannst du mir sagen was denn nicht funktioniert?

        --

        - nimm lieber mysql_fetch_array() statt mysql_fetch_assoc
        - weshalb nimmst du oben die Super-globals $_POST[] und unten im zweiten Abschnitt nicht?
        - lass dir einfach mal die Werte der verschiedenen Vars ausgeben
        ...

        EDIT:
        ohh, bisschen lange zum Schreiben gebraucht

        update: dann lass dir mal $status und $auswahl ausgeben und nimm die Super-globals davon

        [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

        [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

        [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
        (from here)

        Kommentar


        • #5
          nimm lieber mysql_fetch_array() statt mysql_fetch_assoc
          warum?

          lass dir einfach mal die Werte der verschiedenen Vars ausgeben
          stimmt, ich bin mir sogar fast sicher, dass wenn man in $auswahl und $sql reinschaut (wenn auch mittels mysql_error()), man den fehler findet.

          Kommentar


          • #6
            OffTopic:
            Original geschrieben von penizillin
            warum?
            warum nicht
            [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

            [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

            [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
            (from here)

            Kommentar


            • #7
              weil er dann ohne explizite angabe des zweiten parameters die ergebnisse doppelt bekommt - ein mal mit nummerischen und ein mal mit assoziativen schlüsseln. wozu die redundanz und die speicherverschwendung?

              Kommentar


              • #8
                Original geschrieben von penizillin
                weil er dann ohne explizite angabe des zweiten parameters die ergebnisse doppelt bekommt - ein mal mit nummerischen und ein mal mit assoziativen schlüsseln. wozu die redundanz und die speicherverschwendung?
                oki, wenn du das sagst ...
                [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

                [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

                [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
                (from here)

                Kommentar


                • #9
                  danke das ihr mir trotz der "schlechten" prolembeschreibung helft.

                  also mit anderen worten meint ihr das ich andere bzw. abeänderte variblennamen verwenden sollte oder wie?

                  Kommentar


                  • #10
                    gegenfrage - weißt du, was $_POST["Aendern"] bedeutet?

                    Kommentar


                    • #11
                      nein, du sollst nachschauen welche Werte die Vars haben zum Zeitpunkt der Query
                      und dann wirst du wahrscheinlich feststellen, dass die Query keine Datensätze anspricht

                      füge mal ein
                      PHP-Code:
                      echo $auswahl;
                      echo 
                      $_POST[auswahl]; 
                      vor der Query ein und schau dir die Ausgabe an
                      [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

                      [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

                      [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
                      (from here)

                      Kommentar


                      • #12
                        OffTopic:
                        meillo: würde bei mir ein "undefined variable" und ein "undefined index" schmeißen

                        Kommentar


                        • #13
                          OffTopic:
                          ... willst du noch ein paar Gänsefüßchen? - 10ct das Stück
                          [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

                          [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

                          [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
                          (from here)

                          Kommentar


                          • #14
                            @penizillin
                            ich würde sagen das das bedeutet das überprüft wird ob dem button Aendern ein wert zugewiesen wurde.
                            PHP-Code:
                            if (!isset($_POST["Aendern"])) 
                            oder nicht?

                            ach ja noch ne frage is das denn so überhaupt möglich wie ich das vorhatte das in einer datei zu lösen oder brauche ich dafür mehrere php dateien
                            Zuletzt geändert von schmiddie86; 25.09.2005, 13:48.

                            Kommentar


                            • #15
                              OffTopic:
                              Meillo, ich nehme zwei


                              schmiddie86, ich hab nicht nach isset() gefragt, sondern nach $_POST["Aendern"]. aber im grunde hast du es erfasst - ein form-element namens "Aendern" wird mittels POST an das script übermittelt. jetzt überleg mal, welche form-elemente du noch benutzst und wie sie in deiner anwendung angesprochen werden. behalte dabei ständig im hinterkopf - sie wurden ebenfalls mittels POST übermittelt.

                              außerdem müsstest du es mal selbst merken, wenn du E_ALL verwenden würdest.

                              Kommentar

                              Lädt...
                              X