Avatar billede kres69 Nybegynder
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.
Avatar billede kres69 Nybegynder
29. april 2003 - 12:16 #1
Tag jer ikke af at der ingen billeder er. Det har ingenting med fejlen at gøre.
Avatar billede ahv Nybegynder
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;
Avatar billede ahv Nybegynder
29. april 2003 - 12:19 #3
Avatar billede kres69 Nybegynder
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">&nbsp;</td>
          <td align="center" valign="middle"> <img src="images/copyright.jpg">
          </td>
        </tr>
      </table>
  <br>
</div>
</body>
</html>
Avatar billede kres69 Nybegynder
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;
}

?>
Avatar billede kres69 Nybegynder
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">&nbsp;</td>
          <td align="center" valign="middle"> <img src="images/copyright.jpg">
          </td>
        </tr>
      </table>
  <br>
</div>
</body>
</html>
Avatar billede kres69 Nybegynder
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];
}
?>
Avatar billede ahv Nybegynder
29. april 2003 - 12:22 #8
Det er din session_start();
Avatar billede ahv Nybegynder
29. april 2003 - 12:23 #9
i tjek.php, den skal op i toppen af visbeskeder.php
Avatar billede ahv Nybegynder
29. april 2003 - 12:25 #10
http://www.ahv.starthotel.dk/test.phps

Sådan så skulle det virke, de to filer er skilt med en sotr margin af entere ;o)
Avatar billede kres69 Nybegynder
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
Avatar billede kres69 Nybegynder
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.
Avatar billede ahv Nybegynder
29. april 2003 - 12:29 #13
Har du også slettet session_start(); fra tjeklogin.php?
Avatar billede ahv Nybegynder
29. april 2003 - 12:30 #14
kres69 >> alexander_hv@hotmail.com
Avatar billede kres69 Nybegynder
29. april 2003 - 12:34 #15
Så er der sendt mail til din hotmail.
Avatar billede ahv Nybegynder
29. april 2003 - 12:37 #16
Så skulle det virke.
Avatar billede kres69 Nybegynder
29. april 2003 - 12:40 #17
Kanon. Tusind tak. Lige på falderebet. Hvad ændrede du kort fortalt?
Avatar billede ahv Nybegynder
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.
Avatar billede kres69 Nybegynder
29. april 2003 - 12:42 #19
Jeg kan oprette et nyt spørgsmål, og så kan du få pointene.
Avatar billede ahv Nybegynder
29. april 2003 - 12:44 #20
:o)
Avatar billede ahv Nybegynder
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"
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