webForumDet fria alternativet

sessioner - problem

9 svar · 212 visningar · startad av rms

rmsMedlem sedan mars 200216 inlägg
#1

hejsan jag har ett problem med sessioner i php... om ni går in på länken som heter "testa här" nedan så kan ni prova logga in med trf/mjolk så funkar det, men loggar ni in med vadsomhelst annat funkar det inte... till problemt: som är att om jag först skriver fel, och sen skriver rätt... funkar det ändå inte...

index.php:

<?
session_start();
session_register("in");
if($in)
{
$file = "trf";
$asdf = "$file.php";
include('header.php');
include('db.php');
include($asdf);
include('footer.php');
}
else
{
include('header.php');
echo "You are not logged in. <a href=\"login.php\">Login</a>.";
include('footer.php');
}
?>

login.php:

<? include('header.php'); ?>

<form action="dologin.php" method="post">
<table>
<tr><td>
username:
</td><td>
<input type="text" name="username">
</td></tr>
<tr><td>
password:
</td><td>
<input type="password" name="password">
</td></tr>
<tr><td>
</td><td>
<input type="submit" value="Login">
</td></tr>
</table>
</form>

<? include('footer.php'); ?>

dologin.php:

<?
if($username == trf && $password == mjolk)
{
$in = 1;
session_register("in");
header('Location: index.php?file=trf');
}
else
{
$in = 0;
session_register("in");
header('Location: yanli.php');
}
?>

yanli.php:

<? include('header.php'); ?>

<p>
Login failed.
</p>
<form action="dologin.php" method="post">
<table>
<tr><td>
username:
</td><td>
<input type="text" name="username">
</td></tr>
<tr><td>
password:
</td><td>
<input type="password" name="password">
</td></tr>
<tr><td>
</td><td>
<input type="submit" value="Login">
</td></tr>
</table>
</form>

<? include('footer.php'); ?>

testa här

Web-TorMedlem sedan nov. 200013 890 inlägg
#2

Jag hittar inget ställe att logga in på :q

rmsMedlem sedan mars 200216 inlägg
#3

!

När man kommer till index.php är man inte inloggad första gången och då kommer man till login.php. Där kan man logga in. Om du inte ser det måste du nog skaffa glasögon.

Web-TorMedlem sedan nov. 200013 890 inlägg
#4

När jag klickar på länken i ditt första inlägg så kommer jag till en sida som innehåller den här koden:

<html>
<head>
<title>
The Rude Foundation
</title>
<link rel="stylesheet" href="css.css">
</head>
<body>
<a href="index.php"><img src="trf.jpg" border="0" alt=""></a><br>
torsdag 28/3 14:01<p>

matches: 1
<p>
<a href="add_match.php">Add match</a>
</p>
<table cellpadding="0" cellspacing="0" width="940">
<tr>
<td class="tddark" width="64">
<b>type</b>
</td>
<td class="tddark" width="256">
<b>date</b>
</td>
<td class="tddark" width="256">
<b>versus</b>
</td>
<td class="tddark" width="64">
<b>result</b>
</td>
<td class="tddark" width="100">
&nbsp;
</td>
<td class="tddark" width="100">
&nbsp;
</td>
<td class="tddark" width="100">
&nbsp;
</td>
</tr>
</table>

<table cellpadding="0" cellspacing="0" width="940"><tr><td class="tdlight" width="64">pcw</td><td class="tdlight" width="256"></td><td class="tdlight" width="256">
</td><td class="tdlight" width="64">
</td><td class="tdlight" width="100" align="center"><a href="add_player.php?mid=4">Add player</a></td><td class="tdlight" width="100" align="center"><a href="delete_match.php?mid=4">Delete match</a></td><td class="tdlight" width="100" align="center"><a href="add_result.php?mid=4">Add result</a></td></tr></table><table cellpadding="0" cellspacing="0" width="200"></table><p>&nbsp;</p>
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="right">
<a href="mailto:rms@home.no"><img src="c.jpg" border="0" alt=""></a>
</p>
</body>
</html>

Hittar du nåt som har med "login" på den här sidan så lovar jag att skaffa glasögon.

Jag skickas inte vidare till sidan 'login.php' :l

rmsMedlem sedan mars 200216 inlägg
#5

!

Ja sidan blev reparerad igår till en äldre version. Ska försöka få upp den version med denna koden idag... Så länge, kolla på koden och kolla om där e något fel, sessionen tycks inte lagras i yanli.php...

header.php ser ut så här:

<?php
session_start();
session_register("in");
?>

<html>
<head>
<title>
The Rude Foundation
</title>
<link rel="stylesheet" href="css.css">
</head>
<body>
<a href="index.php"><img src="trf.jpg" border="0" alt=""></a><br>

<?php
$day = date("w");
$dayarray = array("söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag");
$month = date("n");
$date = date("j");
$time = date("H:i");
echo "$dayarray[$day] $date/$month $time";
?>

<p>
rmsMedlem sedan mars 200216 inlägg
#6

!

ni kan kolla demot på sidan igen så förstår ni nog problemet!

prova först att logga in med trf/mjolk... sen stäng explorer, logga in med något annat, och sen prova trf/mjolk igen utan att stänga explorer... detta fungerar inte... :( alltså om man skriver fel en gång går det inte komma in utan att starta om explorer.

testa här

ThACRoWMedlem sedan dec. 2001314 inlägg
#7

Hej, prova att ändra till detta i "dologin.php":

<?
if($username == trf && $password == mjolk)
{
$_SESSION[in] = 1;
header('Location: index.php?file=trf');
}
else
{
$_SESSION[in] = 0;
header('Location: yanli.php');
}
?>

vet dock inte om det funkar, men det är värt ett försök. Har för mig att om du använder session_register("in") så ersätter den $in med en tom string (säg till om jag har fel, ni som kan)

rmsMedlem sedan mars 200216 inlägg
#8

!

Nope fungerade likadant.

Men tack ändå :P Bra med lite aktivitet!

ThACRoWMedlem sedan dec. 2001314 inlägg
#9

:( tråkigt.... okej prova detta (jag bara gissar lite nu ;) )

plocka port session_register("in") ifrån "header.php"

så att du bara registrerar $in en gång i "index.php"..... kanske inte ha någon betydelse... hmmm men prova! :)

rmsMedlem sedan mars 200216 inlägg
#10

Jag tror att jag ska försöka skriva om loginscriptet lite grann så jag inte kör allt från index.php

143 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)