Ankündigung

Einklappen
Keine Ankündigung bisher.

Nur Daten von Benutzer ausgeben

Einklappen

Neue Werbung 2019

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

  • Nur Daten von Benutzer ausgeben

    Naben,
    ich habe folgendes Problem:

    Ich habe mir ein Login Script mit Sessions erstellt. Nun möchte ich auf einer 2. Seite die Daten des eingeloggten users anzeigen
    Die User können also Daten auf dem Server speichern [über ein Formular] die dann angezeigt werden sollen


    Also wenn BenutzerA die DateiA und BenutzerB die DateiB auf dem Server gespeichert hat, möchte ich das auch nur der BenutzerA die DateiA sehen kann aber nicht die DateiB... und dasselbe gillt für BenutzerB.

    Wie kann man das realisieren?

    Vielen Dank schonmal im vorraus!
    Gruß IceBlade


  • #2
    Hallo,

    a) Es ist wichtig das du die hochgeladenen Dateien außerhalb des Document-Roots speicherst und über ein Script "downloadbar" machst.
    b) Speicher in der Datenbank wer, welche, Datei hochgeladen hat und rufe die entsprechenden Zeilen ab
    Gruß,
    SebTM

    Kommentar


    • #3
      Naja, in der MySQL Tabelle ist zwar gespeichert welche User welche Daten hochgeladen haben, aber ich bekomme es irgendwie nicht hin die darzustellen :/

      Kommentar


      • #4
        Jetzt spezifiziere wo GENAU dein Problem liegt sonst kann dir hier keiner helfen - ohne Code nix los und so!

        Also Ansatz, Code, Problembeschreibung ggf. schon Debugging?!
        Gruß,
        SebTM

        Kommentar


        • #5
          Naja, mein problem is das ich nichtmal richtig weiß wo ich ansetzen soll das nur bestimmte daten angezeigt werden. Alle Daten ausgeben is ja nicht das Problem... Daher habe ich aber auch keinen Code. Alle ansätze die vorne und hinten nicht funktioniert haben habe ich wieder gelöscht

          Kommentar


          • #6
            Also ich versuche nun (nochmal) etwas ausführlicher dir zu erklären wie du vorgehen musst:

            Projektstruktur (Best Case):
            data/
            ... Ordner für Dateien die keinen Source-Code enthalten z.B. könnten hier in einem Unterverzeichnis auch User-Uploads gespeichert werden!
            src/
            ... irgendwelcher Sourcecode von dir
            vendor/
            ... irgendwelche Libaries die du benutzt
            web/ (Document-Root des Webservers)
            index.php (Einstiegspunkt deiner Anwendung)

            Möglichkeiten:
            a) Alle Anfragen laufen über die "index.php" und du hast Module
            b) Du hat verschiedenen Dateien die verschiedenenes tun

            Benutzer A lädt via Formular eine Datei hoch nennen wir Sie der einfachheit halber "fileA.docx". Das Script muss nun die Datei aus dem Temp-Ordner wo Sie hingeladen wurde nach "data/" oder ggf. in einen Unterordner verschieben.

            Je nach Zweck deiner Anwendung könnte es sinn machen je User einen Ordner anzulegen weil sonst ein Konflikt durch gleiche Dateinamen entstehen könnte bzw. darauf geachtet werden muss das gleiche Dateinamen verboten werden - oder das Script die Dateinamen ändert und via Datenbank "referenziert".

            -----

            Beispiel-Tabelle für Uploads:
            Code:
            id | uploader_id | filename | ... (deine Spaten)
            1 | 1 | fileA.docx
            2 | 1 | fileA1.docx
            3 | 2 | fileB.docx
            4 | 2 | fileB1.docx
            (Das sind nun auch Beispiel Daten! Ich würde den Uploader via User-ID nicht Usernamen referenzieren - ich weiß nicht ob es dafür eine relevanz gibt das so machen zu müssen ich finde es aber irgendwie besser!)

            -----

            Nun auf der Seite des Benutzeres liest du via Query alle Uploads dieses Users aus z.B. so:
            PHP-Code:
            SELECT idfilename FROM uploads WHERE uploader_id = ? 
            (Hinweis: ? ist ein Platzhalter -> Prepared Statements via PDO!)

            Dann gehst du das erhaltene Array durch und machst einen Link, entweder auf die (siehe Oben - Projektstruktur) andere Datei oder das Modul. Beispiel:
            PHP-Code:
            // Datenbankabfrage mit o.g. Query -> uploader_id = 1
            // Result: $data = array(0 => array('id' => 1, 'filename' => 'fileA.docx'), 1 => array('id' => 2, 'filename' => 'fileA1.docx'));

            foreach ($data as $file) {
            echo 
            '<a href="linkzudeinerDateiOderModul.php?fileId=' $file['id'] . '">' $file['filename'] . ' herunterladen</a>';

            Nun musst du noch die Datei / das Modul schreiben die die Datei bereitstellt. Dabei musst du a) prüfen ob User eingeloggt und ID vom User = "uploader_id" und b) wenn das der Fall ist die Datei senden.

            (via PHP Datei zum download anbieten: http://www.selfphp.de/kochbuch/kochbuch.php?code=37)
            Gruß,
            SebTM

            Kommentar

            Lädt...
            X