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
Annonceindlæg fra Cognizant
AI er ikke problemet. Eksekvering er.
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
13. september 2003 - 15:47
#1
$_SESSION skal være med stort. Jeg har ret overbevist om at det er case sensitive.
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?
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>
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?
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.
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"; } } ?>
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?
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.
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?
14. september 2003 - 18:30
#10
Prøv at smide en session_start() inden du kører session_destroy()
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?
25. januar 2004 - 22:33
#12
Jeg lukker denne tråd
Vi tilbyder markedets bedste kurser inden for webudvikling