include oder was

Diskutiere mit über: include oder was im Web-Programmierung Forum

  1. Steglich

    Steglich Thread Starter MacUser Mitglied

    Beiträge:
    206
    Zustimmungen:
    0
    Registriert seit:
    30.05.2003
    Auf einer HTML Seite habe ich folgende PHP Zeilen eingebunden:
    PHP:
    <?php
    $thisfile 
    substr(strrchr($_SERVER['PHP_SELF'], '/'), 1);
    include(
    'pmenu.php');
    ?>
    In der pmenu.php Datei wird über simplexml_load_file auf eine XML Datei zugegriffen, in der Seitennammen und die entsprechenden Dateinamen hinterlegt sind. Diese werden in einem Menü als Links ausgegeben. Die Variable thisfile brauche ich, um die Aktuelle Datei im Menü mit den verlinkten Dateien abzugleichen, um den aktuellen Menü Eintrag per CSS hervorzuheben.

    Wenn ich nun auf so einen Link klicke wird auch die entsprechende Seite angesteuert.
    Allerdings wenn ich das dann 4 Mal mit jeweils einer anderen Seite mache wird mir die Datei pmenu.php gar nicht mehr includiert.

    Seltsam ist, dass der Fehler unter Safari gar nicht auftritt, sondern nur unter Firefox 2.0 und IE 6.0.
    Auch bei mir auf dem Server mit PHP 5.1 kein Problem, aber auf dem Kundenserver mit PHP 5.2.
    Also ich weiß jetzt auch nicht mehr weiter :confused:
     
  2. Steglich

    Steglich Thread Starter MacUser Mitglied

    Beiträge:
    206
    Zustimmungen:
    0
    Registriert seit:
    30.05.2003
    Reload

    Nachdem ich dann zwei Mal Relaod im Browser angeklickt habe, wird mir die Datei wieder includiert. :confused:
     
  3. Jakob

    Jakob MacUser Mitglied

    Beiträge:
    1.067
    Zustimmungen:
    21
    Registriert seit:
    05.01.2004
    Zweimal neu laden löscht den Cache der Seite und lädt komplett neu. Einfach ein Cache-Problem gewesen.
     
  4. Steglich

    Steglich Thread Starter MacUser Mitglied

    Beiträge:
    206
    Zustimmungen:
    0
    Registriert seit:
    30.05.2003
    ja aber

    Ja aber ich kann doch meinen Benutzern nicht zumuten, dass wenn das Menü nicht erscheint, die Seite zwei Mal neu zu laden? :rolleyes:
     
  5. Steglich

    Steglich Thread Starter MacUser Mitglied

    Beiträge:
    206
    Zustimmungen:
    0
    Registriert seit:
    30.05.2003
    Listing

    Hier einmal der Vollständigkeit halber das Listing von pmenu.php:
    PHP:
    <?php
    if ($_GET['t'] !== "") {
        
    $t = (int)$_GET['t'];
    } else {
        
    $t 0;
    }
    /* load xml file */
    if(file_exists("pmenu.xml")) {
        
    $menu simplexml_load_file("pmenu.xml");
    } else {
        echo(
    "Fehler beim Laden der XML Datei");
        exit;
    }

    /* output pruduct menu tabs */
    echo("<div id='tabs'>\n");
    if (
    $t !== 0) {
        
    $counter 1;
        foreach(
    $menu->tab as $tab) {
            if (
    $counter == $t) {
                
    $actualtab $tab;
                
    $selected " class='selected'";
            }
            echo(
    "\t<a href='" $thisfile "?t=" $counter "'" $selected "><div class='tab'>" $tab['name'] . "</div></a>\n");
            
    $selected "";
            
    $counter $counter 1;
        }
    } else {
        
    $counter 1;
        foreach(
    $menu->tab as $tab) {
            foreach(
    $tab->col as $col) {
                foreach(
    $col->group as $group) {
                    foreach(
    $group->entry as $entry) {
                        if (
    $entry->file == $thisfile) {
                            
    $actualtab $tab;
                            
    $selected " class='selected'";
                        } 
                    }
                }
            }
            echo(
    "\t<a href='" $thisfile "?t=" $counter "'" $selected "><div class='tab'>" $tab['name'] . "</div></a>\n");
            
    $selected "";
            
    $counter $counter 1;
        }
    }
    echo(
    "</div> <!-- tabs -->\n");

    /* output products table */
    echo("<div id='pmenu'>\n\t<table>\n\t<tr>\n");
    foreach(
    $actualtab->col as $col) {
        if(
    $col['name'] == "left") {
            echo(
    "\t\t<td class='left'>\n");
        } else {
            echo(
    "\t\t<td class='right'>\n");
        }
        foreach(
    $col->group as $group) {
            echo(
    "\t\t\t<div class='group'>\n");
            echo(
    "\t\t\t\t<h2>" $group['name'] . "</h2>\n");
            foreach(
    $group->entry as $entry) {
                if (
    $entry->file == '') {
                    
    $file "#";
                } else {
                    
    $file $entry->file;
                }
                if (
    $file == $thisfile) {
                    
    $selected " class='selected'>? ";
                } else {
                    
    $selected ">";
                }
                echo(
    "\t\t\t\t\t<p><a href='" $file "'" $selected $entry->name "</a></p>\n");
            }
            echo(
    "\t\t\t</div> <!-- group -->\n");
        }
        echo(
    "\t\t</td>\n");
    }
    echo(
    "\t</tr>\n\t</table>\n</div> <!-- pmenu -->\n");

    ?>
    Wahrscheinlich steckt das Problem oben bei der Passage mit dem simplexml_load_file. Entweder ist der xml Parser so langsam, oder sein Zeiger bleibt hängen, wenn der Server überlastet ist. Keine Ahnung. Auf meinem Server habe ich ja auch keine Probleme.
     
Die Seite wird geladen...
Ähnliche Themen - include oder Forum Datum
PHP-Include Beispiel mit index.php?page= Web-Programmierung 22.04.2010
Include einer Server-externen Klasse Web-Programmierung 03.02.2010
include() mit variable Web-Programmierung 14.01.2009
eval() unsicherer als include() ? Web-Programmierung 08.12.2008
<?php include ?> Web-Programmierung 18.05.2007

Diese Seite empfehlen

Benutzerdefinierte Suche