Protected page met database

Dit forum is bedoeld voor vragen met betrekking tot WYSIWYG Web Builder.
Post Reply
User avatar
marloes
 
 
Posts: 58
Joined: Wed Apr 06, 2016 5:01 pm

Protected page met database

Post by marloes »

Ik heb aan de website van ons koor o.a. een mededelingen pagina toegevoegd (deze staat nog niet online). Ik heb een administrator pagina gemaakt waarmee de mededelingenpagina bewerkt kan worden, dus de pagina werkt met een database. Maar op de mededelingenpagina gaat het mis bij het laden van de inhoud van de database. Ik krijg de volgende foutmelding: "Notice: session_start(): A session had already been started - ignoring .....". En daarna volgen twee database waarschuwingen.
De mededelingen pagina is een protected page. Er moet dus voor worden ingelogd. Er moet echter ook een sessie gestart worden voor inloggen op de database waar de inhoud van de pagina vandaan moet komen. Deze twee sessies lijken elkaar in de weg te zitten. Hoe los ik dat op?
Groetjes,
Marloes
User avatar
Pablo
 
Posts: 21708
Joined: Sun Mar 28, 2004 12:00 pm
Location: Europe
Contact:

Re: Protected page met database

Post by Pablo »

Heb je geprobeerd de tweede session_start() te verwijderen?

Ik kan helaas geen ondersteuning op eigen code kan geven.
User avatar
marloes
 
 
Posts: 58
Joined: Wed Apr 06, 2016 5:01 pm

Re: Protected page met database

Post by marloes »

Dat snap ik, maar het is geen eigen code :); ik heb de cms en login plugins van het programma gebruikt . Ik heb wel in de code gekeken om te zien wat er in de regel stond waar de foutmelding over ging. Maar weet dus niet zo goed hoe ik het op moet lossen.
Groetjes,
Marloes
User avatar
Pablo
 
Posts: 21708
Joined: Sun Mar 28, 2004 12:00 pm
Location: Europe
Contact:

Re: Protected page met database

Post by Pablo »

Het is lastig je hierbij te help zonder exact te zien wat je hebt gedaan.
Wat zijn je instellingen?
Wat is de gegenereerde PHP code?
User avatar
marloes
 
 
Posts: 58
Joined: Wed Apr 06, 2016 5:01 pm

Re: Protected page met database

Post by marloes »

Welke instellingen wil je precies weten?

De php code van de mededelingen pagina begint met:

Code: Select all

 if (session_id() == "")
{
   session_start();
}
if (!isset($_SESSION['username']))
{
   $_SESSION['referrer'] = $_SERVER['REQUEST_URI'];
   header('Location: ');
   exit;
}
if (isset($_SESSION['expires_by']))
{
   $expires_by = intval($_SESSION['expires_by']);
   if (time() < $expires_by)
   {
      $_SESSION['expires_by'] = time() + intval($_SESSION['expires_timeout']);
   }
   else
   {
      unset($_SESSION['username']);
      unset($_SESSION['expires_by']);
      unset($_SESSION['expires_timeout']);
      $_SESSION['referrer'] = $_SERVER['REQUEST_URI'];
      header('Location: ');
      exit;
   }
}
session_start();
define('MAIN_SCRIPT', basename(__FILE__));
function fireEvent($event_name, $id)
{
   global $events;
   if (isset($events[$event_name]))
   {
      foreach($events[$event_name] as $fn)
      {
         $fn($id);
      }
   } 
}
$mysql_server = 'localhost';
$mysql_username = '***';
$mysql_password = '***';
$mysql_database = '***_mededelingen';
$mysql_table = 'cms_';
$cms_no_results = 'No results';
$cms_content = '';
$cms_page_id = 0;
$events = array();
if (file_exists('./plugins/'))
{
   $handle = opendir("./plugins/");
   while ($name = readdir($handle))
   {
      if ($name != "." && $name != ".." && is_dir("./plugins/".$name) && substr($name, 0, 1) != '_')
      {
         require_once('./plugins/'.$name.'/plugin.php');
         if (isset($plugin['events']))
         {
            foreach($plugin['events'] as $name=>$fn)
            {
               if (!isset($events[$name]))
                  $events[$name] = array();
               $events[$name][] = $fn;
            }
         }
      }
   }
   closedir($handle);
}
$db = mysqli_connect($mysql_server, $mysql_username, $mysql_password);
if (!$db)
{
   die('Failed to connect to database server!<br>'.mysqli_error($db));
} 

En daarbij lijkt dus iets mis te gaan bij de 2e keer 'session_start()'
Groetjes,
Marloes
User avatar
Pablo
 
Posts: 21708
Joined: Sun Mar 28, 2004 12:00 pm
Location: Europe
Contact:

Re: Protected page met database

Post by Pablo »

Om dit moment is de combinatie 'CMS View' en "Protected Page" niet mogelijk.
Ik zal proberen dit in de toekomst mogelijk te maken.
User avatar
marloes
 
 
Posts: 58
Joined: Wed Apr 06, 2016 5:01 pm

Re: Protected page met database

Post by marloes »

Welke aanpassing kan ik tot die tijd zelf in de gegenereerde php code doen om het te laten werken?
Groetjes,
Marloes
User avatar
Pablo
 
Posts: 21708
Joined: Sun Mar 28, 2004 12:00 pm
Location: Europe
Contact:

Re: Protected page met database

Post by Pablo »

Je kunt proberen de tweede session_start() uit de code te verwijderen.
User avatar
marloes
 
 
Posts: 58
Joined: Wed Apr 06, 2016 5:01 pm

Re: Protected page met database

Post by marloes »

Jaaaaa dat werkt! Ik kan nu beide functies gebruiken zonder problemen. Dankjewel! Ik heb het online gezet: https://maskmaarssen.nl/. De pagina waar het om ging staat uiteraard in het gedeelte waarvoor leden moeten inloggen. Maar hij is verder hetzelfde als de Nieuws pagina, waarvoor niet hoeft te worden ingelogd.
Groetjes,
Marloes
Post Reply