Avatar billede raan Nybegynder
21. april 2010 - 13:11 Der er 6 kommentarer

Session problemer

Hej.

Jeg har et problem med mit login system, for det kan sagtens logge ind med brugernavn og kodeord, men i det du går videre til en ny side bliver alle sessioner dræbt af en mærkelig årsag.
Har i en idé til hvad det kan være?

..............................index.php...............................
<?
session_start();
?>
<html>
<head>
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Famwall - Familiens planlaegger</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>

<div align="center">
    <table border="1" width="800" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF" bordercolor="#FFFFFF">
        <tr>
            <td class="top1"></td>
            <td class="top2"></td>
            <td class="top3">Famwall</b></td>
        </tr>
        <tr>
            <td class="information1"></td>
            <td class="information2"></td>
            <td class="information3"></td>
        </tr>
        <tr>
            <td class="midt1"></td>
            <td class="midt2">
            <b>Navigation</b><br>
            - <a href="?side=forside">Forside</a><br>
            - <a href="?side=information">Information</a><br>
            - <a href="?side=funktioner">Funktioner</a><br>
            - <a href="?side=kontakt">Kontakt</a><br>
            <br>
            <b>Brugermenu</b><br>
                <?
                if(!$_SESSION['famwall001']){
                    echo "- <a href=?side=logon>Logon</a><br>";
                    echo "- <a href=?side=logon_opretbruger>Opret bruger</a><br>";
                    echo "- <a href=?side=logon_glemtkodeord>Glemt kodeord</a><br><br><br>";
                }
                else {

                echo "menu for bruger<br>";
                echo "- <a href=logon_logud.php>Log ud</a><br><br><br>";

                }
                ?>             
            </td>
            <td class="midt3">
            <?php
        if(isset($_GET['side']))
        {
          $page = $_GET['side'].".php";
          if(file_exists($page))
          {
            include($page);
          }
          else
          {
            include('sidefejl.php');
          }
        }
        else
        {
            include('forside.php');
        }
        ?>
            </td>
        </tr>
        <tr>
            <td class="bund1"></td>
            <td class="bund2">FamWall - Familiens planlægger</td>
            <td class="bund3"></td>
        </tr>
    </table>
</div>
<body>

</body>

</html>


..............................Logon.php...........................
<?
session_start();
include('sql.php');
$loginnavn = $_POST['loginnavn'];
$pass = $_POST['pass'];
if($_SESSION['famwall001'])
{
        include('logon_menu.php');
}
else if($loginnavn)
{
$query=mysql_query("SELECT * from famwall_profil WHERE username='$loginnavn' AND password='$pass'") or die(mysql_error());
    if(mysql_num_rows($query)>0)
    {
        $row = mysql_fetch_array($query);
        $_SESSION['famwall001']=$row['username'];
        $_SESSION['fornavn']=$row['fornavn'];
        $_SESSION['efternavn']=$row['efternavn'];
        mysql_query("UPDATE famwall_profil SET lastOnline = NOW() WHERE username='" . $_SESSION['brugernavn'] . "'");
        mysql_query("UPDATE famwall_profil SET logantal = logantal + 1 WHERE username='" . $_SESSION['brugernavn'] . "'");
        include('logon_menu.php');
        }
        else {
        echo "<script>alert('Forkert brugernavn eller adgangskode!'); </script>";
?>
<form method=post action=>
              <input class="logon_felt" type="text" name="loginnavn" value='Brugernavn' onfocus="if(this.value=='Brugernavn')this.value='';" onblur="if(this.value=='')this.value='Brugernavn';" size="25"><br>
              <input class="logon_felt" type="password" name="pass" value='Password' onfocus="if(this.value=='Password')this.value='';" onblur="if(this.value=='')this.value='Password';" size="25"><br>
          <input class="logon_knap" type="submit" value="Login"> <button class="logon_knap" onclick="window.location.href='?side=logon_kodeord'">Glemt kodeord</button>
</form>
<?
}
}
else
{
?>
<form method=post action=>
              <input class="logon_felt" type="text" name="loginnavn" value='Brugernavn' onfocus="if(this.value=='Brugernavn')this.value='';" onblur="if(this.value=='')this.value='Brugernavn';" size="25"><br>
              <input class="logon_felt" type="password" name="pass" value='Password' onfocus="if(this.value=='Password')this.value='';" onblur="if(this.value=='')this.value='Password';" size="25"><br>
          <input class="logon_knap" type="submit" value="Login"> <button class="logon_knap" onclick="window.location.href='?side=logon_kodeord'">Glemt kodeord</button>
</form>
<?
}
?>
Avatar billede raan Nybegynder
21. april 2010 - 13:16 #1
for at teste kan i prøve randersen.dk/lort
brugernavn: raan
kodeord: raan
Avatar billede majbom Novice
21. april 2010 - 14:08 #2
siden virker ikke, heller ikke lort.php

hvordan konstaterer du at sessionen dør?
Avatar billede showsource Seniormester
21. april 2010 - 15:03 #3
Dette:
if(isset($_GET['side']))
        {
          $page = $_GET['side'].".php";
          if(file_exists($page))
          {
            include($page);
          }

lad os sige jeg skriver ?side=url-link-til-phpfil

og php fil indeholder

@include("sql.php");
mysql_query("DROP TABLE famwall_profil");


Dette kan lade sig gøre hvis allow_url_fopen er on i php.ini
Som min. skal du bruge:

$page = basename($_GET['side']).".php";
Avatar billede raan Nybegynder
27. april 2010 - 14:45 #4
det var en fejl i indkodning, så der stod nogle tegn som ikke blev vist i det dokument jeg havde oprettet.

Men til showsource så takker jeg mange gange, og du får pointene.
Avatar billede showsource Seniormester
27. april 2010 - 23:51 #5
Dy forstod at det var muligt at ødelægge din side med din viste kode ?
Avatar billede majbom Novice
04. november 2010 - 13:39 #6
husk at acceptere svaret raan...
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