Hulp nodig bij je installatie of kom je ergens niet uit? Probeer phpBB3! Problemen lossen we samen met je op.
phpBB 3.0 is End of support per 1 januari 2017. Dit forum is hier enkel ter archief. Het wordt aangeraden te upgraden naar phpBB 3.2
Forumregels
phpBB 3.0 is End of support per 1 januari 2017. Dit forum is hier enkel ter archief. Het wordt aangeraden te upgraden naar phpBB 3.2
-
Black-Hole
- Berichten: 127
- Lid geworden op: 17 sep 2005, 18:52
-
Contacteer:
Bericht
door Black-Hole » 04 jul 2008, 20:29
Voor mijn upgrade naar phpBB3 gebruikte ik een klein php script om alle email adressen van mijn gebruikers op te vragen. Dit voor het verzenden van een nieuwsletter. Dit script werkt helaas niet met versie 3 want ik krijg de melding dat er geen verbinding kan worden gemaakt met de database. Vreemd want volgens mijn bescheiden kennis van php staat nergens in dit script een verwijzing naar de database.
Het gaat om het volgende script:
Code: Selecteer alles
<?php
/***************************************************************************
* email.php
* -------------------
* begin :
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
*
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', true);
$gebruiker = 0;
// toon de gebruikersnaam aldaniet
$level = 3;
// toon :
// 0 - niet de member
// 1 - niet de admins
// 2 - niet de moderators
// 3 - toon alles
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Lets build a page ...
//
$query = "SELECT * FROM ". USERS_TABLE ." Where user_level != $level && user_id != -1";
$sql = mysql_query($query) or die ( mysql_error( ) );
while($record = mysql_fetch_object($sql))
{
if ($gebruiker == 0)
{
echo $record->username. " : ".$record->user_email."<br>";
}
else {
echo $record->user_email."<br>";
}
}
?>
Weet iemand wat ik aan zou moeten passen om dit werkend te krijgen of heeft iemand anders een simpele oplossing? Het script plaats je in de forum root en benader je via je browser.
Alvast bedankt.
-
Mid
- Berichten: 961
- Lid geworden op: 03 mei 2008, 23:22
Bericht
door Mid » 04 jul 2008, 20:55
include($phpbb_root_path . 'extension.inc');
Deze 'extension.inc' komt in ieder geval niet voor in de root van phpbb3.0.1
Hier kun je een werkend script vinden, bijvoorbeeld te noemen: mailadressen.php en ook met de browser aan te roepen:
- Spoiler: bekijk
- <?php
// *************************************************************************************
// Verzamelen van email-adressen van de forumleden.
// =========================================
//
// Zet dit bestand in de forumroot en roep hem daar aan via de browser.
//
// Download het bestand /store/email.txt via FTP en verwijder
// het bestand daarna via FTP van de server.
//
// *************************************************************************************
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('viewforum');
$sql = " SELECT `user_email` FROM " . USERS_TABLE . "";
$result = $db->sql_query($sql);
$file = "./store/email.txt";
if(!file_exists($file))
{
touch($file);
}
$method = 0;
while ($row = $db->sql_fetchrow($result))
{
if(!Empty($row['user_email']))
{
$email = $row['user_email']."\n";
if($method == 0)
{
$open = fopen($file, 'w') or die('can not open file');
fwrite($open, $email) or die('can not write to file');
fclose($open);
}
else
{
$open = fopen($file, 'a') or die('can not open file');
fputs($open, $email) or die('can not add to file');
fclose($open);
}
$method++;
}
else
{
continue;
}
}
$db->sql_freeresult($result);
print "KLAAR !!!!! Download het bestand ./store/email.txt via FTP en verwijder het bestand daarna via FTP van de server."
?>
Wijziging: Het script komt van iemand anders, maar is door mij lichtelijk uitgebreid met een toelichting bovenaan en een scherm-output onderaan.
Laatst gewijzigd door
Mid op 04 jul 2008, 21:57, 1 keer totaal gewijzigd.
-
Black-Hole
- Berichten: 127
- Lid geworden op: 17 sep 2005, 18:52
-
Contacteer:
Bericht
door Black-Hole » 04 jul 2008, 21:41
Thanks, ik zal jouw script eens proberen

-
MrMax
- Berichten: 96
- Lid geworden op: 01 jan 2006, 23:39
Bericht
door MrMax » 25 jun 2011, 09:02
Is het mogelijk dit uit te voeren voor de emailadressen van gebruikers uit een bepaalde gebruikersgroep???
-
Ger
- Berichten: 4864
- Lid geworden op: 03 jan 2006, 22:23
- Locatie: 192.68.1.100
-
Contacteer:
Bericht
door Ger » 25 jun 2011, 09:51
Niet zomaar. Je zult een selectie moeten toepassen die gefilterd is op een gebruikersgroep.
Echter: je kunt natuurlijk ook gewoon de massa email functie gebruiken die standaard in phpBB zit.
-
Kevin
- Berichten: 1684
- Lid geworden op: 06 nov 2007, 17:22
- Locatie: Brabants schoon
-
Contacteer:
Bericht
door Kevin » 25 jun 2011, 10:43
ForumHulp.nl kan u helpen met: Technisch onderhoud, Extensies installaties/aanpassingen en Webdesign.
Teammember op
phpBBservice.nl 
, Winnaar in de phpBB awards
2009,
2010 en
2012 met
AquaforA