Avatar billede baboum Nybegynder
01. juli 2003 - 13:23 Der er 3 kommentarer og
1 løsning

Session's fejl

Jeg har et problem. Jeg er ved at lave en hjemmeside med et login. når man har logget ind skal menuerne ændre sig. Hvis jeg skriver session_start(); i min index.php side hvor min login form ligger for jeg følgende fejl meddelse:

Warning: Cannot send session cache limiter - headers already sent (output started at c:\apache\htdocs\test\index.php:18) in c:\apache\htdocs\test\index.php on line 19

Men den skifter til de rigtige menuer. hvis jeg udelukker session_start();, så logger den ikke på eller rettere det gør den måske , men den åbner ikke mine menuer som den skal

Min index.php kode ser sådan her ud:
<html>



    <body bgcolor="#c8c8c8">
        <div align="center">
            <table width="800" border="0" cellspacing="2" cellpadding="0">
                <tr>
                    <td colspan="3" bgcolor="white">
                        <div align="center">
                            <img src="images/head.jpg" alt="" height="100" width="800" border="0"></div>
                    </td>
                </tr>
                <tr>
                    <td bgcolor="white" width="120">
<!-- login -->
<?php
session_start();

if($_SESSION[id]){


echo $_SESSION[id];


}

else

{
?>
   
<form method="post" action="dologin.php">
<input type="hidden" name="logind" value="logind">
                          <font size="1" face="Verdana, Arial" color="#000000">Brugernavn<br>
                          </font>
                          <input type="text" name="navn" size="14">
                          <font size="1" face="Verdana, Arial" color="#000000">Password<br>
                          </font>
                          <input type="password" name="password" size="14">
                          <input type="submit" name="submit" value="Login">
                        </form>
                        <?php

}
?>
</td>
                    <td rowspan="2" colspan="2" bgcolor="white"></td>
                </tr>
                <tr>
                    <td width="120">    <body bgcolor="#ffffff">
        <?php
if($_SESSION[id]){
?>


      <table height="100" border="0" align="center">
        <tr>
          <td>
            <table border="0" align ="center">
              <tr>
                <td width="10"><img src=../../netakvariet%20folder/netakvariet/images/arrow.gif></td>
                <td width="111">MENU</a></td>
              </tr>
              <tr>
                <td width="10"><img src=../../netakvariet%20folder/netakvariet/images/arrow.gif></td>
                <td width="111"><a href='../../netakvariet%20folder/netakvariet/<? echo $_SERVER["PHP_SELF"];?>?side=brugere/profil.php'><b>Profil</b></a></td>

              </tr>
              <tr>
                <td width="10"><img src=../../netakvariet%20folder/netakvariet/images/arrow.gif></td>
                <td width="111"><a href='../../netakvariet%20folder/netakvariet/index.php'><b>home</b></a></td>
              </tr>
              <tr>
                <td width="10"><img src=../../netakvariet%20folder/netakvariet/images/arrow.gif></td>
                <td width="111"><a href="../../netakvariet%20folder/netakvariet/index.php?side=brugere/brugere.php"><b>Bruger side</b></a></td>
              </tr>
              <tr>
                <td width="10"><img src=../../netakvariet%20folder/netakvariet/images/arrow.gif></td>
                <td width="111"><a href="../../netakvariet%20folder/netakvariet/index.php?side=images/annak/index.php"><b>Anna K</b></a></td>
              </tr>
              <tr>
                <td width="10"><img src=../../netakvariet%20folder/netakvariet/images/arrow.gif></td>
                <td width="111"><a href="../../netakvariet%20folder/netakvariet/index.php?side=images/saragellar/index.php"><b>Sara Gellar
                </b></a></td>
              </tr>
              <tr>
                <td width="10"><img src=../../netakvariet%20folder/netakvariet/images/arrow.gif></td>
                <td width="111"><a href="../../netakvariet%20folder/netakvariet/index.php?side=images/Christina/index.php"><b>Christina</b></a></td>
              </tr>
              <tr>
                <td width="10"><img src=../../netakvariet%20folder/netakvariet/images/arrow.gif></td>
                <td width="111"><a href="../../netakvariet%20folder/netakvariet/index.php?side=test/index.php"><b>Download</b></a></td>
              </tr>
              <tr>
                <td width="10"><img src=../../netakvariet%20folder/netakvariet/images/arrow.gif></td>
                <td width="111"><a href='logud.php'><b>Logout</b></a></td>
              </tr>
              </table>
              </td>
              </tr>
              </table>
             
<?php             
}

else

{
?>
      <table width="100%" height="80" border="0" align="center">
        <tr>
          <td>
            <table border="0" align ="center">
              <tr>
                <td width="10"></td>
                <td width="111"><b>MENU</b></a></td>
              </tr>
              <tr>
                <td width="10"><img src=../../netakvariet%20folder/netakvariet/images/arrow.gif></td>
                <td width="110"><a href="../../netakvariet%20folder/netakvariet/index.php?side=test.php"><b><font color="#000000">test</font></b></a></td>
              </tr>
              <tr>
                <td width="10"><img src=../../netakvariet%20folder/netakvariet/images/arrow.gif></td>
                <td width="110"><a href='../../netakvariet%20folder/netakvariet/index.php'><b><font color="#000000">home</font></b></a></td>
              </tr>
              <tr>
                <td width="10"><img src=../../netakvariet%20folder/netakvariet/images/arrow.gif></td>
                <td width="110"><a href="../../netakvariet%20folder/netakvariet/index.php?side=opret.html"><b><font color="#000000">opret</font></b></a></td>
              </tr>
            </table>
        </td>
</tr>
</table>


<?php
}

if($_SESSION[aid]){

?>

      <table width="100%" height="100" border="0" align="center">
        <tr>
          <td>
            <table border="0" align ="center">
              <tr>
                <td width="10"><img src=../../netakvariet%20folder/netakvariet/images/arrow.gif></td>
                <td width="110">ADMIN MENU</a></td>
              </tr>
              <tr>
                <td width="10"><img src=../../netakvariet%20folder/netakvariet/images/arrow.gif></td>
                <td width="110"><a href="../../netakvariet%20folder/netakvariet/index.php?side=admin/admin.php"><b>Server info</b></a></td>
              </tr>
              <tr>
                <td width="10"><img src=../../netakvariet%20folder/netakvariet/images/arrow.gif></td>
                <td width="110"><a href="../../netakvariet%20folder/netakvariet/index.php?side=admin/opret.php"><b>Opret</b></a></td>
              </tr>

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

<?php

}
////////////// MENU SLUT ////////////

?>
    </body></td>
                </tr>
            </table>
        </div>
        <p></p>
    </body>

</html>

Min dologin.php ser sådan her ud:
<?php


session_start();

//hvis form er submittet
if (isset($_POST['logind'])) {

//password i databasen er krypteret, så det gøres også med indtastet password
$dopass = $_POST['password'];


//skift selv bruger og pass til databasen.
$db = mysql_connect("localhost", "slum", "1234") or die ("Desværre ingen forbindelse til databasen");

mysql_select_db("password", $db) or die ("Kunne ikke vælge databasetabel");

$tjek = mysql_query("SELECT navn, password FROM brugere WHERE navn='$_POST[navn]' AND password='$dopass'") or die ("Kunne ikke vælge felter i database-tabellen");

if(mysql_num_rows($tjek) != 0) {

$_SESSION['sessionnr'] = session_id();
$_SESSION['Name'] = $_POST['navn'];
$_SESSION[id] = $_POST['navn'];

header("Location:index.php");

}
}
?>

Håber der er en der kan hjælpe
Avatar billede ahv Nybegynder
01. juli 2003 - 13:25 #1
session_start(); skal stå i toppen af dine sider.
Avatar billede ahv Nybegynder
01. juli 2003 - 13:25 #2
Eller retter dvs. den skal stå få alt output til browseren, hivlket vil resultere i du skal sætted en øverst på din side.
Avatar billede dmdisco Nybegynder
01. juli 2003 - 13:26 #3
session_start(); skal stå som det første på siden
Avatar billede baboum Nybegynder
01. juli 2003 - 13:29 #4
det havde vi prøvet uden held men nu virker det...
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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