Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 12 ] 
AutorSpráva
Offline

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

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok NapísalOffline : 26.03.2008 12:28

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
Príspevok NapísalOffline : 26.03.2008 12:35

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: 3984
Témy: 96
Príspevok NapísalOffline : 26.03.2008 12:57

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ý: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 26.03.2008 13:04

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: 3984
Témy: 96
Príspevok NapísalOffline : 26.03.2008 13:06

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ý: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 26.03.2008 13:13

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
Príspevok NapísalOffline : 26.03.2008 13:44

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ý: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 26.03.2008 14:17

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
Príspevok NapísalOffline : 26.03.2008 14:30

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ý: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 26.03.2008 18:48

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
Príspevok NapísalOffline : 27.03.2008 10:15

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ý: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 27.03.2008 10:39

Ok, to som tam doplnil. Vdaka.


Odpovedať na tému [ Príspevkov: 12 ] 


Podobné témy

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

v PHP, ASP

16

1100

02.06.2008 14:20

Tominator Zobrazenie posledných príspevkov

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

1593

14.06.2009 18:23

sedlák Zobrazenie posledných príspevkov

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

v PHP, ASP

7

502

26.08.2011 11:49

kruzin99 Zobrazenie posledných príspevkov

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

v PHP, ASP

10

498

20.10.2010 10:07

davider137 Zobrazenie posledných príspevkov

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

v PHP, ASP

10

421

01.12.2011 12:34

Bajzik Zobrazenie posledných príspevkov

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

v PHP, ASP

17

714

18.02.2008 15:38

Blackshadow Zobrazenie posledných príspevkov

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

v PHP, ASP

2

422

10.01.2009 13:02

blackman545 Zobrazenie posledných príspevkov

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

v PHP, ASP

26

916

29.01.2010 19:34

M1rcO_o Zobrazenie posledných príspevkov

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

v PHP, ASP

14

1439

21.11.2007 15:07

Blackshadow Zobrazenie posledných príspevkov

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

v PHP, ASP

0

321

20.03.2010 18:21

M1rcO_o Zobrazenie posledných príspevkov

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

v PHP, ASP

3

444

08.12.2009 21:32

pilná lama glama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [VYRIESENE] Problém so session

v PHP, ASP

2

496

30.03.2009 19:02

martin90 Zobrazenie posledných príspevkov

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

v PHP, ASP

9

572

14.10.2008 20:17

rooobertek Zobrazenie posledných príspevkov

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

356

07.07.2007 18:57

br4n0 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problém so session v Chrome

v PHP, ASP

4

426

14.11.2017 19:40

zaciatocnik Zobrazenie posledných príspevkov

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

v Audio programy

5

687

15.03.2008 23:28

uniqat Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra