Uploadfunktion auf Usergruppen beschränken

Begonnen von timo beil, 28. Mai 2007, 17:13:11

Vorheriges Thema - Nächstes Thema

timo beil

Hi,
ich bin ziemlich neu hier und auch ein Newbie in PHP.
Trotzdem hab ich es mit euren Scripts geschafft eine Bildgalerie
in meine Website einzubauen.
Klappt soweit alles hervorragend. Nur ein Prob hab ich was ich einfach nicht
gelöst bekomme.
Wie kann ich die Uploadfunktion auf einzelne User beschränken???
Also in dem Pimg-Script hab ich gesehen das es 3verschiedene Gruppen
gibt denen ich User zuteilen kann. Admin, Moderatoren und Uploader.
Lt. der beschreibung sollten ja eigentlich nur User mit dem Status UPLOADER Bilder
hochladen dürfen. Dies ist aber nicht der Fall. Hab es von meinem 2. Rechner aus getestet...ist genau das selbe. Jeder kann hochladen.
Hab dann mal euer Forum durchstöber und auch ein paar Threads gefunden
die meinem Prob ÄHNELN! Habe dadurch herausgefunden das man PUSER
braucht wenn man bei PIMG eine vernünftige Userverwaltung haben will.
Also hab ich mir das runtergeladen & intalliert.
Hat auch alles wunderbar geklappt (hab auch an den Tabellen Prefix gedacht)
Die beiden scripte arbeiten jetzt also zusammen und ich kann Kategorien auf
einzelne Benutzergruppen beschränken.
Mein Prob wurde damit aber nicht mal teilweise behoben. Es kann immernoch
jeder Bilder hochladen der will...ob nun als Uploader registriert oder GARNICHT registriet.
BITTE helft mir...verlieren langsam echt die Geduld. Vor allem weil ich
so super froh war und trotz KEIN bissle PHP kenntnisse alles OHNE probs installiert
bekommen habe, eingestellt habe und sogar das Design an meine Bedürfnisse
angepasst habe. Das alles in 2std. und jetzt soll das ganze vorhaben an dem miniprob
scheitern...ich hoffe NICHT und ihr könnt mir helfen.
Über eine schnelle Antwort würd ich mich sehr freuen.
Dafür schon mal vielen dank im vorraus.
Mfg
Timo Beil

k00ni

Hallo,
so auf die Schnelle hätte ich folgende Vorschläge:
1. Vorschlag
In der Datei upload.php nach dieser Zeile
 

if ($user[\'userimg\'] == \"gesperrt\" or $user[\'userimg\'] == \"\") {
   msgBox(\"Kein Zugriff erlaubt!\");
   include($pdir_admin.\"/fuss.php\");
   exit();
}

 
 
das hier
 

if (!isset ($user [\'uin\']))
{
header (\"Location: index.php\");
exit ();
}

 
 
einfügen. Damit leitest du alle Gäste auf die Startseite zurück, also sie kommen erst garnicht zum Hochladen.
 
2. Vorschlag
In der config.inc.php folgende Variablen
 

$piuserupload   = 1;  //User-Upload 1=on 0=off
$piuserlogin    = 0;  //Zugang nur für eingeloggte User 1=on

 
 
richtig setzen. Bei der Ersten kannst du einstellen, ob User überhaupt hochladen dürfen. Bei der Zweiten, wies schon zu lesen ist, ob Gäste überhaupt ins System kommen.
Ich habe das nicht direkt über pImage getestet, sondern per pSys. Ich hoffe, dass es dir hilft.
[edit]Vorschlag 1 ist eigentlich Schwachsinn, da man dies mit der 2. Einstellung in Vorschlag 2 hinbekommt. Versuchs einfach.. /uploads/emoticons/icon_e_biggrin.gif.1a84f5257b36e14b36d04985314f877f.gif\" alt=\":-D\" /> [/edit]
Grüße

timo beil

VIELEN VIELEN Dank für die super schnelle Hilfe.
Werd mich gleich mal ranmachen & Vorschlag 2 /uploads/emoticons/icon_e_wink.gif.fcb053ab2c91cb6224c03a16c6332abf.gif\" alt=\";)\" /> versuchen!
Schreib dann hier nochmal obs geklappt hat!
An welcher Stelle genau ich die beiden Variablen einsetzen kann weisst du
aber auch nicht, oder?

timo beil

Sorry letzte Frage war quatsch.
Also $piuserupload   steht bereits auf 1...das hatte ich auch schon gefunden
fällt mir gerade ein! mmmh....und trotzdem gehts net!
Kannst es ja selbst mal versuchen ein Bild hochzuladen!
http://abgekackt.ti-mobeil.de/Bildergalerie/\" rel=\"external nofollow\">HIER KLICKEN um zur Bildergalerie zu gelangen

k00ni

Hallo,
also ich kann Bilder hochladen. Hast du auch $piuserlogin auf 1 gesetzt? Wenn das nicht geht, dann probiere mal meinen Vorschlag 1.
Zudem bekomme ich Fehlermeldungen...
 

Warning: Division by zero in /var/www/web11/html/-SUBDOMAINS-/Abgekackt-liebt-Dich/Bildergalerie/functions.inc.php on line 139
Warning: Division by zero in /var/www/web11/html/-SUBDOMAINS-/Abgekackt-liebt-Dich/Bildergalerie/functions.inc.php on line 165
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near \'\' at line 2
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/web11/html/-SUBDOMAINS-/Abgekackt-liebt-Dich/Bildergalerie/index.php on line 136

 
 
Grüße

timo beil

Ja das mit der Fehlermeldung kam ganz plötzlich!
Hab sie aber wieder wegbekomm /uploads/emoticons/icon_e_wink.gif.fcb053ab2c91cb6224c03a16c6332abf.gif\" alt=\";)\" />
Siehst du kannst hochladen wie jeder andere OBWOHL Userupload auf
1 also AN steht...ich versteh es nicht!
Nee also das andere ist Userlogin ist NICHT auf 1 sondern auf 0.
Weil ich halt eigentlich wollte das die Leutz zwar raufkommen aber nicht
hochladen können ohne Anmeldung!
Zur Not wäre das aber auch ok das man die gesamte Bildgalerie OHNE Login
NICHT betreten kann...zwar nicht ganz so wie ichs wollte aber halb.
Ich versuchs nochmal!

k00ni

Dann nutze nur meinen Vorschlag 1.
Zudem: Lies mal deine PMs (!)  (Oben im Menü auf PM gehen).

timo beil

Also Tip1 klappt nicht weil ich
den Befehl:

if ($user[\'userimg\'] == \"gesperrt\" or $user[\'userimg\'] == \"\") {
   msgBox(\"Kein Zugriff erlaubt!\");
   include($pdir_admin.\"/fuss.php\");
   exit();
}

 
in der upload.php NICHT finden kann!

k00ni

Hallo,
schreibe das Codeschnipsel, was ich dir in Vorschlag 1 gepostet habe, in der Datei upload.php nach diesem Codebrocken
 

<?php
//##############################################################################
//## PIMG Bilder Upload                                                       ##
//##############################################################################
// 31.01.2004 - Moving Bug 2 Fix
// 22.06.2004 - Nickname mit speichern
//##############################################################################
require(\"pimg_main.php\");
require(\"login.inc.php\");
require(\"kopf.php\");
require(\"adminkopf.inc.php\");

 
 
Also ab Zeile 13 ff.
 
k00ni

k00ni

*SPAM*  /uploads/emoticons/icon_e_surprised.gif.a8707b3f35a569cb4cfe563fc72ef78d.gif\" alt=\":-o\" />
Das Gleiche tust du noch in der Datei userupload.php nach folgendem Codebrocken
 

<?php
//##############################################################################
//## PIMG Bilder Upload                                                       ##
//##############################################################################
// 31.01.2004 - Moving Bug 2 Fix
// 21.06.2004 - Userupload
//##############################################################################
require(\"pimg_main.php\");
// Userlogin forcieren
if ( $piuserlogin == 1 ) {
include(\"login.inc.php\");
}
require(\"kopf.php\");
//require(\"adminkopf.inc.php\");
include(\"head.php\");
if ( $piuserupload != 1 ) {
msgBox(\"Upload nicht möglich\");
include(\"fuss.php\");
exit();
}

 
 
einfügen...  /uploads/emoticons/icon_e_biggrin.gif.1a84f5257b36e14b36d04985314f877f.gif\" alt=\":-D\" />

timo beil

Nochmal DUMM nachgefragt.
Soll ich beide Codschnipsel nacheinander dort einfügen?
Also so:
 

    if ($user[\'userimg\'] == \"gesperrt\" or $user[\'userimg\'] == \"\") {
   msgBox(\"Kein Zugriff erlaubt!\");
   include($pdir_admin.\"/fuss.php\");
   exit();
}
if (!isset ($user [\'uin\']))
{
   header (\"Location: index.php\");
   exit ();
}

 
 
oder nur den 2.???
Also so:

    if (!isset ($user [\'uin\']))
{
   header (\"Location: index.php\");
   exit ();
}

timo beil

Also ich hab es sowohl mit beiden probiert.
Da kommt dann auch ZUGRIFF GESPERRT!
Allerdings mit na langen Fehlermeldung danach.
Wenn ich nur die Nr. 2 nehme leitet er mich auch wieder auf die Startseite
zurück. Allerdings auch wenn ich mich vorher als Benutzer (Uploader)
angemeldet habe. Also IMMER sozusagen!

k00ni

Könntest du die Fehlermeldung mal bitte posten?
Ich habe es gerade mal getestet und es scheint doch sauber zu laufen? Ich bekomme immer Aufforderung das Passwort einzugeben.

timo beil

Also Fehlermeldung kann ich net mehr posten. Da die nicht mehr kommt. War aber so ähnlich wie die die auf der Startseite schonmal kam. Das irgendein MySQL Sytax nicht i.O. ist. Lustigerweise einer in Dateien die ich nicht verändert habe/hatte.
Habe die Dateien dann einfach nochmal neu hochgeladen und schwupps war die Meldung weg.
Das was du unter Sauber laufen bezeichnest ist die Passwortabfrage/Login auf der Startseite der Bildergalerie.
Also wenn/weil ich $piuserlogin    = 1;  eingestellt habe. Und das ging schon
die ganze Zeit ohne Probs. Aber das was ich eigentlich wollte, das
wenn ich $piuserupload auf die Variable 1 stelle, dann nur jemand uploaden kann der eingeloggt ist...habe ich trotz langem rumprobieren bis spät in die Nacht NICHT hinbekomm!

k00ni

Hallo,
ich weiß jetzt nicht so recht, wo nun noch das Problem liegt. Ich habe mir gerade nochmal deine Seiten angeschaut und festgestellt, dass die 2 Dateien: upload.php und userupload.php von Gästen nicht genutzt werden können... nicht mehr. Also scheint dass ja jetzt zu laufen.
Wegen dem letzten Teil, den du geschrieben hast. Dafür war Vorschlag 1 gedacht. Das heißt User können sich zwar frei im System bewegen, aber keine Uploads durchführen. Deshalb solltest du an die Stelle in der upload.php den Codeschnipsel von mir einfügen. Wobei ich mich aber wundere warum dass nicht mit dem $piuserupload = 1; nicht geklappt hatte.
Könntest du nochmal schreiben, was nun noch deine Probleme sind? Schaut so aus, als obs nur noch daran hängt, dass Gäste, trotz setzen der nötigen Variablen, immer noch hochladen können bzw. keiner mehr hochladen kann.
 
Nächtliche Grüße

all your base are belong to us / Discord