php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.02.2009, 15:36  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard Bild / File Upload zu einem Beitrag besser abwickeln?

Hallo Leute,mir ist kein besserer Titel eingefallen zu dem Thema.

Und zwar schreibe ich gerade an einem Newssystem was auch keine Problem macht. Nun kann der Nutzer des Scriptes einstellen wer News posten darf. Da kann er einstellen Alle (auch nicht eingeloggte) User,Mods,Admins (eingeloggte). So wer News posten darf, darf auch Files oder bilder uploaden. Die Files und bilder zum News werden in einer extra Tabelle eingetragen. Man hat also nun das Formular zum News eintragen und dort einen Link wo Files Upload steht, wenn man den klickt dann öffnet sich via Javascript ein neues kleines Fenster. Momentan mache ich das so das in das Feld n_id in der Files Tabelle beim Upload der Wert 0 rein geschrieben wird und wenn das News abgesendet wird, wird der Wert mit der ID des News ersetzt. Das klappt prima,aber scheint mir nicht so das wahre zu sein.

Wenn man den Fileupload und das News posten nur auf eingeloggte User beschränkt, dann wäre das kein Problem, da würde ich einfach beim Fileupload die User_id mit rein schreiben und beim Update der n_id beim Newseintrag halt die Where Clausel erweitern. Aber was wenn ein Poster nicht eingeloggt ist habe ich das Problem das ich dann icht weis wie ich das machen soll.

Weil es können ja nun Beispielsweise mehrere grad ein News schreiben und einen Fileupload machen, nun hätte man drei Files zu drei Postern in der Tabelle die, die n_id 0 haben. Wenn nun einer absendet während die anderen noch schrieben, dann würden alle eingetragenen Files den Wert des News von dem einen Poster erhalten weil die anderen noch gesendet haben. Und das wäre ja Fatal und Mist.

Meine Frage wie kann ich das eleganter lösen? Um solch ein Szenario zu vermeiden?

Ich hoffe ich habe das verständlich geschrieben.

Mfg der litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.02.2009, 15:54  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Nun das ist doch gar nicht so schwer. Leg einfach beim ersten öffnen des Formulares einen leeren Datensatz in der Newstabelle an und benutz dessen ID. Statt des ursprünglichen INSERTs dann halt ein Update. Du könntest ja zusätlich ein Feld "visible" einführen oder so.
cycap ist offline  
Alt 13.02.2009, 15:55  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Du kannst doch eine eindeutige id generieren lassen, sobald jemand "neuen Artikel verfassen" auswählt.
edit: zwei dumme, ein Gedanke ...nur einer war etwas langsamer :-/
David ist offline  
Alt 13.02.2009, 16:02  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Hey du editierst deinen Beitrag? Ist das überhaupt erlaubt? xD
cycap ist offline  
Alt 13.02.2009, 16:24  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Ok danke so werde ich das mal probieren das wenn das Formular aufgerufen wird ein leerer Datensatz angelegt wird. Nur hat man dann auch das Problem wenn jemand das Formular versehentlich aufruft das dann ein datensatz angelegt wird der gar nicht verwendet wird. Da müsste ich dann höchstens irgendwie einen zeitvergleich machen nachdem ich dann alle datensätze nach anlegen die unbrachbar sind rauslösche. Oder wie würdet Ihr das machen?
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 13.02.2009, 17:27  
Erfahrener Benutzer
 
Benutzerbild von Hu5eL
 
Registriert seit: 26.02.2008
Beiträge: 342
Hu5eL befindet sich auf einem aufstrebenden Ast
Hu5eL eine Nachricht über ICQ schicken
Standard

was ist wenn du eine 2. tabelle (bilder { id, name, news_id, comment_id}) machst... damit verbindest du die 2 tabellen.. so musst du nach dem eintrag eines comments nur die comment id merken und falls der upload erfolgreich war trägste das in die bildertabelle ein
__________________
Under Construktion
Hu5eL ist offline  
Alt 13.02.2009, 18:30  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
Zitat von litterauspirna Beitrag anzeigen
Da müsste ich dann höchstens irgendwie einen zeitvergleich machen nachdem ich dann alle datensätze nach anlegen die unbrachbar sind rauslösche. Oder wie würdet Ihr das machen?
Es muss sich dabei ja nicht zwangsläufig um die "echte" Tabelle handeln und die id muss auch nicht für alle Ewigkeit gültig und weltweit eindeutig sein. Es ist mehr wie die Session-Id. Session ist eh ein Stichwort; verwende doch einfach eine Session dafür. Wenn Du Dir einen eigenen Sessionhandler schreibst, kannst Du auch gleich relativ einfach "unbenutzte" Dateien entfernen.
David ist offline  
Alt 13.02.2009, 19:14  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von David Beitrag anzeigen
Es muss sich dabei ja nicht zwangsläufig um die "echte" Tabelle handeln und die id muss auch nicht für alle Ewigkeit gültig und weltweit eindeutig sein. Es ist mehr wie die Session-Id. Session ist eh ein Stichwort; verwende doch einfach eine Session dafür. Wenn Du Dir einen eigenen Sessionhandler schreibst, kannst Du auch gleich relativ einfach "unbenutzte" Dateien entfernen.
Bis auf den Session Handler leuchtet mir das ein. Wie sehe Beispielsweise so ein Session handler aus?
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 13.02.2009, 19:31  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

siehe PHP: session_set_save_handler - Manual
und Trick-Out Your Session Handler
David ist offline  
Alt 13.02.2009, 19:34  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Besten Dank David werde ich mir sofort mal anschauen.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
upload & beitrag in datenbank übergeben - in einem scrip haubna PHP Tipps 2008 3 30.05.2008 16:05
[Erledigt] Bild verkleinern vor Upload PHP Tipps 2007 10 27.11.2007 22:02
Formular - File Upload? Toby PHP Tipps 2008 12 16.11.2007 20:19
Bild vor dem Upload zuschneiden PHP Tipps 2005-2 15 16.10.2005 10:03
PHP Bild Upload verweigert FTP Download Schreibrechte fehlen PHP Tipps 2005-2 2 28.09.2005 13:50
Bild Upload Code Snippet Beitragsarchiv 10 30.06.2005 16:16
libmysqlclient.so.10 is needed Datenbanken 11 20.06.2005 15:27
Problem mit File Upload PHP Tipps 2004-2 2 19.11.2004 13:41
[Erledigt] file upload PHP-Fortgeschrittene 4 29.10.2004 13:07
File Upload verweigert Dienst. Serverfehler? PHP-Fortgeschrittene 4 17.09.2004 23:47
HTML File Upload HTML, Usability und Barrierefreiheit 4 14.09.2004 15:23
File upload PHP-Fortgeschrittene 3 23.08.2004 17:16
Bild upload in Verzeichniss/ Bild-Name in MySQL Datenbank PHP Tipps 2004 5 10.08.2004 13:17
[Erledigt] File Upload: PRoblem mit Upload directory PHP Tipps 2004 3 26.06.2004 13:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mit file foto laden php, beitrag upload, session php fileupload, besseres als files.uploads?, vbulletin besserer bilder upload, bild file, php bild upload tabelle anzeigen, ild files

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:23 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum