Löschen einer Datei!

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

  • Löschen einer Datei!

    Hi Leute,

    also ich hab mich jetzt mal ein wenig mehr mit PHP beschäftigt und ich bin gerade dabei etwas kleines zu schreiben, aber ich hänge an einem Problem fest.

    Und zwar will ich Smilies über ein Formular hochladen (das klappt), aber natürlich möchte ich diese auch wieder über das selbe Formular löschen. Dies wollte ich mit Checkboxen machen, was soweit auch klappt, aber ich stehe vor dem Problem, dass die Anzeige der momentan vorhandenen Smilies nicht sofort, sondern erst nach dem erneuten Klicken auf den Speichern-Button aktualisiert wird.

    Eigentlich ja auch logisch, weil die Variable für die Ausgabe ja vor dem benutzen der Variablen in dieser Ausgabe da sein muss. Aber wie löse ich das Problem?

    Um es mal zu veranschaulichen, hier der Auszug aus der Datei (aber nicht lachen wegen dem Stil, bin wie gesagt erst seid einigen Wochen am lernen. ):

    PHP-Code:
    $result4 $db->query("SELECT * FROM bb".$n."_smilies_own WHERE userid='$wbbuserdata[userid]'");
    while(
    $row mysql_fetch_row($result4)) {
      
    $smilieid $row['0'];
      
    $name $row['2'];
      
    $kuerzelanzeige $row['3'];
      
    $anzeigesmilies .= "<img src=\"$imagedir$name\"> $kuerzelanzeige<INPUT TYPE=\"checkbox\" NAME=\"delete\" VALUE=\"$smilieid\"><smallfont>Häkchen setzen um Smilie zu löschen</font><br>";

    //Smilie löschen
    if($delete == $smilieid) {
    $db->query("DELETE FROM bb".$n."_smilies_own WHERE smilieid='$smilieid' AND userid='$wbbuserdata[userid]'");
    @
    unlink("images/smilies/own/$name");
    }} 
    Ich hoffe jemand kann mir weiterhelfen.

    MfG
    Giro

  • #2
    setze den block zum löschen des smilies VOR den der ausgabe. dann hat deine ausgabe query auch den korrekten tabelleninhalt.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Aber dann ist doch die Variable $delete doch noch gar nicht gesetzt, oder steh ich auch dem Schlauch?

      MfG
      Giro

      Kommentar


      • #4
        Original geschrieben von Gironymus
        oder steh ich auch dem Schlauch?
        ja. du stehst.....

        du musst eh neu laden, wenn du ein form postest, oder wohin klickst. und dass delete ist eben danach.

        aber mal ehrlich. hättest du das nicht mal eben selber testen können, statt noch einmal zu fragen? die 4-5 zeilen code kann man schneller im script zum test verschieben, als noch einmal zu posten.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Hi,

          ja das hatte ich bereits getestet, aber es ging ja eben dennoch nicht.

          Ich vermute, dass irgendwo anders ein Fehler war. Deswegen hab ich den Code fast komplett neu geschrieben und jetzt geht sowohl das löschen wie auch das uploaden einwandfrei. Ich glaub vorher stimmte da zum Teil was mit den If-Abfragen nicht.

          Aber egal, ich steh vor dem letzten Problem in dieser Sache.

          Ich poste mal wie der entsprechende Code momentan aussieht und danach das Problem:

          PHP-Code:
          if(($action == "view") && (isset($delete))){
            
          $db->query("DELETE FROM bb".$n."_smilies_own WHERE smilieid='$delete' AND userid='$wbbuserdata[userid]'");
            @
          unlink("images/smilies/own/$name");
            
          $result4 $db->query("SELECT * FROM bb".$n."_smilies_own WHERE userid='$wbbuserdata[userid]'");
          while(
          $row mysql_fetch_row($result4)) {
            
          $smilieid $row['0'];
            
          $name $row['2'];
            
          $kuerzelanzeige $row['3'];
            
          $anzeigesmilies .= "<img src=\"$imagedir$name\"> $kuerzelanzeige<INPUT TYPE=\"checkbox\" NAME=\"delete\" VALUE=\"$smilieid\"><smallfont>Häkchen setzen um Smilie zu löschen</font><br>";
            }
            --
          $anzahlsmilies;
            ++
          $nochfrei;
            } 
          Mit dem Code löscht er natürlich jeweils nur ein Smilie, da ich aber Checkboxen habe, möchte ich schon, dass man auch mehrere Checkboxen anklicken kann und dann auch die entsprechenden Smilies gelöscht werden.

          Den Code mit dem löschen in die While reinzunehmen geht auf jedenfall nicht.

          MfG
          Giro

          Kommentar


          • #6
            hast du das mal so getestet?
            PHP-Code:
            if(isset($delete))
            {
              
            $db->query("DELETE FROM bb".$n."_smilies_own WHERE smilieid='$delete' AND userid='$wbbuserdata[userid]'");
              @
            unlink("images/smilies/own/$name");
            }

            while(
            $row mysql_fetch_row($result4)) {
              
            $result4 $db->query("SELECT * FROM bb".$n."_smilies_own WHERE userid='$wbbuserdata[userid]'");
              
            $smilieid $row['0'];
              
            $name $row['2'];
              
            $kuerzelanzeige $row['3'];
              
            $anzeigesmilies .= "<img src=\"$imagedir$name\"> $kuerzelanzeige<INPUT TYPE=\"checkbox\" NAME=\"delete\" VALUE=\"$smilieid\"><smallfont>Häkchen setzen um Smilie zu löschen</font><br>";
            }

            //  --$anzahlsmilies;
            //  ++$nochfrei; 
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              So, wollte noch mal ne Rückmeldung geben.

              Das Script ist jetzt fertig und funktioniert auch soweit einwandfrei.

              Das Problem mit den löschen mehrere Smilies gleichzeitig hab ich erst mal hinausgeschoben, da egal wie ich es probiert habe, irgendwas immer Probleme gemacht hat.

              Hauptsache ist, dass zumindest der Rest schon mal komplett fertig ist und auch funktioniert.

              Danke noch mal für die Tipps von Dir die mich an manchen Stellen weitergebracht haben.

              Bis dann

              MfG
              Giro

              Kommentar


              • #8
                array

                Kommentar

                Lädt...
                X