Avatar billede sebster Nybegynder
06. december 2004 - 12:05 Der er 6 kommentarer og
1 løsning

En anden måde at navigere rundt på med headers.

Hej eksperter,
Jeg har indtil videre lagt flere spørgsmål ud på denne side ang. headers, servervalidering og gemme variabler.

Jeg har en side som skal sende data fra en form, hvorefter der skal valideres på det og hvis det er korrekt indsættes det i en database og bagefter har jeg lavet en header location som føre brugeren til selvsamme side med header-location. Det gør jegf fordi der ikke skal være mulighed for at refreshe og indsætte dataen to gange i databasen.

ALT DETTE VIRKER. Hvad der ikke virker er min navigation på hovedsiden. Fordi header-location virker ikke hvis der er udskrevet noget inden den.

Hvrodan bygger jeg min siden op rightig mht. navigation.

Pt ser den således ud!!!!

main.php-----------------------------

<?php
$page=$_GET[page];
if ($page=="") { $page="forside"; }

$re = mysql_query("SELECT * FROM $sitemenu WHERE page='$page'") or die ("Could not connect to the Database");
while ($hent=mysql_fetch_array($re))  {
$header=$hent['name'];
} ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Sebdesign</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="style.css" type="text/css">
<LINK REL="SHORTCUT ICON" href="gfx/icon_wm.ico">
<body bgcolor="#EDEDED" marginheight="0" topmargin="0">
<table align="center" cellpadding="0" cellspacing="0" border="0" class="text">
    <tr>
        <td width="168" height="50"></td>
        <td width="600" bgcolor="#fbfbfb" style="border-left:1px #999999 solid; border-right:1px #999999 solid;" background="gfx/top.gif"></td>
        <td width="222"></td>
    </tr>
    <tr>
        </td>   
        <td style="border-left:1px #999999 solid; border-right:1px #999999 solid;" height="17" bgcolor="#fbfbfb" background="gfx/topline.gif">
            <table cellpadding="0" cellspacing="0" border='0' height="17">
                <tr>
                    <td width='25' height='17'></td>
                    <td width='8'><img src="gfx/endl.gif" border="0"></td>
                    <td  bgcolor="#fbfbfb" style="border-top:1px #999999 solid;border-bottom:1px #999999 solid;">Her er du: <?php echo $header; ?></td>
                    <td width="8"><img src="gfx/endr.gif" border="0"></td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>

        <td height="300" bgcolor="FBFBFB" style="border-right:1px #999999 solid;border-left:1px #999999 solid;" valign="top">
                    <?php
                    if ($page==forside) {
                    include('doc/forside.php');
                    }
                    elseif ($page==weblosninger) {
                    include('doc/web.php');
                    }
                    elseif ($page==kontakt) {
                    include('doc/kontakt.php');
                    }
                    else {
                    include('doc/forside.php');
                    }
                    ?>       
        </td>
    </tr>
   
</table>

</body>
</html>
Avatar billede Slettet bruger
06. december 2004 - 12:41 #1
Jeg tror ikke helt jeg forstår hvad du mener?
Hvor er det henne i din kode du forsgøer at redirecte?
Du skal have quotes (") i dine statements i din ifelse struktur:

                    if ($page=="forside") {
                    include('doc/forside.php');
                    }
                    elseif ($page=="weblosninger") {
                    include('doc/web.php');
                    }
                    elseif ($page=="kontakt") {
                    include('doc/kontakt.php');
                    }
                    else {
                    include('doc/forside.php');
                    }

hvis jeg (måske) forstår hvad du mener, skal du lave din
while ($hent=mysql_fetch_array($re))  {
$header=$hent['name'];
}

om til:

$hent = mysql_fetch_array($re);
header("Location: ".$hent['name']);
exit;
Avatar billede sebster Nybegynder
06. december 2004 - 17:22 #2
Jeg redirecter main.php?page=kontakt til selvsamme side. Men når der udskrives noget før include så melder den fejl hvad skal ha da gøre???
Avatar billede Slettet bruger
06. december 2004 - 17:25 #3
prøv at lave ob_start(); i toppen af koden..
Avatar billede sebster Nybegynder
06. december 2004 - 20:49 #4
Det ville jeg nu helst undgå da det er en nødløsning i følge en del andre indlæg på eksperten.dk, har du en anden mulighed???
Avatar billede Slettet bruger
06. december 2004 - 20:51 #5
I følge din kode redirecter du ingen steder?
Avatar billede Slettet bruger
06. december 2004 - 20:52 #6
Det er den eneste mulighed for at redirecte efter output. (Hvilket jeg aldrig har set noget eksempel på ikke skulle lade sig gøre at undgå?)
Avatar billede sebster Nybegynder
07. december 2004 - 11:15 #7
jeg lukker den her!!
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