weiterleitung ...header('Location: http:....)

heikomi

Erfahrenes Mitglied
Hi,
ich bin am Aufbau einer Navigation und bleib da aber hängen. Mein Seitenaufbau ist über <div>, weil oft von <FRAMES> abgeraten wird.

Ich bekomme bei einigen Verlinkungen eine Fehlermeldung, die besagt, das der neue Header nicht geschrieben werden kann. Wie gesagt nur bei einigen.

Wie meine HP Aufgebaut ist (besser wie sie aufgebaut werden soll) hier einige Auszüge (die gekürzt wurden).

MENU.PHP
PHP:
<?php
if($_POST['hmenu11_x'] > 0 or $_POST['hmenu11_y'] > 0) $_SESSION['aktHMenu'] = 11;
if($_POST['hmenu12_x'] > 0 or $_POST['hmenu12_y'] > 0) $_SESSION['aktHMenu'] = 12;
if($_POST['hmenu13_x'] > 0 or $_POST['hmenu13_y'] > 0) $_SESSION['aktHMenu'] = 13;
if($_POST['hmenu14_x'] > 0 or $_POST['hmenu14_y'] > 0) $_SESSION['aktHMenu'] = 14;
if($_POST['hmenu15_x'] > 0 or $_POST['hmenu15_y'] > 0) $_SESSION['aktHMenu'] = 15;
if($_POST['hmenu16_x'] > 0 or $_POST['hmenu16_y'] > 0) $_SESSION['aktHMenu'] = 16;
if($_POST['hmenu17_x'] > 0 or $_POST['hmenu17_y'] > 0) $_SESSION['aktHMenu'] = 17;
if($_POST['hmenu18_x'] > 0 or $_POST['hmenu18_y'] > 0) $_SESSION['aktHMenu'] = 18;
if($_POST['hmenu19_x'] > 0 or $_POST['hmenu19_y'] > 0) $_SESSION['aktHMenu'] = 19;
if($_POST['hmenu20_x'] > 0 or $_POST['hmenu20_y'] > 0) $_SESSION['aktHMenu'] = 20;
if($_POST['hmenu21_x'] > 0 or $_POST['hmenu21_y'] > 0) $_SESSION['aktHMenu'] = 21;

// ------------------
// Begin: MENU AUFBAU
// ------------------
if($_SESSION['aktHMenu'] != 11) echo "<input type=\"image\" name=\"hmenu11\" src=\"/include/picture/menu/mnu_11_u.png\" onmouseover=\"this.src='/include/picture/menu/mnu_11_s.png';\" onmouseout=\"this.src='/include/picture/menu/mnu_11_u.png';\" />\n";
if($_SESSION['aktHMenu'] == 11) echo "          <img src=\"/include/picture/menu/mnu_11_a.png\" />\n";

if($_SESSION['aktHMenu'] != 12) echo "          <input type=\"image\" name=\"hmenu12\" src=\"/include/picture/menu/mnu_12_u.png\" onmouseover=\"this.src='/include/picture/menu/mnu_12_s.png';\" onmouseout=\"this.src='/include/picture/menu/mnu_12_u.png';\" />\n";
if($_SESSION['aktHMenu'] == 12) echo "          <img src=\"/include/picture/menu/mnu_12_a.png\" />\n";
?>

NAVIGATION.PHP
PHP:
<?
if($_SESSION['woist'] == 11 ) {
  if($_SESSION['aktHMenu'] == 12) header('Location: http://www.meine-seite.de/index12.php');
  if($_SESSION['aktHMenu'] == 13) header('Location: http://www.meine-seite.de/index13.php');
  if($_SESSION['aktHMenu'] == 14) header('Location: http://www.meine-seite.de/index14.php');
}

if($_SESSION['woist'] == 12 ) {
  if($_SESSION['aktHMenu'] == 11) header('Location: http://www.meine-seite.de/index11.php');
  if($_SESSION['aktHMenu'] == 13) header('Location: http://www.meine-seite.de/index13.php');
  if($_SESSION['aktHMenu'] == 14) header('Location: http://www.meine-seite.de/index14.php');
}
?>

und eine Inhaltsseite (Beispiel: index12.php) im Rohaufbau:
PHP:
<?php
session_start();
$_SESSION['woist'] = '12';
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>meine-seite.de</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link type="text/css" rel="stylesheet" href="style.css">
  </head>

  <!-- fuer die Aufloesung:  1024 x 768 -->

  <body bgcolor="#FFFFFF">

    <form id="tabelle" method="POST" action="index12.php">

      <!-- Kopfteil-->
      <div id="bereich01">
        <table width="100%" align="center" border="0">
          <tr>
            <td rowspan="2" width="20%">&nbsp;</td>
            <td width="60%" align="center" class="gross_kopfteil">Seitentitel</td>
            <td rowspan="2" width="20%" align="right" valign="bottom"><script type="text/javascript" src="../../js/clock.js">&nbsp;</script></td>
          </tr>
          <tr>
            <td width="60%" align="center" class="klein_kopfteil"><b>Seiten Untertitel</b></td>
          </tr>
        </table>
      </div>


      <!-- --------------------------------------------------------------------------- -->
      <!-- Navigation -->
      <!-- --------------------------------------------------------------------------- -->
      <div id="bereich02" style="float: left">
        <div id="menu">
          <?
          include('../menu.php');    
          ?>
        </div>
      </div>



      <!-- --------------------------------------------------------------------------- -->
      <!-- Inhalt: Seitentitel -->
      <!-- --------------------------------------------------------------------------- -->
      <div id="bereich03">
        <?
        include('../navigation.php');    //hier ist die stelle mit der weiterleitung
        ?>

        <!-- ab hier der Seiteninhalt -->
        <table align="center" width="100%" cellpadding="5" cellspacing="5">
          <tr>
            <td>
     


            </td>
          </tr>
        </table>
      </div>

      <div id="bereich04" style="float:left">
        Dieser Bereich ist noch nicht fertiggestellt. (Rechter Teil) 
      </div>


      <div id="bereich05">
        Ich bin doch nur die Fusszeile 
      </div>
    </form>
  </body>
</html>

edit:
Geht die Weiterleitung auch irgendwie anders zu realisieren, ohne meta-tag?

Thx schon mal

LG Heiko
 
Zuletzt bearbeitet:
Hi,

sorry, aber ich versteh dein ganzes Konzept nicht.
Warum willst du denn eine Navigation mit Weiterleitungen erstellen? Warum nimmst du nicht einfach Links?


Gruß

.:lay-z-cow:.
 
hi lay-z-cow,
da müsste ich jetzt das ganze Programm umbauen. Das Problem würde aber weiterhin bestehen, das einige Weiterleitungen funktionieren und andere wieder nicht.

Hier mal eine Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at /........./menu.php:93) in /............../menu.php on line 137.

Na ich denk aber schon, das ich umbauen werden muss - leider.

LG Heiko
 
Obwohl ich es eigentlich nicht wollte, aber jetzt t es, da ich komplett auf LINKS umgestellt habe.

Danke dennoch für die Mühe

'LG Heiko
 
Die Header Funktion kann nur genutzt werden, wenn header(); <- Sagt der name schon im headerbreich genutzt wird.

Es gibt aber einen Trick: ganz oben im Headerbereich: zb:
PHP:
<?
ob_start();
// Rest der PHP Datei
?>

Gruß
 
Zurück