Avatar billede mxs Nybegynder
13. september 2003 - 15:45 Der er 11 kommentarer og
1 løsning

Session driller. Den sender ikke videre

Hey udvikleren.dk

Jeg har sidder med asp i 2½ år nu, men jeg har for nylig slået om til php da jeg vil prøve noget nyt og fordi MySQL skulle være mere satbil og mere sikker.

Jeg har et login side og en default.php side. Default kan man kun komme ind på hvis man har rigtig brugernavn og kode ord ellers bliver man sendt tilbage til login igen.

Min to sider ser sådan ud:


login.php

<?session_start();?>

<html>
<head>
<title>Logger dig ind</title>
</head>

<body>



<p>

<form method="post" action="login.php">
<b>Navn</b><br>
<input type="text" name="navn" length="40"><br>
<b>Adgangskode</b><br>
<input type="password" name="adgangskode" length="40"><br>
<input type="submit" name="submit" value="Log ind">
</form>

<?

if ($submit) {
        if (($navn == "MxS") && ($adgangskode == "25342534")) {
        $_session['login'] = true;
        $_session['bruger'] = $navn;
       
        header("location:default.php");
        exit;
        } else {
        echo "Fejl i system";

       
        }



} else {
    echo " ";
}

?>


</p>
</body>


</html>



Og default.php ser sådan ud:
<?

session_start();
if ($_session['login'] != true) {
header("location:login.php");
exit;
}
?>


<html>
<head>
<title>Login.dk</title>
<link rel="stylesheet" type="text/css" a href="../css.css">
</head>

<body>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="brown" class="bottom"><font face="Verdana" size="5" color="black">Login:Corner.DK</font></td>
<td bgcolor="brown" width="70%" class="bottom"><font face="Verdana" size="5" color="black">/<? echo $_session['bruger']; ?></font></td>
</tr>
<tr>
<td>
<!-----------------Menuen----------------->

<table border="0" width="100%">
<tr><td><a href="default.php?page=Slet" class="menu"><img src="../billeder/case.jpg" border="0">Slet:Corner.dk</a></td></tr>
<tr><td><a href="default.php?page=Opdatering" class="menu"><img src="../billeder/case.jpg" border="0">Opdatering:Corner.dk</a></td></tr>
<tr><td><a href="default.php?page=Links" class="menu"><img src="../billeder/case.jpg" border="0">Links:Corner.dk</a></td></tr>
<tr><td><a href="default.php?page=Artikel" class="menu"><img src="../billeder/case.jpg" border="0">Artikel:Corner.dk</a></td></tr>
<tr><td><a href="default.php?page=Ret_fil" class="menu"><img src="../billeder/case.jpg" border="0">Ret_fil:Corner.dk</a></td></tr>
<tr><td><a href="default.php?page=Chat_log" class="menu"><img src="../billeder/case.jpg" border="0">Chat_log:Corner.dk</a></td></tr>
<tr><td><a href="default.php?page=Upload_billed" class="menu"><img src="../billeder/case.jpg" border="0">Upload_billed:Corner.dk</a></td></tr>
<tr><td><a href="default.php" class="menu"><img src="../billeder/case.jpg" border="0">Forside:Corner.dk</a></td></tr>
</table>


</td>
<td bgcolor="white" valign="top"><p>

<?

//Undersiderne hives frem

if ($page == "Slet"){
include("Sider/slet.php") ;
} elseif ($page == "Opdatering") {
include("Sider/Opdatering.php") ;
} elseif ($page == "Links") {
include("Sider/Links.php");
} elseif ($page == "Artikel") {
include("Sider/Artikel.php") ;
} elseif ($page == "Ret_fil") {
include("Sider/ret_fil.php");
} elseif ($page =="Chat_log") {
include("Sider/Chat_log.php") ;
} elseif ($page =="Upload_billed") {
include("Sider/Upload_billed.php");
} else {
include("Sider/Forside.php");
}



?>



</p></td>
</tr>



</table>



<br>
<br>
<br>
<a href="logout.php">Log ud</a>

</body>

</html>


Mit problem er at jeg ikke kan få den til at virke ordentlig og jeg tror at det har noget at gøre med den måde hvor på jeg skriver sessions? Vil i gerne give mig en løsning på hvad jeg gør forkert? Jeg tror måske også at det kan være noget med min php.ini, men jeg ved ikke lige hvad jeg skal lave om på.

PS. Kan det være noget med global_register eller andet i php.ini?
På forhånd tak, |MxS
Avatar billede whatever Nybegynder
13. september 2003 - 15:47 #1
$_SESSION skal være med stort. Jeg har ret overbevist om at det er case sensitive.
Avatar billede mxs Nybegynder
13. september 2003 - 15:56 #2
Har sat det til stort, men det virker stadig ikke... Den gider ikke logge ind på default.php.... Jeg kan ikke fatte det. Kan det ha noget at gøre med min login.php? Eller måske min php.ini fil?
Avatar billede whatever Nybegynder
13. september 2003 - 16:06 #3
Prøv dette:

<?php
    session_start();
    if ($_POST['submit']) {
        if (($_POST['navn'] == "MxS") && ($_POST['adgangskode'] == "25342534")) {
            $_SESSION['login'] = true;
                $_SESSION['bruger'] = $_POST['navn'];
                header("location: default.php");
            exit;
            } else {
            $msg "Fejl i system";
        }
?>
<html>
<head>
<title>Logger dig ind</title>
</head>
<body>
<p>
<?php echo($msg) ?>
<form method="post" action="login.php">
<b>Navn</b><br>
<input type="text" name="navn" length="40"><br>
<b>Adgangskode</b><br>
<input type="password" name="adgangskode" length="40"><br>
<input type="submit" name="submit" value="Log ind">
</form>
</p>
</body>
</html>





<?php
    session_start();
    if ($_SESSION['login'] != true) {
        header("location: login.php");
        exit;
    }
?>

<html>
<head>
<title>Login.dk</title>
<link rel="stylesheet" type="text/css" a href="../css.css">
</head>

<body>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="brown" class="bottom"><font face="Verdana" size="5" color="black">Login:Corner.DK</font></td>
<td bgcolor="brown" width="70%" class="bottom"><font face="Verdana" size="5" color="black">/<? echo $_session['bruger']; ?></font></td>
</tr>
<tr>
<td>
<!-----------------Menuen----------------->

<table border="0" width="100%">
<tr><td><a href="default.php?page=Slet" class="menu"><img src="../billeder/case.jpg" border="0">Slet:Corner.dk</a></td></tr>
<tr><td><a href="default.php?page=Opdatering" class="menu"><img src="../billeder/case.jpg" border="0">Opdatering:Corner.dk</a></td></tr>
<tr><td><a href="default.php?page=Links" class="menu"><img src="../billeder/case.jpg" border="0">Links:Corner.dk</a></td></tr>
<tr><td><a href="default.php?page=Artikel" class="menu"><img src="../billeder/case.jpg" border="0">Artikel:Corner.dk</a></td></tr>
<tr><td><a href="default.php?page=Ret_fil" class="menu"><img src="../billeder/case.jpg" border="0">Ret_fil:Corner.dk</a></td></tr>
<tr><td><a href="default.php?page=Chat_log" class="menu"><img src="../billeder/case.jpg" border="0">Chat_log:Corner.dk</a></td></tr>
<tr><td><a href="default.php?page=Upload_billed" class="menu"><img src="../billeder/case.jpg" border="0">Upload_billed:Corner.dk</a></td></tr>
<tr><td><a href="default.php" class="menu"><img src="../billeder/case.jpg" border="0">Forside:Corner.dk</a></td></tr>
</table>


</td>
<td bgcolor="white" valign="top"><p>

<?php

    //Undersiderne hives frem
    switch ($_GET['page']) {
        case "Slet":
            include("Sider/slet.php");
            break;
        case "Opdatering":
            include("Sider/Opdatering.php");
            break;
        case "Links":
            include("Sider/Links.php");
            break;
        case "Artikel":
            include("Sider/Artikel.php");
            break;
        case "Ret_fil":
            include("Sider/ret_fil.php");
            break;
        case "Chat_log":
            include("Sider/Chat_log.php");
            break;
        case "Upload_billed":
            include("Sider/Upload_billed.php");
            break;
        default:
            include("Sider/Forside.php");
    }

?>
</p></td>
</tr>
</table>
<br>
<br>
<br>
<a href="logout.php">Log ud</a>
</body>
</html>
Avatar billede mxs Nybegynder
14. september 2003 - 17:32 #4
Okai det prøver jeg! Tror du at det kan have noget at gøre med hvordan jeg henter data fra formen?
Avatar billede mxs Nybegynder
14. september 2003 - 17:40 #5
Jeg har lavet lidt om i den, men den melder fejl på linje 30 (Der står ingenting)

<?
    session_start();
    if ($_POST['submit']) {
        if (($_POST['navn'] == "MxS") && ($_POST['adgangskode'] == "25342534")) {
            $_SESSION['login'] = true;
                $_SESSION['bruger'] = $_POST['navn'];
                header("location: default.php");
            exit;
            } else {
            $msg = "Fejl i system";
        }
?>
<html>
<head>
<title>Logger dig ind</title>
</head>
<body>
<p>
<? echo "$msg" ; ?>
<form method="post" action="login.php">
<b>Navn</b><br>
<input type="text" name="navn" length="40"><br>
<b>Adgangskode</b><br>
<input type="password" name="adgangskode" length="40"><br>
<input type="submit" name="submit" value="Log ind">
</form>
</p>
</body>
</html>

Her er koden.
Avatar billede whatever Nybegynder
14. september 2003 - 17:53 #6
Der mangler en væltet tuborg. Prøv dette:

<?php
    session_start();
    if ($_POST['submit']) {
        if (($_POST['navn'] == "MxS") && ($_POST['adgangskode'] == "25342534")) {
            $_SESSION['login'] = true;
            $_SESSION['bruger'] = $_POST['navn'];
            header("location: default.php");
            exit;
        } else {
            $msg = "Fejl i system";
        }
    }   

?>
Avatar billede mxs Nybegynder
14. september 2003 - 18:10 #7
Den gider ikke sende <4_SESSION['bruger'] videre til default.php. Hvordan kan det være. Og loger jeg ind og logger ud igen og derefter bare taster /default.php så kommer jeg direkte ind på siden. Tror du min session virker? Skal jeg ændre noget i php.ini?
Avatar billede mxs Nybegynder
14. september 2003 - 18:15 #8
Hmmm mfandt så lige ud af at SESSION er case sen. Har rettet den, men den gider ikke slette min session år jeg logger ud.
Avatar billede mxs Nybegynder
14. september 2003 - 18:25 #9
MIt logout.php ser sådan ud:
<?

session_destroy();

header("location:login.php");
exit;

?>
Der er da ikke noget forkert i det, vel?
Avatar billede whatever Nybegynder
14. september 2003 - 18:30 #10
Prøv at smide en session_start() inden du kører session_destroy()
Avatar billede mxs Nybegynder
14. september 2003 - 18:34 #11
Ej nu virker det sgu!!!
Tark whatever!!

Hvad det fordi du brugte $POST['navn']?
Henter den data fra en form? Jeg kunne ikke bruge $navn. Er det fordi når jeg sætter action i min form til samme side så sætter den ikke mit data op i selve linket?
Avatar billede mxs Nybegynder
25. januar 2004 - 22:33 #12
Jeg lukker denne tråd
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