Tekst via module op website plaatsen

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
Gesloten
Gerard316
Berichten: 56
Lid geworden op: 21 sep 2007, 22:01

Tekst via module op website plaatsen

Bericht door Gerard316 » 14 jun 2013, 14:47

phpBB versie: 3.0.11

Hallo allemaal,

Tijd terug ben ik bezig om een website te maken om phpbb. Hiermee zit ik lekker te testen enzo.
Nu ben ik uitgekomen om een nieuwe module te maken.

Nu heb ik dus een module gemaakt en het ziet er zo uit:
http://imageshack.us/a/img248/3079/jm72.jpg

Via deze module wil ik de tekst die ik er op zet op de website late plaatsen.
Nu is mijn vraag hoe doe ik dat?

Als ik dit weet zal ik zeker een weg moeten vinden om mijn andere modules er ook op te zetten zoals, Nieuws, Uitslagen ect ect.

Wie o wie kan mij helpen?
Laatst gewijzigd door Gerard316 op 15 jun 2013, 10:54, 1 keer totaal gewijzigd.

Gebruikersavatar
David
Berichten: 5093
Lid geworden op: 15 jan 2007, 22:00
Locatie: Zeeuws-Vlaanderen
Contacteer:

Re: Tekst vis module op website plaatsen

Bericht door David » 15 jun 2013, 08:58

Als ik je vraag goed begrijp wil je verschillende pagina's aanmaken op je forum. Maar waarom moeilijk doen als het ook makkelijk kan... met bijvoorbeeld: https://www.phpbb.com/customise/db/mod/static_pages/ Hiermee kun je in je Beheerderspaneel pagina's aanmaken. Met deze MOD heb ik mijn website ook omgetoverd tot een website. Misschien heb je er iets aan?
Op zoek naar een vertaling voor je extensie? vertalingen

Gerard316
Berichten: 56
Lid geworden op: 21 sep 2007, 22:01

Re: Tekst via module op website plaatsen

Bericht door Gerard316 » 15 jun 2013, 11:02

Ik wil het liefts zonder mod doen.

Dit heb ik nu staan in /acp/overons

Code: Selecteer alles

<?php
/**
*
* @package acp
* @version $Id: acp_overons.php,v 1.18 2007/10/14 10:07:52 jenaam Exp $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
    exit;
}

/**
* @package acp
*/
class acp_overons
{
    var $u_action;

    function main($id, $mode)
    {
        global $db, $user, $auth, $template, $cache;
        global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;

        $user->add_lang('acp/website_settings');

if(isset($_POST['submit']) != "") {
    $overons = $_POST['message'];
        if(mysql_num_rows(safe_query("SELECT * FROM ".PREFIX."overons")))    safe_query("UPDATE ".PREFIX."overons SET overons='".$overons."'");
        else safe_query("INSERT INTO ".PREFIX."overons (overons) values( '".$overons."') ");
        redirect("", "", 0);
}
        
        //set some template vars and files
        $this->tpl_name = 'acp_overons';
        $this->page_title = 'acp_overons';
    }
}
?>
Heb ik dat zo goed gedaan of doe ik het verkeerd?

Code: Selecteer alles

<!-- INCLUDE overall_header.html -->

<a name="maincontent"></a>
	<a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>

	<h1>{L_ACP_OVERONS}</h1>
		<p>{L_ACP_OVER_ONS_EXPLAIN}</p>

			<form id="overons" method="post" action="">
				<textarea id="message" name="message" rows="30" cols="" style="width: 100%;"></textarea>
				<input type="submit" name="submit" value="Verzenden" />				
			</form>

<!-- INCLUDE overall_footer.html -->
Wat moet ik bij ACTION=" " zetten?
Moet ik daar gewoon {U_ACTION} bij zetten?

Gerard316
Berichten: 56
Lid geworden op: 21 sep 2007, 22:01

Re: Tekst via module op website plaatsen

Bericht door Gerard316 » 19 jun 2013, 14:24

Iemand?

Gebruikersavatar
John P
Berichten: 163
Lid geworden op: 29 sep 2012, 13:48
Contacteer:

Re: Tekst via module op website plaatsen

Bericht door John P » 19 jun 2013, 22:31

Zonder mod kan je niets toevoegen aan een phpbb forum.
Verder zou ik je ook aanraden om de db layer van phpbb te gebruiken.
Variabelen vraag je dan op met request_var, dan voldoen ze al vanzelf aan de eisen van phpbb en zijn ze ook veilig.

Wat safequery voor iets is, geen idee....

Vul je niets in bij action dan post je naar dezelfde pagina en bij een goede classdefinitie kan je U_ACTION invullen door hem toe te wijzen aan $this->u_action. Die verwijzingen mis ik in je script.
Afbeelding
Webhosting, Custom MODs, Technical management, MOD installation and Webdesign

Gerard316
Berichten: 56
Lid geworden op: 21 sep 2007, 22:01

Re: Tekst via module op website plaatsen

Bericht door Gerard316 » 20 jun 2013, 14:06

John P schreef:Zonder mod kan je niets toevoegen aan een phpbb forum.
Verder zou ik je ook aanraden om de db layer van phpbb te gebruiken.
Variabelen vraag je dan op met request_var, dan voldoen ze al vanzelf aan de eisen van phpbb en zijn ze ook veilig.

Wat safequery voor iets is, geen idee....

Vul je niets in bij action dan post je naar dezelfde pagina en bij een goede classdefinitie kan je U_ACTION invullen door hem toe te wijzen aan $this->u_action. Die verwijzingen mis ik in je script.
Bedankt voor je reactie.
Zoals beloofd zou ik er op terug komen na onze gesprek.

Zoals je weet wil ik alles via de beheerderspaneel doen.
Ik ben nu bezig met include/apc/overons.php en het ziet er zo uit:

Code: Selecteer alles

<?php
/**
*
* @package acp
* @version $Id: acp_overons.php,v 1.18 2007/10/14 10:07:52 jenaam Exp $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
    exit;
}

/**
* @package acp
*/
class acp_overons
{
    var $u_action;

    function main($id, $mode)
    {
        global $db, $user, $auth, $template, $cache;
        global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;

        $user->add_lang('acp/website_settings');


        switch ($action)
        {    
            case 'save':
                // Check the form key, set at the beginning
                if (!check_form_key($form_name))
                {
                    trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
                }
                
                // Get all the data
                $overons = utf8_normalize_nfc(request_var('overons', '', true));                

                // Check the fields, we don't want empty ones
                if (!$overons)
                {
                    trigger_error($user->lang['NO_overons_US'] . adm_back_link($this->u_action), E_USER_WARNING);
                }

                // save
                if ($overons)
                {
                    $sql = "SELECT * FROM ".PREFIX."overons";
                    $message = $user->lang['PAGE_UPDATED'];
                }
                
                //update
                if ($overons)
                {
                    $sql = "UPDATE ".PREFIX."overons SET overons='".$overons."'";
                    $message = $user->lang['PAGE_UPDATED'];
                }
                $db->sql_query($sql);

                trigger_error($message . adm_back_link($this->u_action));
        }
        
        
        //set some template vars and files
        $this->tpl_name = 'acp_overons';
        $this->page_title = 'acp_overons';
    }
}
?>
Heb ik dit een beetje goed gedaan of zit er nog wat fouten tussen?

Gebruikersavatar
John P
Berichten: 163
Lid geworden op: 29 sep 2012, 13:48
Contacteer:

Re: Tekst via module op website plaatsen

Bericht door John P » 22 jun 2013, 21:52

Je had gevraagd voor opmerkingen, daar gaan we dan.
Wordt wel een leerzaam projectje zo niet?

if ($overons) doe je twee keer, waarom?
Doe nooit SELECT * maar benoem de velden die je wilt gebruiken in je query.
De tabel PREFIX.overons moet je benoemen in je constants.php file, de PREFIX constante bestaat niet in phpbb.
Met de output van de select query doe je niets.

In het kort de volgende werkwijze aanhouden.

De inhoud aan de overons tabel updaten of toevoegen d.m.v. check op posten.
Daarna de inhoud die je wilt hebben ophalen en in template variablelen toewijzen aan je template.
In je ACP kan je dan de oude inhoud zien en aanpassen en daarna weer opslaan.

Groet
Afbeelding
Webhosting, Custom MODs, Technical management, MOD installation and Webdesign

Gesloten