Thx voor het testen overigens :thumb:
Toegang webpagina's
Forumregels
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.

Code: Selecteer alles
sql_query($sql))) { message_die(GENERAL_ERROR,"Could not select id","",__LINE__,__FILE__,$sql); } $_grp = $db->sql_fetchrow($result); $_usr = $userdata[0][0]; $sql = "SELECT group_id FROM " . USER_GROUP_TABLE . " WHERE user_id = $_usr"; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR,"Could not select group","",__LINE__,__FILE__,$sql); } $_row = $db->sql_fetchrow($result); if ($_row[0] == $_grp[0]) { $CHECK_ALLOWED = true; } } if (!$CHECK_ALLOWED) { message_die(GENERAL_MESSAGE,"Je hebt geen toegang tot deze pagina",""); } echo ("ALS JE DIT OP JE SCHERM KRIJGT DAN BEN JE INGELOGD EN ZIT JE IN DE USERGROUP"); Het betreft hier wel een HTML-pagina...
Op aanraden van Paulus heb ik dus dat regeltje
Code: Selecteer alles
$sql = "SELECT group_id FROM " . GROUPS_TABLE . " WHERE group_name = '$ALL_GROUP_NAME'";Enig idee wat er fout zit?
mvg,[/code]
Could not select group
DEBUG MODE
SQL Error : 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 '' at line 1
SELECT group_id FROM phpbb_user_group WHERE user_id =
Line : 27
File : testpagina_beveiligde_pagina.php
veranderin
Code: Selecteer alles
$_usr = $userdata[0][0]; Code: Selecteer alles
$_usr = $userdata['user_id']; -
Lontronics
Code: Selecteer alles
<?php
$ALL_GROUP_NAME = "Leden";
// Controls for phpbb login inclusion
$CHECK_ALLOWED = false;
define('IN_PHPBB', true);
$phpbb_root_path = dirname(__FILE__) . "/";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
if ( $userdata['session_logged_in'] )
{
$sql = "SELECT group_id FROM " . GROUPS_TABLE . " WHERE group_name = '$ALL_GROUP_NAME'";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR,"Could not select id","",__LINE__,__FILE__,$sql);
}
$_grp = $db->sql_fetchrow($result);
$_usr = $userdata['user_id'];
$sql = "SELECT group_id FROM " . USER_GROUP_TABLE . " WHERE user_id = $_usr";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR,"Could not select group","",__LINE__,__FILE__,$sql);
}
$_row = $db->sql_fetchrow($result);
if ($_row[0] == $_grp[0])
{
$CHECK_ALLOWED = true;
}
}
if (!$CHECK_ALLOWED)
{
message_die(GENERAL_MESSAGE,"Je hebt geen toegang tot deze pagina","");
}
echo ("ALS JE DIT OP JE SCHERM KRIJGT DAN BEN JE INGELOGD EN ZIT JE IN DE USERGROUP");
?>
<html>
<head>
<meta http-equiv="Content-Language" content="nl-be">
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Testpagina beveiligde pagina</title>
<meta name="Microsoft Border" content="tlrb, default">
</head>
<body>
<p align="center"> </p>
<p align="center"> </p>
<p align="center"> </p>
<p align="center"> </p>
<p align="center"> </p>
<p align="center"><font size="7" color="#FF0000">Testpagina beveiligde pagina</font></p>
</body>
</html>
mvg,
-
Lontronics
Nou, dat is vreemd.
Ik heb bij groep Admin ingevuld en vervolgens gecheckt.
Wanneer ik ingelogd ben, krijg ik netjes toegang.
Wanneer ik uitgelogd ben, krijg ik netjes de melding 'je hebt geen toegang tot deze pagina'.
Oftewel, hier werkt het.
Hier de pagina wanneer ik ingelogd ben: Screenshot 1 (55kb, 1280x1024px)
Hier de pagina wanneer ik uitgelogd ben: Screenshot 2 (63kb, 1280x1024px)
Hier is de code die ik heb toegepast:
Groeten,
Jan
Ik heb bij groep Admin ingevuld en vervolgens gecheckt.
Wanneer ik ingelogd ben, krijg ik netjes toegang.
Wanneer ik uitgelogd ben, krijg ik netjes de melding 'je hebt geen toegang tot deze pagina'.
Oftewel, hier werkt het.
Hier de pagina wanneer ik ingelogd ben: Screenshot 1 (55kb, 1280x1024px)
Hier de pagina wanneer ik uitgelogd ben: Screenshot 2 (63kb, 1280x1024px)
Hier is de code die ik heb toegepast:
Code: Selecteer alles
<?php
$ALL_GROUP_NAME = "Admin";
// Controls for phpbb login inclusion
$CHECK_ALLOWED = false;
define('IN_PHPBB', true);
$phpbb_root_path = dirname(__FILE__) . "/";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
if ( $userdata['session_logged_in'] )
{
$sql = "SELECT group_id FROM " . GROUPS_TABLE . " WHERE group_name = '$ALL_GROUP_NAME'";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR,"Could not select id","",__LINE__,__FILE__,$sql);
}
$_grp = $db->sql_fetchrow($result);
$_usr = $userdata['user_id'];
$sql = "SELECT group_id FROM " . USER_GROUP_TABLE . " WHERE user_id = $_usr";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR,"Could not select group","",__LINE__,__FILE__,$sql);
}
$_row = $db->sql_fetchrow($result);
if ($_row[0] == $_grp[0])
{
$CHECK_ALLOWED = true;
}
}
if (!$CHECK_ALLOWED)
{
message_die(GENERAL_MESSAGE,"Je hebt geen toegang tot deze pagina","");
}
echo ("ALS JE DIT OP JE SCHERM KRIJGT DAN BEN JE INGELOGD EN ZIT JE IN DE USERGROUP");
?>
<html>
<head>
<meta http-equiv="Content-Language" content="nl-be">
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Testpagina beveiligde pagina</title>
<meta name="Microsoft Border" content="tlrb, default">
</head>
<body>
<p align="center"> </p>
<p align="center"> </p>
<p align="center"> </p>
<p align="center"> </p>
<p align="center"> </p>
<p align="center"><font size="7" color="#FF0000">Testpagina beveiligde pagina</font></p>
</body>
</html> Jan
Laatst gewijzigd door Lontronics op 27 nov 2005, 19:48, 1 keer totaal gewijzigd.
-
Lontronics
Ik ben toch eens verder gaan kijken en ik denk dat ik weet waar het probleem zit.
Mijn probleem is echter dat ik geen groepen gebruik en het dus verder ook niet uitgebreider kan testen.
De procedure zou moeten zijn:
- de naam van de opgegeven groep omzetten in het group_id, uitgaande van de tabel %prefix%_GROUPS
- vervolgens kijken of de user_id in de lijst met user_id's staat in de tabel %prefix%_USER_GROUP. Ik ga er tenminste vanuit dat in het veld user_id meerdere id's zullen staan als er meerdere users in de groep zitten......
- Als de user_id er niet in zit dan error, anders doorlaten.
Ik weet niet of er iemand is met php kennis die ook nog eens groups gebruikt en e.e.a. aan zou kunnen passen voor Guust?
Jan
Mijn probleem is echter dat ik geen groepen gebruik en het dus verder ook niet uitgebreider kan testen.
De procedure zou moeten zijn:
- de naam van de opgegeven groep omzetten in het group_id, uitgaande van de tabel %prefix%_GROUPS
- vervolgens kijken of de user_id in de lijst met user_id's staat in de tabel %prefix%_USER_GROUP. Ik ga er tenminste vanuit dat in het veld user_id meerdere id's zullen staan als er meerdere users in de groep zitten......
- Als de user_id er niet in zit dan error, anders doorlaten.
Ik weet niet of er iemand is met php kennis die ook nog eens groups gebruikt en e.e.a. aan zou kunnen passen voor Guust?
Jan
De eigenlijke bedoeling -dat met enkel toegang voor één bepaalde groep- wil nog steeds niet lukken...
Iemand?
Is hier écht niemand die me kan helpen?
Ergens moet er nog een foutje inzitten in onderstaande code.De procedure zou moeten zijn:
- de naam van de opgegeven groep omzetten in het group_id, uitgaande van de tabel %prefix%_GROUPS
- vervolgens kijken of de user_id in de lijst met user_id's staat in de tabel %prefix%_USER_GROUP. Ik ga er tenminste vanuit dat in het veld user_id meerdere id's zullen staan als er meerdere users in de groep zitten......
- Als de user_id er niet in zit dan error, anders doorlaten.
Momenteel kunnen àlle geregistreerden op de pagina, en niet enkel die van de geselecteerde groep "leden".
Code: Selecteer alles
<?php
$ALL_GROUP_NAME = "Leden";
// Controls for phpbb login inclusion
$CHECK_ALLOWED = false;
define('IN_PHPBB', true);
$phpbb_root_path = dirname(__FILE__) . "/";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
if ( $userdata['session_logged_in'] )
{
$sql = "SELECT group_id FROM " . GROUPS_TABLE . " WHERE group_id = '$ALL_GROUP_NAME'";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR,"Could not select id","",__LINE__,__FILE__,$sql);
}
$_grp = $db->sql_fetchrow($result);
$_usr = $userdata['user_id'];
$sql = "SELECT group_id FROM " . USER_GROUP_TABLE . " WHERE user_id = $_usr";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR,"Could not select group","",__LINE__,__FILE__,$sql);
}
$_row = $db->sql_fetchrow($result);
if ($_row[0] == $_grp[0])
{
$CHECK_ALLOWED = true;
}
}
if (!$CHECK_ALLOWED)
{
message_die(GENERAL_MESSAGE,"Je hebt geen toegang tot deze pagina","");
}
echo ("ALS JE DIT OP JE SCHERM KRIJGT DAN BEN JE INGELOGD EN ZIT JE IN DE USERGROUP");
?>
<HTML>
<HEAD>
<META http-equiv="Content-Language" content="nl-be">
<META name="GENERATOR" content="Microsoft FrontPage 6.0">
<META name="ProgId" content="FrontPage.Editor.Document">
<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
<TITLE>Testpagina beveiligde pagina</TITLE>
<META name="Microsoft Border" content="tlrb, default">
</HEAD>
<BODY>
<P align="center"> </P>
<P align="center"> </P>
<P align="center"> </P>
<P align="center"> </P>
<P align="center"> </P>
<P align="center"><FONT size="7" color="#FF0000">Testpagina beveiligde pagina</FONT></P>
</BODY>
</HTML>Re: Toegang webpagina's
Nou ik ga je even helpenGuust schreef:Hallo,
Graag had ik, wanneer geregistreerde gebruikers uit een bepaalde gebruikersgroep ingelogd zijn, ze ook toelating gegeven op "beveiligde pagina's" van mijn website. Is dit mogelijk?
Dit probleem is nog steeds niet opgelost!!! neem aub eens een kijkje op de laatste topics.
![]()
mvg,
Code: Selecteer alles
$sql = "SELECT g.group_id, g.group_name
FROM " . %prefix%_groups . " g, " . %prefix%_user_group . " ug
WHERE g.group_id = ug.group_id
AND g.group_single_user = 0
AND ug.user_id = '".$userdata['user_id']."'
AND ug.user_pending = 0;";