Avatar billede cmol Nybegynder
21. februar 2006 - 19:17 Der er 3 kommentarer

Hvor er der headers i denne php?

Hej.

Har dette menu script, og min php bliver ved med at sige at der bliver header information er blevet sendt i denne fil, jeg ved bare ikke hvor.

Den nævner denne linie:

echo "<tr><td height=\"25\" onmouseover=\"this.style.backgroundImage='url(pic/menuon.jpg)'\" style=\"CURSOR:pointer;background-image:url('pic/menuoff.jpg');\" onclick=\"location.href='".$row['link']."';\" onmouseout=\"this.style.backgroundImage='url(pic/menuoff.jpg)'\"  border=\"1\"><p>".$row['text']."</p></td></tr>";

Bliver der sendt header information her?..


Resten af fil kilden:



<?PHP


if(!isset($_SESSION['user_access']))
{
echo "
<!--Mainmenu start-->
    <table width=\"100%\" height=\"0%\" class=\"table-menu\">
    <tr>
          <td height=\"25\" style=\"background-image:
url('pic/menutop.jpg')\" align=\"center\"><p class=\"menu\">Menu</p></td>
        </tr>  ";
       
    $query = mysql_query("SELECT * FROM menu where showto = 1 ORDER BY sort,text") or die(mysql_error());
    while ($row = mysql_fetch_assoc($query)) {
$hvor = substr($_SERVER['REQUEST_URI'], 1, 999);


if($hvor == $row['link'])
{
echo "<tr>
          <td height=\"25\" onclick=\"location.href='".$row['link']."'\"><p>".$row['text']."</p></td>
        </tr>";
}

else
{   
echo "<tr>
          <td height=\"25\" onmouseover=\"this.style.backgroundImage='url(pic/menuon.jpg)'\"
style=\"CURSOR:pointer;background-image:
url('pic/menuoff.jpg');\" onclick=\"location.href='".$row['link']."';\"
onmouseout=\"this.style.backgroundImage='url(pic/menuoff.jpg)'\"  border=\"1\"><p>".$row['text']."</p></td>
        </tr>";
}
        }
       
       
      echo'</table>
<!--Mainenu end-->';
}
elseif(isset($_SESSION['user_access']))
{
    if($_SESSION['user_access'] >= 2)
    {
        echo '</td></tr><tr><td>';
        echo "
<!--Mainmenu start-->
    <table width=\"100%\" height=\"0%\" class=\"table-menu\">
        <tr>
          <td height=\"25\" style=\"background-image:
url('pic/menutop.jpg')\" align=\"center\"><p class=\"menu\">Elver Menu</p></td>
        </tr>";
       
          $query = mysql_query("SELECT * FROM menu where showto = 2 ORDER BY sort,text") or die(mysql_error());
    while ($row = mysql_fetch_assoc($query)) {
$hvor = substr($_SERVER['REQUEST_URI'], 1, 999);


if($hvor == $row['link'])
{
echo "<tr>
          <td height=\"25\" onclick=\"location.href='".$row['link']."'\"><p>".$row['text']."</p></td>
        </tr>";
}

else
{   
echo "<tr>
          <td height=\"25\" onmouseover=\"this.style.backgroundImage='url(pic/menuon.jpg)'\"
style=\"CURSOR:pointer;background-image:
url('pic/menuoff.jpg');\" onclick=\"location.href='".$row['link']."';\"
onmouseout=\"this.style.backgroundImage='url(pic/menuoff.jpg)'\"  border=\"1\"><p>".$row['text']."</p></td>
        </tr>";
}
        }
     
      echo "</table>
<!--Mainenu end-->";
    }
    if($_SESSION['user_access'] == 3)
    {
        echo '</td></tr><tr><td>';
        echo "
<!--Mainmenu start-->
    <table width=\"100%\" height=\"0%\" class=\"table-menu\">
        <tr>
          <td height=\"25\" style=\"background-image:
url('pic/menutop.jpg')\" align=\"center\"><p class=\"menu\">Co. Admin</p></td>
        </tr>";
        $query = mysql_query("SELECT * FROM menu where showto = 3 ORDER BY sort,text") or die(mysql_error());
    while ($row = mysql_fetch_assoc($query)) {
$hvor = substr($_SERVER['REQUEST_URI'], 1, 999);


if($hvor == $row['link'])
{
echo "<tr>
          <td height=\"25\" onclick=\"location.href='".$row['link']."'\"><p>".$row['text']."</p></td>
        </tr>";
}

else
{   
echo "<tr>
          <td height=\"25\" onmouseover=\"this.style.backgroundImage='url(pic/menuon.jpg)'\"
style=\"CURSOR:pointer;background-image:
url('pic/menuoff.jpg');\" onclick=\"location.href='".$row['link']."';\"
onmouseout=\"this.style.backgroundImage='url(pic/menuoff.jpg)'\"  border=\"1\"><p>".$row['text']."</p></td>
        </tr>";
}
        }
       

    echo" </table>
<!--Mainenu end-->";
    }
    if($_SESSION['user_access'] == 4)
    {
    echo '</td></tr><tr><td>';
    echo "
<!--Mainmenu start-->
    <table width=\"100%\" height=\"0%\" class=\"table-menu\">
        <tr>
          <td height=\"25\" style=\"background-image:
url('pic/menutop.jpg')\" align=\"center\"><p class=\"menu\">Admin</p></td>
        </tr>";
       
            $query = mysql_query("SELECT * FROM menu where showto = 4 ORDER BY sort,text") or die(mysql_error());
    while ($row = mysql_fetch_assoc($query)) {
$hvor = substr($_SERVER['REQUEST_URI'], 1, 999);


if($hvor == $row['link'])
{
echo "<tr>
          <td height=\"25\" onclick=\"location.href='".$row['link']."'\"><p>".$row['text']."</p></td>
        </tr>";
}

else
{   
echo "<tr><td height=\"25\" onmouseover=\"this.style.backgroundImage='url(pic/menuon.jpg)'\" style=\"CURSOR:pointer;background-image:url('pic/menuoff.jpg');\" onclick=\"location.href='".$row['link']."';\" onmouseout=\"this.style.backgroundImage='url(pic/menuoff.jpg)'\"  border=\"1\"><p>".$row['text']."</p></td></tr>";
}
        }

    echo "</table>
<!--Mainenu end-->";
    }
}
else
{
echo 'ERROR';
}   
?>
Avatar billede jakobdo Ekspert
21. februar 2006 - 21:03 #1
Bare en echo gør at du ikke senere kan kalde header();
Med mindre du benytter output buffering.
Avatar billede cmol Nybegynder
21. februar 2006 - 22:08 #2
Hvorfor kan jeg så godt bruge header() når jeg deaktivere menuen?..
Avatar billede jakobdo Ekspert
22. februar 2006 - 08:56 #3
Fordi så er det ikke blevet echo'et noget ud til browseren...
Se her:
Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester