Ankündigung

Einklappen
Keine Ankündigung bisher.

Unlink

Einklappen

Neue Werbung 2019

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

  • Unlink

    Hi Leute,

    folgendes Prob: ich hab hier nach Unlink gesuch und leider nur 3 Themen gefunden aus dem Zeug bin ich aber nicht schlau geworden.

    Ich habe Userbezogene Bildergalerien. und ich möchte beim Löschen nicht nur denn Datensatz löschen sondern auch das Bild.
    könnt Ihr mir da weiterhelfen?

    Hier der Cod bis jetzt. :

    Code:
    include ("dbconnect.php");
    
    $user = $_SESSION['MM_Username'];  
           
    if (isset($_GET['delete_id'])){ 
       // (Alle Datensätze)/den Datensatz löschen, deren id = der id des ausgewählten Datensatzes ist 
       $sql = "DELETE FROM bildergalerie WHERE id=".$_GET['delete_id']." "; 
       $res = mysql_query($sql); 
    } else { 
      // DATENSÄTZE AUS DB HOLEN UND AUSGEBEN 
      $sql_sel = "SELECT * FROM bildergalerie WHERE benutzer= '$user' ORDER BY `id` DESC"; 
      $res = mysql_query($sql_sel); 
      echo "<table> \n"; 
      while ( $row = mysql_fetch_array($res)) { 
            echo "<tr> \n"; 
    
          echo "<td width=\"10%\">".$row['id']."</td> \n"; 
          echo "<td width=\"60%\">".$row['bild']."</td> \n"; 
          echo "<td width=\"15%\">".$row['beschreibung']."</td> \n";          
           
          echo "<td width=\"12%\"> "; 
          //id des zu löschenden Datensatzes übergeben 
          echo "<a href=\"".$_SERVER['PHP_SELF']. "?delete_id=".$row['id']."\"> "; 
          echo "löschen</a></td> \n"; 
    
          echo "</tr> \n"; 
      }  // END WHILE 
    
      echo "</table> \n"; 
    }
    Ps: session_start(); steht natürlich auch da aber weiter oben.
    Gruß JEGO

    Ein PHP Script tut, was Du schreibst, nicht was Du willst.


  • #2
    Code:
    unlink("pfad/zur/datei.endung");
    oder was wolltest wissen?
    mfg Floh

    Programmers don't die, they GOSUB without RETURN

    Kommentar


    • #3
      Genau wie und wo ich das setzen muß.

      Ich habe Unlink noch nie benutzt.
      Gruß JEGO

      Ein PHP Script tut, was Du schreibst, nicht was Du willst.

      Kommentar


      • #4
        Kann mir keiner weiterhelfen?

        wie ich gleichzeitig denn Datensatz lösche und das Bild vom Server?
        Gruß JEGO

        Ein PHP Script tut, was Du schreibst, nicht was Du willst.

        Kommentar


        • #5
          Schau dir doch mal den Bereich zu unlink() im Handbuch an.
          mfg RudiS

          Kommentar


          • #6
            Gibt es eigendlich auch ein Manual for Dummis ?

            Ich blick im Manual nie durch.
            So oft ich da schon was gesucht habe.

            Das ist mir zu komlizert gemacht. sorry.
            Gruß JEGO

            Ein PHP Script tut, was Du schreibst, nicht was Du willst.

            Kommentar


            • #7
              Du musst als Argument für unlink() nur den Pfad und den Dateinamen übrgeben. Also so:
              Code:
              unlink('./test/test.php');
              mfg RudiS

              Kommentar


              • #8
                Das ist mir ja auch klar.

                aber wie du oben sehen kannst, lösche ich den Datensatz mit Klick auf denn löschen link.

                mein problem ist wie ich das Unlink da jetz zum gleichzeitigen ausführen bekomme.
                und nur das file das ich ja auch durch klick auswähle.

                ich hoffe du verstehst was ich meine.
                Gruß JEGO

                Ein PHP Script tut, was Du schreibst, nicht was Du willst.

                Kommentar


                • #9
                  Mach doch erstmal ne Abfrage, die den Dateinamen ermittelt. Dann löscht du die Datei, wie oben beschrieben und dann noch den Datensatz aus der Datenbank.

                  Kommentar


                  • #10
                    1. Datensatz holen
                    2. Datei mit Dateiname aus Datensatz löschen
                    3. Datensatz löschen

                    HTH

                    Kommentar


                    • #11
                      Allso irgendwie hab ich das gefühl das sich keiner anschaut was ich da bereits gemacht habe.

                      allso:

                      1. Datensatz holen:
                      Code:
                      // DATENSÄTZE AUS DB HOLEN UND AUSGEBEN 
                        $sql_sel = "SELECT * FROM bildergalerie WHERE benutzer= '$user' ORDER BY `id` DESC"; 
                        $res = mysql_query($sql_sel); 
                        echo "<table> \n"; 
                        while ( $row = mysql_fetch_array($res)) { 
                              echo "<tr> \n"; 
                      
                            echo "<td width=\"10%\">".$row['id']."</td> \n"; 
                            echo "<td width=\"60%\">".$row['bild']."</td> \n"; 
                            echo "<td width=\"15%\">".$row['beschreibung']."</td> \n";          
                              
                            echo "<td width=\"12%\"> ";
                      3. Datensatz löschen

                      Code:
                      if (isset($_GET['delete_id'])){ 
                         // (Alle Datensätze)/den Datensatz löschen, deren id = der id des ausgewählten Datensatzes ist 
                         $sql = "DELETE FROM bildergalerie WHERE id=".$_GET['delete_id']." "; 
                         $res = mysql_query($sql);
                      und

                      Code:
                      //id des zu löschenden Datensatzes übergeben 
                            echo "<a href=\"".$_SERVER['PHP_SELF']. "?delete_id=".$row['id']."\"> "; 
                            echo "löschen</a></td> \n";

                      und dazwischen sollte igendwie der Punkt 2.

                      und der sollte gleichzeitig ausgefürt werden wie Punkt 3.

                      aber wie mach ich das ???????????????
                      Gruß JEGO

                      Ein PHP Script tut, was Du schreibst, nicht was Du willst.

                      Kommentar


                      • #12
                        "Gleichzeitig" gibt es nicht. "Nacheinander" ist richtig.

                        Im Datensatz sollte der Pfad zur jeweiligen Datei liegen. D.h. du liest den Datensatz VOR dem Löschen aus und erhältst den Pfad, den du unlink() übergibst. NACH dem Löschen der Datei löscht du den Datensatz. Wo genau liegt das Problem?

                        Kommentar


                        • #13
                          Das prob ist ich möchte das der User nur einmal Löschen anklicken braucht.

                          aber so wie du das beschreibst muß er erst das bild und dann denn Datensatz löschen.
                          kann man das nicht irgenwie mit einmal klicken erledigen?
                          Gruß JEGO

                          Ein PHP Script tut, was Du schreibst, nicht was Du willst.

                          Kommentar


                          • #14
                            Zitat von JEGO
                            aber so wie du das beschreibst muß er erst das bild und dann denn Datensatz löschen.
                            Richtig. Wenn der Datensatz weg ist, kommt man ja sonst nicht mehr an den Namen des Bildes, das man löschen will.
                            kann man das nicht irgenwie mit einmal klicken erledigen?
                            Na klar kann man das:
                            - Datensatz lesen, um den Namen des Bildes zu erhalten.
                            - Datensatz löschen
                            - Bild löschen

                            Kommentar


                            • #15
                              So ich hab mal was probiert:

                              ich schicke die ID des zulöschenden Datensatze an eine datei.

                              Diese sieht so aus:
                              Code:
                              include('dbconnect.php');
                              
                              $bildnr = $_GET['ID'];
                              
                              $sql_sel = "SELECT * FROM bildergalerie WHERE ID= '$bildnr'"; 
                                $res = mysql_query($sql_sel); 
                                
                              $bild = $res['bild'];
                              
                              if (unlink('../kundenbilder/$bild'))        // Line 11
                              {
                              
                              
                                $sql_del = "DELETE FROM bildergalerie WHERE ID='$bildnr'"; 
                                 $res = mysql_query($sql_del);
                                 
                                 
                                  echo "das Bild wurde gelöscht";
                              }
                              leider ist da ein Fehler drin.

                              Warning: unlink(../kundenbilder/$bild): No such file or directory in F:\Internet\24tourist\kunden\sloesch_bild.php on line 11


                              weis einer was ich falsch gemacht habe?
                              Gruß JEGO

                              Ein PHP Script tut, was Du schreibst, nicht was Du willst.

                              Kommentar

                              Lädt...
                              X