29. april 2003 - 12:15
Der er
20 kommentarer og 1 løsning
Session fejl.
Hej
Jeg har lavet et mailsystem, men jeg får desværre session fejl, når jeg er logget ind.
PRØV SELV:
http://www.kriztian.dk/einfo/logind.php Brugernavn: mias
Password: test
Det er først efter, at jeg har lavet grafisk brugerflade at den melder fejl.
Hvad er der galt.
Annonceindlæg fra Jysk IT
Sikkerhed skal være en del af driften
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
29. april 2003 - 12:16
#1
Tag jer ikke af at der ingen billeder er. Det har ingenting med fejlen at gøre.
29. april 2003 - 12:17
#2
Så vidt jeg husker har denne fejl noget med at gøre når du laver flg: $_SESSION['var'] = $var;
29. april 2003 - 12:19
#3
29. april 2003 - 12:19
#4
HER ER MIN KODE: LOGIN.PHP <html> <head> <title>E-INFO</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="stylesheet/einfo-css.css" rel="stylesheet" type="text/css"> </head> <body background="stylesheet/background.jpg" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <div align="center"> <table border="0" cellspacing="0" cellpadding="0" height="60" width="762"> <tr> <td> <?php include("menu.txt"); ?> </td> </tr> </table> <table width="762" border="0" cellspacing="0" cellpadding="0" height="400"> </table> <tr> <td valign="top" width=""> <br> <table border="0" cellspacing="0" cellpadding="0" width="400 "> <tr> <td width="30" height="30"><img src="frames/nv.gif" width="30" height="30"></td> <td background="frames/n.gif" height="30" width=""></td> <td width="30" height="30"><img src="frames/ne.gif" width="30" height="30"></td> </tr> <tr> <td height="112" background="frames/v.gif"></td> <td valign="top" background="frames/c.gif" class="heading"> <form action="dologin.php" method="post"> <input type="hidden" name="logind" value="logind"> <p><b>Indtast:</b></p> Brugernavn:<br> <input type="text" name="navn"><br> Password:<br> <input type="password" name="password"><br> <input type="submit" name="submit" value="Log ind"> </form> <!--html-form. ---> <?php if (isset($_GET['error']) && $_GET['error'] == "fejl") { echo"<b>Fejl i brugernavn eller password!</b>"; } ?> </td> <td background="frames/e.gif"></td> </tr> <tr> <td><img src="frames/sv.gif" width="30" height="30"></td> <td background="frames/s.gif"></td> <td><img src="frames/se.gif" width="30" height="30"></td> </tr> </table> <br> <table width="727" border="0" cellspacing="0" cellpadding="0"> <!--DWLayoutTable--> <tr> <td width="1" height="22"> </td> <td align="center" valign="middle"> <img src="images/copyright.jpg"> </td> </tr> </table> <br> </div> </body> </html>
29. april 2003 - 12:20
#5
DOLOGIN.php <?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. $conn = mysql_connect("localhost", "kriztian_dk", "62IBdqRm"); mysql_select_db("kriztian_dk") or die (mysql_error()); $tjek = mysql_query("SELECT foraeldre.navn, foraeldre.password, elev.navn, elev.password, laerer.navn, laerer.password FROM foraeldre, elev, laerer WHERE foraeldre.navn='$_POST[navn]' AND foraeldre.password='$dopass' or elev.navn='$_POST[navn]' AND elev.password='$dopass' or laerer.navn = '$_POST[navn]' AND laerer.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']; header("Location:visbeskeder.php"); exit; }else{ header("Location:logind.php?error=fejl"); exit; } }else{ header("Location:logind.php"); exit; } ?>
29. april 2003 - 12:20
#6
VISBESKEDER.PHP <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>E-INFO</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <?php require("tjeklogin.php"); ?> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); //--><html> </script> <body background="stylesheet/background.jpg" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <div align="center"> <table border="0" cellspacing="0" cellpadding="0" height="60" width="762"> <tr> <td> <?php include("menu.txt"); ?> </td> </tr> </table> <table width="762" border="0" cellspacing="0" cellpadding="0" height="400"> </table> <tr> <td valign="top" width=""> <br> <table border="0" cellspacing="0" cellpadding="0" width="762"> <tr> <td width="30" height="30"><img src="frames/nv.gif" width="30" height="30"></td> <td background="frames/n.gif" height="30" width=""></td> <td width="30" height="30"><img src="frames/ne.gif" width="30" height="30"></td> </tr> <tr> <td height="112" background="frames/v.gif"></td> <td valign="top" background="frames/c.gif" class="heading"> <?php $brugernavn = $_SESSION['Name']; include("db_ind.inc"); $result = mysql_query("select * from mails WHERE too = '$brugernavn' order by dato desc"); echo "<b><h1>Indbakke</h1></b><p>"; while ($row = mysql_fetch_array($result)){ $fra = $row["fromm"]; $tis = $row["id"]; $emne = $row["emne"]; $laest1 = $row["laest"]; $dato = $row["dato"]; $hentelevnavn = mysql_query("SELECT * FROM elev WHERE navn = '$fra' ") or die (mysql_error()); $hentforaeldrenavn = mysql_query("SELECT * FROM foraeldre WHERE navn = '$fra' ") or die (mysql_error()); $hentlaerernavn = mysql_query("SELECT * FROM laerer WHERE navn = '$fra' ") or die (mysql_error()); $elevinfo = mysql_fetch_array($hentelevnavn); $foraeldreinfo = mysql_fetch_array($hentforaeldrenavn); $laererinfo = mysql_fetch_array($hentlaerernavn); $foraeldrefornavn = $foraeldreinfo["fornavn1"]; $foraeldrefornavn2 = $foraeldreinfo["fornavn2"]; $foraeldreefternavn = $foraeldreinfo["efternavn1"]; $elevfornavn = $elevinfo["fornavn"]; $elevefternavn = $elevinfo["efternavn"]; $laererfornavn = $laererinfo["fornavn"]; $laererefternavn = $laererinfo["efternavn"]; if ($laererinfo != ""){ $fornavn = "$laererfornavn"; $efternavn = "$laererefternavn"; } else {if ($foraeldreinfo == ""){ $fornavn = "$elevfornavn"; $efternavn = "$elevefternavn"; } else { $fornavn = "$foraeldrefornavn og $foraeldrefornavn2"; $efternavn = ""; }} echo "<table width=\"75%\" border=\"0\">"; echo" <tr> <td width=\"25%\"><a href=\"visbesked.php?id=$tis\"><b>Fra</b> $fornavn $efternavn</td> <td width=\"33%\"><a href=\"visbesked.php?id=$tis\"><b>Emne:</b> $emne</td> <td width=\"33%\"> <a href=\"visbesked.php?id=$tis\"><b>Afsendt d.</b> $dato</a>"; if ($laest1 == "læst") { echo "<img border=\"0\" src=\"laest.gif\">"; } else { echo "<img border=\"0\" src=\"ikkelast.gif\">"; } echo "</td><br>"; echo" </tr> </table>"; } mysql_close($conn); ?> <p></p> <a href="visbeskeder.php">Tilbage til indbakken</a><br> <a href="sendbesked.php">Skriv ny besked</a><br> <a href="udbakke.php">Sent post</a><br> <?php logud_og_links(); ?> </td> <td background="frames/e.gif"></td> </tr> <tr> <td><img src="frames/sv.gif" width="30" height="30"></td> <td background="frames/s.gif"></td> <td><img src="frames/se.gif" width="30" height="30"></td> </tr> </table> <br> <table width="727" border="0" cellspacing="0" cellpadding="0"> <!--DWLayoutTable--> <tr> <td width="1" height="22"> </td> <td align="center" valign="middle"> <img src="images/copyright.jpg"> </td> </tr> </table> <br> </div> </body> </html>
29. april 2003 - 12:20
#7
TJEKLOGIN.PHP <?php session_start(); if (!isset($_SESSION['Name'], $_SESSION['sessionnr']) || $_SESSION['sessionnr'] != session_id()) { header("Location:logind.php"); } function logud_og_links() { echo"<form action=\"logud.php\" method=\"post\">\n"; echo"<input type=\"submit\" value=\"Log ud\">\n"; echo"</form>\n"; } function filnavn() { $vistnavn = explode(".", basename($_SERVER['PHP_SELF'])); echo $vistnavn[0]; } ?>
29. april 2003 - 12:22
#8
Det er din session_start();
29. april 2003 - 12:23
#9
i tjek.php, den skal op i toppen af visbeskeder.php
29. april 2003 - 12:28
#11
Jeg prøvede at sætte din kode ind i visbeskeder.php og fik denne fejlmeddelse: Fatal error: Cannot redeclare logud_og_links() in c:\apache\htdocs\development\tjeklogin.php on line 7
29. april 2003 - 12:29
#12
AHV, hvis nu jeg giver dig adgang til mit webhotel, kan du så fixe problemet? Jeg kan sende dig brugernavn og adgangskode via mail. Jeg giver 100 point ekstra for det.
29. april 2003 - 12:29
#13
Har du også slettet session_start(); fra tjeklogin.php?
29. april 2003 - 12:30
#14
kres69 >> alexander_hv@hotmail.com
29. april 2003 - 12:34
#15
Så er der sendt mail til din hotmail.
29. april 2003 - 12:37
#16
Så skulle det virke.
29. april 2003 - 12:40
#17
Kanon. Tusind tak. Lige på falderebet. Hvad ændrede du kort fortalt?
29. april 2003 - 12:41
#18
Ehm, det kan du jo se i test.phps, som jeg fortalte rykkede jeg din session_start(); fra tjeklogin.php til visbeskeder.php De 100 points du ville tilføje, det er lige meget nu du har accepteret.
29. april 2003 - 12:42
#19
Jeg kan oprette et nyt spørgsmål, og så kan du få pointene.
29. april 2003 - 12:44
#20
:o)
29. april 2003 - 12:53
#21
Hvis du opretter et så husk at lave det med et ref til dette spm. og kald spørgsmål får "Points til AHV"
Vi tilbyder markedets bedste kurser inden for webudvikling