[ Príspevkov: 12 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
problem so session start

Registrovaný: 07.08.06
Prihlásený: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
NapísalOffline : 26.03.2008 12:28 | problem so session start

Mam jednoduchy script na prihlasenie uzivatela:
Kód:
<?
Header("Pragma: No-cache");
Header("Cache-Control: No-cache, Must-revalidate");
Header("Expires: ".GMDate("D, d M Y H:i:s")." GMT");

$MC = MySQL_Connect("xxxxxx", "xxxxxx", "xxxxxx");
$MS = MySQL_Select_Db("xxxxxxx");

If ((IsSet($_POST[login])) AND (IsSet($_POST[password]))):
$password=$_POST[password];
$login=$_POST[login];
$p = MD5(sha1($password));


$MSQ = MySQL_Query("SELECT * FROM users WHERE (login LIKE '$login') AND (password LIKE '$p')");

If (MySQL_Num_Rows($MSQ) <> 1):
echo "Neautorizovaný prístup";
Exit;

Else:
$SN = "autorizacia";
Session_name("$SN");
Session_start();
$sid = Session_id();
$date = Date("U");
$at = Date("U") - 1800;

$MSQ = MySQL_Query("INSERT INTO autorizacia VALUES ('$sid', $date)");
$MSQ = MySQL_Query("DELETE FROM autorizacia WHERE date < $at");
Endif;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Autorizacia</title>
</head>

<body>
Prihlasenie prebehlo v poriadku. Tu bude stranka.

Dalsia podstranka <a href='stranka.php'>Link</a>


<?
Elseif (IsSet($lo)):

$SN = "autorizacia";
Session_name("$SN");
Session_start();
$sid = Session_id();

$MSQ = MySQL_Query("DELETE FROM autorizacia WHERE id = '$sid'");
echo "Boli ste odhlaseny";
Else:
?>
<form action="autorizacia.php" method="post">
<input type="Text" name="login">
<br>
<input type="Password" name="password">
<br>
<input type="Submit" value="Prihlasenie">
</form>
<?Endif;?>
</body>
</html>


Toto funguje dobre - teda po prihlaseni skontroluje udaje s udajmi v databaze a vypise Prihlasenie prebehlo v poriadku. Tu bude stranka.

Potom tam mam link na nejaku dalsiu podstranku:
Kód:
Dalsia podstranka <a href='stranka.php'>Link</a>
Ked sa otvori tato dalsia stranka, includujem do nej script napr. overenie.php, ktory overi, ci ma uzivatel pristup na tuto stranku - teda iba ak je prihlaseny. Ten script overenie.php je tu:
Kód:
<?

$MC = MySQL_Connect("xxxxxx", "xxxxxx", "xxxxxx");
$MS = MySQL_Select_Db("xxxxxx");

$SN = "autorizacia";

Session_name("$SN");
Session_start();
$sid = Session_id();
$date = Date("U");
$ad = Date("U") - 300;



$MSQ = MySQL_Query("SELECT * FROM autorizacia WHERE (id = '$sid') AND (date >= $ad)");

If (MySQL_Num_Rows($MSQ) <> 1):
echo "Neautorizovaný prístup";
Exit;
Else:
$MSQ = MySQL_Query("UPDATE autorizacia SET date = $date WHERE id = '$sid'");
Endif;
MySQL_Close($MC);

?>


Teda ta podstranka vyzera napr. takto /stranka.php/:
Kód:
include ('overenie.php');

bla blabla ....

<a href="autorizacia.php?lo=true">Odhlásit sa</a>
Problem je v tomto includovanom scripte pri funkcii Session_start(); - tu mi vypisuje
Kód:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /domains1/...../root/stranka.php:2) in /domains1/.../root/overenie.php on line 9
Line 9 je presne to Session_start();. Lenze ja to musim pouzit v kazdej podstranke. Neviem ake headers boli uz poslane, ked je ten script includovany na samom zaciatku stranky. Viete mi prosim poradit v com je chyba? Diky


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.02.07
Prihlásený: 26.01.15
Príspevky: 257
Témy: 20 | 20
NapísalOffline : 26.03.2008 12:35 | problem so session start

Skontroluj si, ci v subore overenie.php si neodoslal uz nieco na obrazovku pred tym ako volas session_start();
To znamena, ze aj jedna medzera (jeden space) moze sposobovat problemy. Skontroluj si to. Inak tam chybu nevidim. Malo by to fungovat.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3991
Témy: 96 | 96
NapísalOffline : 26.03.2008 12:57 | problem so session start

Kód:
<?
Header("Pragma: No-cache");
Header("Cache-Control: No-cache, Must-revalidate");
Header("Expires: ".GMDate("D, d M Y H:i:s")." GMT");

$MC = MySQL_Connect("xxxxxx", "xxxxxx", "xxxxxx");
$MS = MySQL_Select_Db("xxxxxxx");

If ((IsSet($_POST[login])) AND (IsSet($_POST[password]))):
$password=$_POST[password];
$login=$_POST[login];
$p = MD5(sha1($password));


$MSQ = MySQL_Query("SELECT * FROM users WHERE (login LIKE '$login') AND (password LIKE '$p')");

If (MySQL_Num_Rows($MSQ) <> 1):
echo "Neautorizovaný prístup";
Exit;

Else:
$SN = "autorizacia";
Session_start();
Session_name("$SN");
$sid = Session_id();
$date = Date("U");
$at = Date("U") - 1800;

$MSQ = MySQL_Query("INSERT INTO autorizacia VALUES ('$sid', $date)");
$MSQ = MySQL_Query("DELETE FROM autorizacia WHERE date < $at");
Endif;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Autorizacia</title>
</head>

<body>
Prihlasenie prebehlo v poriadku. Tu bude stranka.

Dalsia podstranka <a href='stranka.php'>Link</a>


<?
Elseif (IsSet($lo)):

$SN = "autorizacia";
Session_start();
Session_name("$SN");
$sid = Session_id();

$MSQ = MySQL_Query("DELETE FROM autorizacia WHERE id = '$sid'");
echo "Boli ste odhlaseny";
Else:
?>
<form action="autorizacia.php" method="post">
<input type="Text" name="login">
<br>
<input type="Password" name="password">
<br>
<input type="Submit" value="Prihlasenie">
</form>
<?Endif;?>
</body>
</html>

Kód:
<?
$MC = MySQL_Connect("xxxxxx", "xxxxxx", "xxxxxx");
$MS = MySQL_Select_Db("xxxxxx");

$SN = "autorizacia";
Session_start();
Session_name("$SN");
$sid = Session_id();
$date = Date("U");
$ad = Date("U") - 300;



$MSQ = MySQL_Query("SELECT * FROM autorizacia WHERE (id = '$sid') AND (date >= $ad)");

If (MySQL_Num_Rows($MSQ) <> 1):
echo "Neautorizovaný prístup";
Exit;
Else:
$MSQ = MySQL_Query("UPDATE autorizacia SET date = $date WHERE id = '$sid'");
Endif;
MySQL_Close($MC);

?>


1, najkôr spusti session ($session_start()) až tak do používaj
2, session je ako header a mal by byť pre znakovým výstupom ...


Offline

Užívateľ
Užívateľ
problem so session start

Registrovaný: 07.08.06
Prihlásený: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
Napísal autor témyOffline : 26.03.2008 13:04 | problem so session start

nie, nie, mondzo, tomu session start predchadza len toto
Kód:
$MC = MySQL_Connect("xxxxxx", "xxxxxx", "xxxxxx");
$MS = MySQL_Select_Db("xxxxxx");

$SN = "autorizacia";

Session_name("$SN");


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3991
Témy: 96 | 96
NapísalOffline : 26.03.2008 13:06 | problem so session start

veď ti vravím ak môžeš používať:
Session_name("$SN");
keď si nespustil session :(


Offline

Užívateľ
Užívateľ
problem so session start

Registrovaný: 07.08.06
Prihlásený: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
Napísal autor témyOffline : 26.03.2008 13:13 | problem so session start

nie, to som tak uz skusal, to iste vypisuje. Ved ten prvy script autorizacia.php fungoval aj tak. Problem je len s tym overenim.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.02.07
Prihlásený: 26.01.15
Príspevky: 257
Témy: 20 | 20
NapísalOffline : 26.03.2008 13:44 | problem so session start

to Tominator: session_name sa vzdy vola pred session_start ak pouzivas vlastne session name.

to neopagan -> ja som vravel len medzera, jeden space, pozri si to, biele znaky, urcite jeden niekde najdes, naposledy som mal taky isty problem za bodkociarkou, pripadne niekde inde, skus vymazat vsetko a skus len session_name a session_start v overenie subore a ceckni ich cez isset napr, hod do session jednu premennu a tak krok po kroku hladaj chybu.


Offline

Užívateľ
Užívateľ
problem so session start

Registrovaný: 07.08.06
Prihlásený: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
Napísal autor témyOffline : 26.03.2008 14:17 | problem so session start

mondzo: nahodil som este raz cely script a napodiv teraz to funguje ... no nechapem...

jeden problem vsak este mam - ak dam ze odhlasit, tak mi vyhodi opat prihlasovaciu tabulku, to je OK. Ale ak teraz zadam adresu stranka.php, tak ma tam v pohode pusti, berie to ako keby som bol stale prihlaseny. A ked v prehliadaci vymazem cookies, tak uz ma nepusti. Mal by som dat pri odhlaseni session destroy alebo co? Teraz to len vymaze z databazy to session id.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.02.07
Prihlásený: 26.01.15
Príspevky: 257
Témy: 20 | 20
NapísalOffline : 26.03.2008 14:30 | problem so session start

nieco mas zle pri tom odhlasovani.
Ved aj ked vymazes session_id z databazy, tak by ta to uz nemalo pustit aj v pripade ze neskoncis php session.

Pri odhlaseni:

1. vymaz session id z databazy -> to vravis ze mas
2. znic php session nasledovne:

Kód:
   // php session
        // unset vsetky premenne session, ktore si nastavil
   unset($_SESSION['tvoje premenna1']);
   unset($_SESSION['tvoje premenna2']);
   $_SESSION = array();
   session_destroy();

   // browser session cookie
   if (isset($_COOKIE[$SN])) setcookie($SN, "", time()-3600, "/"); 


Offline

Užívateľ
Užívateľ
problem so session start

Registrovaný: 07.08.06
Prihlásený: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
Napísal autor témyOffline : 26.03.2008 18:48 | problem so session start

Aha tu som mal chybu:
Kód:
<?
Elseif (IsSet($lo)):

$SN = "autorizacia";
Session_start();
Session_name("$SN");
$sid = Session_id();

$MSQ = MySQL_Query("DELETE FROM autorizacia WHERE id = '$sid'");
echo "Boli ste odhlaseny";
Else:
?>
namiesto Elseif (IsSet($lo)): som dal IsSet ($_GET['lo']), lebo nemal tu premennu $lo. Teraz ju dostane z URL, pretoze odkaz na odhlasenie je takyto: <a href="autorizacia.php?lo=true">Odhlásit sa</a>

Ok, teraz to uz slape ako ma....


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.02.07
Prihlásený: 26.01.15
Príspevky: 257
Témy: 20 | 20
NapísalOffline : 27.03.2008 10:15 | problem so session start

aj tak by som doporucoval ten kod poupravit troska a zaroven znicit aj php session.


Offline

Užívateľ
Užívateľ
problem so session start

Registrovaný: 07.08.06
Prihlásený: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
Napísal autor témyOffline : 27.03.2008 10:39 | problem so session start

Ok, to som tam doplnil. Vdaka.


 [ Príspevkov: 12 ] 


problem so session start



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Session -- problem :(

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PHP, ASP

32

1207

14.06.2009 18:23

sedlák

V tomto fóre nie sú ďalšie neprečítané témy.

Session problem

v PHP, ASP

16

818

02.06.2008 14:20

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

Problem so session

v PHP, ASP

7

282

26.08.2011 11:49

kruzin99

V tomto fóre nie sú ďalšie neprečítané témy.

problém so session

v PHP, ASP

26

696

29.01.2010 19:34

M1rcO_o

V tomto fóre nie sú ďalšie neprečítané témy.

Problem so Session

v PHP, ASP

17

534

18.02.2008 15:38

Blackshadow

V tomto fóre nie sú ďalšie neprečítané témy.

Problem so session

v PHP, ASP

14

1096

21.11.2007 15:07

Blackshadow

V tomto fóre nie sú ďalšie neprečítané témy.

problem zo session

v PHP, ASP

3

255

08.12.2009 21:32

pilná lama glama

V tomto fóre nie sú ďalšie neprečítané témy.

problem so session

v PHP, ASP

10

213

01.12.2011 12:34

Bajzik

V tomto fóre nie sú ďalšie neprečítané témy.

problém so Session

v PHP, ASP

10

323

20.10.2010 10:07

davider137

V tomto fóre nie sú ďalšie neprečítané témy.

Problém so session

v PHP, ASP

0

193

20.03.2010 18:21

M1rcO_o

V tomto fóre nie sú ďalšie neprečítané témy.

problem so session

v PHP, ASP

2

273

10.01.2009 13:02

blackman545

V tomto fóre nie sú ďalšie neprečítané témy.

ďalší problém so session

v PHP, ASP

9

326

14.10.2008 20:17

rooobertek

V tomto fóre nie sú ďalšie neprečítané témy.

[VYRIESENE] Problém so session

v PHP, ASP

2

264

30.03.2009 19:02

martin90

V tomto fóre nie sú ďalšie neprečítané témy.

Problém so session v XP

v Operačné systémy Microsoft

1

191

07.07.2007 18:57

br4n0

V tomto fóre nie sú ďalšie neprečítané témy.

Problem so session na CD

v Audio programy

5

524

15.03.2008 23:28

uniqat

V tomto fóre nie sú ďalšie neprečítané témy.

Problém so session v Chrome

v PHP, ASP

4

95

14.11.2017 19:40

zaciatocnik



© 2005 - 2017 PCforum, edited by JanoF