mehrere includes mit session auf einer seite

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mehrere includes mit session auf einer seite

    Halli Hallo,

    ich habe folgendes Problem: Ich möchte einen Belegungskalender für je ein Zimmer (insgesamt sind es 5 Zimmer) auf einer gemeinsamen Seite anzeigen lassen.

    Nun habe ich ein Script (nicht selbst geschrieben) für einen Belegungskalender, der für ein Zimmer programmiert ist. Ich habe das Script also kopiert und die Tabellen Namen der Datenbank entsprechend abgeändert, so dass ich für jedes Zimmer einen eigenen Kalender habe.

    Nun würd ich aber gerne, wie gesagt, die Belegungskalender aller Zimmer via include auf einer Seite angezeigt haben. Hier liegt das Problem. Der erste Kalender wird noch angezeigt, vom zweiten wird nur noch der div-container angezeigt und dann ist ende im Gelände.
    Anzuschauen hier: Klick


    Die Kalender-Index sehen jeweils wie folgt aus:
    PHP-Code:
    <?php
    session_start
    ();
    include(
    'belegungsplan_3_BETT/kalender.config.php');
    include(
    'belegungsplan_3_BETT/kalender.lib.php');

    echo 
    '<h1>Belegungsplan f&uuml;r 3-Bett-Zimmer</h1>';
         
    if(isset(
    $_REQUEST['jahr'])) $jahr $_REQUEST['jahr'];
    else 
    $jahr date('Y');
    if((
    $jahr $prefs['jahr_start']) or ($jahr $prefs['jahr_ende'])) $jahr date('Y');

    if(
    $jahr $prefs['jahr_start']) {
        
    $down $jahr 1;
        echo 
    '<a href="index.php?jahr=' $down '">' $down ' &lt;&lt;</a> ';
    }
    echo 
    '<b>'.$jahr.'</b>';
    if(
    $jahr $prefs['jahr_ende']) {
        
    $up $jahr 1;
        echo 
    ' <a href="index.php?jahr=' $up '">&gt;&gt; ' $up '</a></h2>';
    }
    echo 
    '<div class="text"><br><span style="background-color:'$color['frei'] . ';">
          &nbsp;&nbsp;&nbsp;&nbsp;</span> frei '
    ;
    if (
    $prefs['show_gelb'] == 1) echo '<span style="background-color:'$color['reserviert'] . ';">
          &nbsp;&nbsp;&nbsp;&nbsp;</span> reserviert '
    ;
    echo 
    '<span style="background-color:'$color['belegt'] . ';">&nbsp;&nbsp;&nbsp;&nbsp;</span> 
          belegt<br><br></div>'
    ;
    table();
    if (
    $prefs['infotext'] == 1) echo '<div class="text"><br><b>Infotext: </b><span id="infotext">
         Bewegen Sie die Maus &uuml;ber ein Datum, um hier weitere Informationen angezeigt zu bekommen!
         </span></div>'
    ;

    ?>
    Als nicht-profi und meiner meinung nach auch nicht fortgeschrittener PHP-Mensch würde ich mich über hilfe freuen.

    Vielen Dank im Voraus

  • #2
    setze mal am anfang des aufrufenden scriptes:

    PHP-Code:
    error_reporting(E_ALL);
    ini_set('display_errors'true); 
    welche fehler kommen dann?

    Kommentar


    • #3
      also, hab ich mal eingefügt, jetzt spuckt er folgendes aus:

      Als erstes über dem ersten Kalender :
      Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /srv/www/vhosts/urlaub-in-oberbayern.net/httpdocs/header.php:7) in

      Als zweites anstelle des zweiten Kalenders:

      Fatal error: Cannot redeclare table() (previously declared in /srv/www/vhosts/urlaub-in-oberbayern.net/httpdocs/belegungsplan_DZ_1/kalender.lib.php:6) in /srv/www/vhosts/urlaub-in-oberbayern.net/httpdocs/belegungsplan_DZ_2/kalender.lib.php on line 5


      Hier mal die Line 1-6 aus der kalender.lib.php
      PHP-Code:
      <?php
      $verbinden 
      mysql_connect($db['server'], $db['user'], $db['pw']) or die(mysql_error());
      mysql_select_db($db['name'], $verbinden) or die(mysql_error());

      function 
      table() {
          global 
      $db;
      Heißt also, er kann die Tabelle was nicht?
      Wie könnte man das lösen?

      Kommentar


      • #4
        verlagere mal session_start() und den include der 'kalender.lib.php' aus den einzelnen scripten in das aufrufende script - das sollte es dann schon gewesen sein.
        also nur einmal session_start und auch nur einen include.

        session_start() bringt zwar nur ein warning, ist aber so sauberer.

        Kommentar


        • #5
          Funktioniert nicht, folgende Fehlermeldungen - Kalender wird jetzt gar keiner mehr angezeigt:

          Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /srv/www/vhosts/urlaub-in-oberbayern.net/httpdocs/header.php:7) in /srv/www/vhosts/urlaub-in-oberbayern.net/httpdocs/belegungsplan.php on line 7

          Notice: Undefined variable: db in /srv/www/vhosts/urlaub-in-oberbayern.net/httpdocs/belegungsplan_DZ_1/kalender.lib.php on line 2

          Notice: Undefined variable: db in /srv/www/vhosts/urlaub-in-oberbayern.net/httpdocs/belegungsplan_DZ_1/kalender.lib.php on line 2

          Notice: Undefined variable: db in /srv/www/vhosts/urlaub-in-oberbayern.net/httpdocs/belegungsplan_DZ_1/kalender.lib.php on line 2

          Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'wwwrun'@'localhost' (using password: NO) in /srv/www/vhosts/urlaub-in-oberbayern.net/httpdocs/belegungsplan_DZ_1/kalender.lib.php on line 2
          Access denied for user 'wwwrun'@'localhost' (using password: NO)

          Mein include-scipt sieht jetzt so aus

          PHP-Code:
          <?php 
          include('header.php');

          error_reporting(E_ALL);
          ini_set('display_errors'true);

          session_start();
          include(
          'belegungsplan_DZ_1/kalender.lib.php');

          echo 
          '<div class="belegungsplan">';
          include(
          'belegungsplan_DZ_1/index.php');
          echo 
          '</div>';

          echo 
          '<div class="belegungsplan">';
          include(
          'belegungsplan_DZ_2/index.php');
          echo 
          '</div>';

          echo 
          '<div class="belegungsplan">';
          include(
          'belegungsplan_DZ_3/index.php');
          echo 
          '</div>';

          echo 
          '<div class="belegungsplan">';
          include(
          'belegungsplan_DZ_4/index.php');
          echo 
          '</div>';

          echo 
          '<div class="belegungsplan">';
          include(
          'belegungsplan_3_BETT/index.php');
          echo 
          '</div>';

          include(
          'footer.html');
          ?>

          Kommentar


          • #6
            ok, anscheinend befinden sich in der 'kalender.config.php' die zugangsdaten zur datenbank.

            dann muss der include dieser datei auch in dein include-script verlagert werden und zwar vor dem include von 'kalender.lib.php'.

            das funktioniert allerdings nur, wenn dort keine weiteren kalenderspezifischen config-parameter hinterlegt sind. ansonsten musst du den allgemeinen teil aus den einzelnen 'kalender.config.php' in eine separate datei packen.

            ich hoffe, du hast mich verstanden?

            Kommentar


            • #7
              Also ich glaub, ich hab dich schon verstanden.

              Ich hab jetzt die fünf kalender.config.php, die die verschiedenen zugangsdaten enthalten vor den include der kalender.lib.php gepackt - die Kalender werden jetzt angezeigt!!!!


              Vielen DANK!!!!!

              Kommentar

              Lädt...
              X