Bilderupload -> Realisierung

sipoh

Erfahrenes Mitglied
Guten Tag,

ich habe ein einfaches Bilder-Upload-Script geschrieben, welches ein Bild in einen definierten Ordner speichert. Ich möchte dieses Script als Erweiterung für mein kleines User-System einbauen.

Meine Überlegung, um es nicht zu extrem zu verkomplizieren: Der User läd das Bild hoch und bekommt dann seinen Nickname als Dateinamen; wird in den Ordner abgelegt, in dem die anderen Bilder der anderen User liegen. Zusätzlich kriegt eine Spalte in der DB / user den Einträg, das ein Bild vorhanden ist. Somit kommt die

if bild da -> bild $user laden else platzhalter.gif

Abfrage.


Sinnvoll oder blöd?
 
Hi,

der DB Eintrag ist nicht unbedingt notwenig.

Ich würde das so machen:

- Das Bild bekommt die User ID und wird in ein Ordner abgelegt. (Es kann ja vorkommen das es mehrere User gibt mit dem Namen "Michael" z.b. oder das User ein ä,ö,ü im namen haben, dann gibt es Probleme mit dem benennen der Datei)

Wenn jetzt das Bild mit der User ID im Ordner vorhanden ist also:

Code:
if(file_exists($BILDNAME))

dann zeige das Bild von dem User an, ansonsten setzte den "Platzhalter" ein.

gruß
 
Da hast du recht, es über die ID zu realisieren.

Noch was grundsätzliches, bevor ich Arbeit für lau mache:

Jeder User hat ja seine Daten, die aus der Datenbank geholt werden. Ich hatte es eigentlich so gedacht, das es eine z. B. profil.php gibt, in der diese Daten dann mittels Platzhalter eingefügt werden.

Beispiel: $username

Loggt sich hanswurst ein, steht "hanswurst" da. else kriegt "else". So soll es auch mit den restlichen Daten geschehen. Später soll auch ein einfaches Message- und GB-Script dazu kommen. Ist diese recht einfache Variante sinnvoll oder würdet ihr es anders angehen? Für ein konstruktives Workaround wäre ich dankbar.

Ich hatte mal gesehen, dass eindeutige IPs über die URL an so eine profil.php gesendet werden, die dann den Inhalt dynamisch dem User zuweisen. Das Problem ist eben auch: Bin ich das jetzt oder schau ich mir gerade einen anderen User an.
 
Hi,

also für solche Lösungen bietet sich eine Session/Cookie Sitzung an.
Mittels Session-ID in der URL läufst Du Gefahr, dass sich unberechtigte Personen Zutritt auf das Profil anderer verschafft.

Ein komplettes Workaround sprengt den Ramen aber eine kleine Übersicht will ich Dir geben:

-> Formular für Login (Wenn nicht registriert; Registrierungsformular)
-> Login-Daten Serverseitig prüfen
-> Session erzeugen
-> Key generieren mit md5()
-> Key in DB dem entsprechendem User zuordnen
-> Key in Cookie speichern

Bei einem erneutem Seitenaufruf des Benutzers wird der Key an den Server übertragen (Wenn Cookies aktiviert).
-> Key in DB suchen und somit User identifizieren
-> Profildaten dementsprechend ausgeben
-> Zugeordnete Bilder ermitteln/ausgeben

Gruß tyg3r
 
Also Cookies. Ok. Dann werde ich mal suchen, wie man Sessions (schon vorhanden) in Verbindung mit diesen einsätzt.

Danke.
 
ich hab das jetzt mal so gemacht:

index.php:
session_start();
$valid_user = $_SESSION['valid_user'];


-> includieren der Datei loginform.php
beinhaltet das Login-Formular;
<form action="login.php" ...
<input name="username" ..

-> login.php
session_start();
$valid_user = $_POST['username'];
session_register("valid_user");
..


Jetzt muss ich nur der Session eine eindeutige session-id zuweisen, die in Cookies gespeichert wird? (Neben Benutzername)
 
PHP verteilt automatisch Session IDs, diese können über [phpf]session_id[/phpf] abgefragt werden, falls sie existiert.
 
Zurück