Homepage mit Tabellen statt Frames

Hallo !

Mir macht dieses Script immer noch Sorgen.

PHP:
<?php
    $seiten = array(
                    'seite1' => '?page=seite1',
                    'seite2' => '?page=seite2',
                    'seite3' => '?page=seite3'
    );

    $unterseiten = array(
                    'seite1' => array(
                                        'unterseite1' => '?page=seite4',
                                        'unterseite1.1' => '?page=seite5',
                                        'unterseite1.2' => '?page=seite6',
                                     ),
                    'seite2' => array(
                                        'unterseite2' => '?page=seite2&sub',
                                        'unterseite2.1' =>'?page=seite2&sub1',
                                        'unterseite2.2' => '?page=seite2&sub2',
                                     ),
                    'seite3' => array(
                                        'unterseite3' => 'http://www.link3.de',
                                        'unterseite3.1' => 'http://www.link31.de',
                                        'unterseite3.2' => 'http://www.link32.de'
                                     )
    );
?>
<html>
    <head>
        <title>Homepage</title>
    </head>
    <body>
        <table border="1" cellpadding="0" cellspacing="0" width="100%" height="100%">
            <tr>
                <td rowspan="2" valign="top">&nbsp;</td>
                <td valign="top" height="110">Titel</td>
            </tr>
            <tr>
                <td>
                    <?php
                        foreach ($seiten as $seite => $link){
                            echo '&nbsp;<a href="'.$link.'">'.$seite.'</a>&nbsp;';
                        }
                    ?>
                </td>
            </tr>
            <tr>
                <td valign="top" width="181">
                <?php
                   
                        foreach ($unterseiten[$_GET['page']] as $unterseite => $unterseitenlink){
                            echo '&nbsp;<a href="'.$unterseitenlink.'">'.$unterseite.'</a><br />';
                        }
                    
                ?>
                &nbsp;</td>
                <td valign="top" height="697" width="874">
				
<?php switch ($_GET['page']){
case "seite1": include('untitled1.php'); break; 
case "seite2": include('untitled2.php'); break; 
case "seite3": include('untitled3.php'); break;
case "seite4": include('untitled4.php'); break; 
default: include('navtop.php'); break; 
}
?>


?>&nbsp;</td>
            </tr>
        </table>
    </body>
</html>


Die wagrechten Punkte funktionieren, nur bekomme ich das senkrechte nicht hin.
Wenn ich aus dem senkrechten Menü einen Link aufrufen möchte bekomme ich die Fehlermeldung " Warning: Invalid argument supplied for foreach() in /srv/www/htdocs/aatest/t/index.php on line 49".
Und zwar weil er nicht weiss welches Untermenü er laden soll, das ja im direkten Zusammenhang mit dem wagrechten Menü steht
Über '?page=seite1', '?page=seite2', '?page=seite3', werden die 3 verschiedenen Untermenüpunkte des senkrechten Menüs angezeigt.
Wenn ich jetzt über das senkrechten Menü '?page=seite4', aufrufen möchte, zeigt er zwar die Seite an, aber anstatt dem senkrechten Menü kommt die Fehlermeldung.

Kann ich das mit einer zweiten $_GET Variable lösen, oder .......

mfg
 
Hallo,
probier mal das hier:
PHP:
<?php
    $seiten = array(
                    'seite1' => '?page=seite1',
                    'seite2' => '?page=seite2',
                    'seite3' => '?page=seite3'
    );

    $unterseiten = array(
                    'seite1' => array(
                                        'unterseite1' => '?page=seite4',
                                        'unterseite1.1' => '?page=seite5',
                                        'unterseite1.2' => '?page=seite6',
                                     ),
                    'seite2' => array(
                                        'unterseite2' => '?page=seite2&sub',
                                        'unterseite2.1' =>'?page=seite2&sub1',
                                        'unterseite2.2' => '?page=seite2&sub2',
                                     ),
                    'seite3' => array(
                                        'unterseite3' => 'http://www.link3.de',
                                        'unterseite3.1' => 'http://www.link31.de',
                                        'unterseite3.2' => 'http://www.link32.de'
                                     )
    );
?>
<html>
    <head>
        <title>Homepage</title>
    </head>
    <body>
        <table border="1" cellpadding="0" cellspacing="0" width="100%" height="100%">
            <tr>
                <td rowspan="2" valign="top">&nbsp;</td>
                <td valign="top" height="110">Titel</td>
            </tr>
            <tr>
                <td>
                    <?php
                        foreach ($seiten as $seite => $link){
                            echo '&nbsp;<a href="'.$link.'">'.$seite.'</a>&nbsp;';
                        }
                    ?>
                </td>
            </tr>
            <tr>
                <td valign="top" width="181">
                <?php
                    if (in_array($_GET['page']), $seiten){
                        foreach ($unterseiten[$_GET['page']] as $unterseite => $unterseitenlink){
                            echo '&nbsp;<a href="'.$unterseitenlink.'">'.$unterseite.'</a><br />';
                        }
                    } else {
                        echo 'Keine Unterpunkte';
                    }
                ?>
                </td>
                <td valign="top" height="697" width="874">
                
<?php switch ($_GET['page']){
case "seite1": include('untitled1.php'); break; 
case "seite2": include('untitled2.php'); break; 
case "seite3": include('untitled3.php'); break;
case "seite4": include('untitled4.php'); break; 
default: include('navtop.php'); break; 
}
?>


?>&nbsp;</td>
            </tr>
        </table>
    </body>
</html>

mfg
forsterm
 
Zurück