Geschützten Seitenbereich für angemeldete Benutzer

Alles, was nicht in die anderen Foren passt, kannst du hier loswerden.
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

if(hasRole("Mitglied") == false && hasRole("Webmaster") == false && ... ) <-- Die Punkte beziehen sich auf weitere Rollen, die man eintragen könnte. Streiche " && ... " aus der Zeile raus und dann sollte es gehen. :roll:
Joroe
Beiträge: 75
Registriert: 31. Mär 2008, 18:23

Beitrag von Joroe »

danke füt die antwort aber
MEIN SCRIPT:

<?php
require("../joroesclub/Admidio/adm_program/system/common.php");
if(hasRole("Mitglied") == false && hasRole("Webmaster") == false)
{
$g_message->show("norights");
}
?>

Der Fehler:

Warning: require(../joroesclub/Admidio/adm_program/system/common.php) [function.require]: failed to open stream: No such file or directory in /usr/export/www/hosting/joroe/skate-nj/Jonas/Jonasvideos.htm on line 2

Fatal error: require() [function.require]: Failed opening required '../joroesclub/Admidio/adm_program/system/common.php' (include_path='.:') in /usr/export/www/hosting/joroe/skate-nj/Jonas/Jonasvideos.htm on line 2

mfg Joroe
Wenn ich groß bin möcht ich auch mal Scripter werden :)
Jochen
Team
Beiträge: 1506
Registriert: 22. Feb 2006, 18:11

Beitrag von Jochen »

Hallo,

das heißt soviel wie: an der angegebenen Stelle ist die Datei nicht!

Irgendwas am Pfad ist also falsch.

Gruß Jochen
Joroe
Beiträge: 75
Registriert: 31. Mär 2008, 18:23

Beitrag von Joroe »

danke für den hinweis es geht nun denke ich auch :)
Wenn ich groß bin möcht ich auch mal Scripter werden :)
Joroe
Beiträge: 75
Registriert: 31. Mär 2008, 18:23

Beitrag von Joroe »

ja es geht nun danke nochmal
Wenn ich groß bin möcht ich auch mal Scripter werden :)
Joroe
Beiträge: 75
Registriert: 31. Mär 2008, 18:23

Beitrag von Joroe »

habe schon wieder eine Frage zu diesem Thema:

Ist das in der Version 2.0 genauso oder muss ich da was ändern ??

bitte um hilfe
mfg Joroe
Wenn ich groß bin möcht ich auch mal Scripter werden :)
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Joroe hat geschrieben:Ist das in der Version 2.0 genauso oder muss ich da was ändern ??
Ein kurzer Blick in die Funktionen unter ADMIDIO\adm_program\system\function.php zeigt, das dort weiterhin die Funktion

Code: Alles auswählen

function hasRole($function, $user_id = 0)
enthalten ist. Somit dürfte es weiterhin problemlos klappen....

Gruss,
Matze
patric
Beiträge: 25
Registriert: 7. Sep 2008, 08:24

Muss das Thema noch mal aufgreifen

Beitrag von patric »

Hallo,

ich hatte den Code mal verwendet und da hat auch alles funktioniert.

Jetzt habe ich die neue Version eingespielt und wollte den Zugang auf bestimmte Rollen beschränken.

Hierbei erhalte ich dann folgende Fehlermeldung:

S Q L - E R R O R

CODE: 1064
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 'AND mem_begin <= "2009-04-16" AND mem_end > "2009-04-16" ' at line 4

B A C K T R A C E

FILE: adm_program/system/db/mysql.php
LINE: 193
CALL: DB->db_error()

FILE: adm_program/system/db/mysql.php
LINE: 77
CALL: MySqlDB->db_error()

FILE: adm_program/system/function.php
LINE: 40
CALL: MySqlDB->query()

FILE: adm_program/modules/wiki/wiki.php
LINE: 3
CALL: hasRole()

Kann es sein, dass sich da in der Datenbank irgendwas geändert hat und der bisherige Code nicht mehr verwendet werden kann bzw. geändert werden muss.

Ohne Beschränkung auf eine bestimmte Rolle geht das ja alles, aber wie gesagt, wenn ich den erweiterten Code verwende, klemmt es irgendwo.

Danke und Gruß


Patric
Benutzeravatar
fasse
Administrator
Beiträge: 6183
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hallo Patric,

du musst in deinem SQL-Statement mal nach mem_valid schauen. Diese Spalte wurde jetzt ersatzlos gestrichen. Ob eine Mitgliedschaft gültig ist, wird jetzt alleine über das Datum bestimmt.

Gruß
Fasse
patric
Beiträge: 25
Registriert: 7. Sep 2008, 08:24

Nahfrage

Beitrag von patric »

Hallo Fasse,

danke für die Antwort, aber so richtig kann ich damit nichts anfangen. In der Datenbank gibt es dieses Feld nicht (oder nicht mehr, war ja auch eine komplette Neuinstallation) (in der calendar.php wird das Feld allerdings auch abgefragt???).

Da bin ich etwas durcheinander, nochmal zum Verständnis: Wenn ich beim Login dieses "Modul" aufrufen will, kommt die Fehlermeldung. Wenn ich aber eingelogt bin, funktioniert alles, d.h. wenn ich als Webmaster eingelogt bin, habe ich Zugriff auf das Modul (Rolle entsprechend hinterlegt), bin ich als Mitglied eingelogt, erhalte ich die richtige Fehlermeldung "Du hast keine Rechte ...". Wo soll/muss ich das Feld mem_valid löschen?

Danke und Gruss
Patric
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Re: Nahfrage

Beitrag von matzman2000 »

patric hat geschrieben:(in der calendar.php wird das Feld allerdings auch abgefragt???).
Dann solltest Du auf die neuste Version 1.4.1 des Calendar-Plugins updaten!

Kannst Du vielleicht von der anderen Datei mal den Quellcode posten oder mir zukommen lassen?

Gruss,
Matze
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Natürlich muss auch das gültige Login mit eingebunden werden:

Code: Alles auswählen

require("../../system/login_valid.php");
Diese Zeile gehört in jedem Fall mit in den Quellcode rein. So hatte ich es auch hier ursprünglich mal gepostet...
patric
Beiträge: 25
Registriert: 7. Sep 2008, 08:24

Nachfrage

Beitrag von patric »

Hallo,

zunächst mal Danke, das funktioniert soweit auch. Allerdings habe ich noch ein Problem (Denkfehler??)

Ich habe ein wiki auf diese Art eingebaut und geschützt, d.h. nur eingeloggte User kommen dahin.

Jetzt ist mir aber aufgefallen, dass in der Statusleiste (also unten) die komplette URL angezeigt wird. Kopiere ich diese kann ich den Seitenschutz umgehen. Irgendwo habe ich da vermutlich einen Fehler gemacht.

Kann da jemand helfen?

Danke
Joroe
Beiträge: 75
Registriert: 31. Mär 2008, 18:23

Beitrag von Joroe »

Hallo liebe Community,
nach einer Weile bin ich zurück und geschockt über meine damals "mangelden" Kentnissen. Ich habe nun wesentlich mehr Erfahrung.

Nun aber zu meinem eigentlichen Problem.
Mein Quellcode:

Code: Alles auswählen

<?php
  require("../admidio/adm_program/system/common.php"); ?> 


<?php
  if(hasRole("Administrator") == true)
    {
    echo "Admin";
    }
  else
    {
    echo "kein Admin";
    }
  ?>

Zuerst wird abgefragt, ob die Role "Administrator" vorhanden ist, dann verschiedene Bedingungen aufgeführt. Denkfehler? Sytaxfehler? Ich weiß es nicht.

Auf jeden Fall zeigt der Test nicht das gewünschte Ergebniss. Es wird entweder immer "Admin", oder immer "kein Admin" angezeigt. Je nachdem in welcher Reihenfolge man die Bedingungen aufzählen lässt.

Freue mich schon auf eure Hilfe,
Joroe
Wenn ich groß bin möcht ich auch mal Scripter werden :)
Jochen
Team
Beiträge: 1506
Registriert: 22. Feb 2006, 18:11

Beitrag von Jochen »

Hallo,

ich glaube das hier ist was Du suchst:

Code: Alles auswählen

if($g_current_user->isWebmaster()){...}
Gruß Jochen
Antworten