Sessions
22 отговора
679 прегледа
Sessions
Zdraveite!
Imam sledniq kod:
<?php
require 'functions.php';
session_start();
session_register($user_id);
session_register($password);
if (authenticateUser($user_id, $password)){
header("Location:[линк]");
exit();
} else {
header("Location:[линк]");
exit() ;
}
?>
no kogato se opitam da printna echo $_SESSION['user_id']; v main.php, nishto ne stava. Dori isset vrushta false.
Nqkoi bi li mi pomognal?
Merci
Imam sledniq kod:
<?php
require 'functions.php';
session_start();
session_register($user_id);
session_register($password);
if (authenticateUser($user_id, $password)){
header("Location:[линк]");
exit();
} else {
header("Location:[линк]");
exit() ;
}
?>
no kogato se opitam da printna echo $_SESSION['user_id']; v main.php, nishto ne stava. Dori isset vrushta false.
Nqkoi bi li mi pomognal?
Merci
Re: Sessions
Би трябвало да използваш името на променливите, а не техните стойности:
session_register('user_id');
session_register('password');
session_register('user_id');
session_register('password');
Re: Sessions
session_start()
e predi vsichko
purvo sloji session_start() i posle require
e predi vsichko
purvo sloji session_start() i posle require
Re: Sessions
AAAAAAAAAAAAAAAAAAA $burov HAHAHAHAHAHAHAHAHA!
$burov.... AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
HAHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAHHHHAHHAH!
ббббббббббббббббррррррррррррррррррррррррхххххххххххххххззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззз!
$буров ааааааааааааааааааааааааааааааааааааааааааааааааааааааа!
1.php
$a = "zadnik";
session_register("a");
......................................
EOF
......................................
2.php
session_register("a");
echo $a;
......................................
EOF
......................................
kyv vi e zora be???????
$burov.... AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!
HAHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHAHHHHAHHAH!
ббббббббббббббббррррррррррррррррррррррррхххххххххххххххззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззззз!
$буров ааааааааааааааааааааааааааааааааааааааааааааааааааааааа!
1.php
$a = "zadnik";
session_register("a");
......................................
EOF
......................................
2.php
session_register("a");
echo $a;
......................................
EOF
......................................
kyv vi e zora be???????
Re: Sessions
da imam start_session() v nachaloto na main.php. Nqma intervali predi taga za php, nqma nishto predi tova. Problema e che dori i greshka ne dava :(
Re: Sessions
vij kakvo ti e register_globals, zashtoto pri Off session_register ne raboti
-----------------------
гърбавия ковчег ще го изправи
-----------------------
гърбавия ковчег ще го изправи
Re: Sessions
Probvai da promenish header("Location:[линк]"); na header("Location:[линк]".SID);
Ako sesiata ti oshte ne se e setnala kato cookie(koeto PHP avtomatichno se opitva da napravi), togava SID se predava chrez GET. Tuk obache ti ruchno podavash header i PHP-to ne mozhe da se pogrizhi samo.
Ako sesiata ti oshte ne se e setnala kato cookie(koeto PHP avtomatichno se opitva da napravi), togava SID se predava chrez GET. Tuk obache ti ruchno podavash header i PHP-to ne mozhe da se pogrizhi samo.
Редактирано от toranaga на
Re: Sessions
register_globals = On
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.use_trans_sid = 1
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.use_trans_sid = 1
Re: Sessions
Ami postni malko poveche kod. Kakvo pravish predi i sled fragmenta koito si postnal. Pod windows li testvash ili si pod *nix?
Re: Sessions
pod Windows, PHP Version 4.3.0, Apche 2.0.43
koda predi tova e edna forma s user name i password:
<form method="POST" action="login.php">
<p><font color="#804000"><font face="MS Sans Serif">User Id
<input name="user_id" type="text" size="15" maxlength="9">
Password
<input name="password" type="password" size="15" maxlength="30">
</font>
<input name="B1" type="submit" value=" Enter NOW ! " >
</font></p>
</form>
posle sledva login.php:
<?php
session_start();
session_register('user_id');
session_register('password');
require 'functions.php';
if (authenticateUser($user_id, $password)){
header("Location:[линк]");
exit();
} else {
header("Location:[линк]");
exit() ;
}
?>
functions.php:
require 'common.inc';
// Display error messages
function DisplayErrMsg( $message )
{
printf("<blockquote><blockquote><blockquote><h3><font color=\"#cc0000\">
%s</font></h3></blockquote></blockquote></blockquote>\n", $message);
}
function authenticateUser($user, $pswd)
{
global $DB_SERVER, $DB_LOGIN, $DB_PASSWORD, $DB, $DOCROOT ;
// Open a persistent connection with the MySQl server
if (!($link = mysql_pconnect ($DB_SERVER,$DB_LOGIN, $DB_PASSWORD))) {
DisplayErrMsg(sprintf("internal error %s %s %s %d:%s\n",$DB_SERVER, $DB_LOGIN, $DB_PASSWORD,
mysql_errno(), mysql_error()));
return 0 ;
}
// Do the user/password authentication
if (!($result = mysql_db_query("$DB", "select * from student where id='$user'"))) {
DisplayErrMsg(sprintf("internal error %d:%s\n", mysql_errno(), mysql_error()));
return 0 ;
}
if (($row = mysql_fetch_array($result)) && ($pswd == $row["pass"] && $pswd != ""))
return 1;
else
return 0;
}
?>
i nai-nakraq main.php:
<?php
session_start();
echo $_SESSION['user_id'];
echo $_SESSION['pass_pasword'];
if (isset($_SESSION['user_id'])) echo "true"; else echo "false";
?>
koeto edinstveno izkarva false.
Suzhalqvam, che trqbvashe da paste-na vsichko tova, no veche cql den si bluskam glavata i naistina ne znam kakvo poveche da promenq.
koda predi tova e edna forma s user name i password:
<form method="POST" action="login.php">
<p><font color="#804000"><font face="MS Sans Serif">User Id
<input name="user_id" type="text" size="15" maxlength="9">
Password
<input name="password" type="password" size="15" maxlength="30">
</font>
<input name="B1" type="submit" value=" Enter NOW ! " >
</font></p>
</form>
posle sledva login.php:
<?php
session_start();
session_register('user_id');
session_register('password');
require 'functions.php';
if (authenticateUser($user_id, $password)){
header("Location:[линк]");
exit();
} else {
header("Location:[линк]");
exit() ;
}
?>
functions.php:
require 'common.inc';
// Display error messages
function DisplayErrMsg( $message )
{
printf("<blockquote><blockquote><blockquote><h3><font color=\"#cc0000\">
%s</font></h3></blockquote></blockquote></blockquote>\n", $message);
}
function authenticateUser($user, $pswd)
{
global $DB_SERVER, $DB_LOGIN, $DB_PASSWORD, $DB, $DOCROOT ;
// Open a persistent connection with the MySQl server
if (!($link = mysql_pconnect ($DB_SERVER,$DB_LOGIN, $DB_PASSWORD))) {
DisplayErrMsg(sprintf("internal error %s %s %s %d:%s\n",$DB_SERVER, $DB_LOGIN, $DB_PASSWORD,
mysql_errno(), mysql_error()));
return 0 ;
}
// Do the user/password authentication
if (!($result = mysql_db_query("$DB", "select * from student where id='$user'"))) {
DisplayErrMsg(sprintf("internal error %d:%s\n", mysql_errno(), mysql_error()));
return 0 ;
}
if (($row = mysql_fetch_array($result)) && ($pswd == $row["pass"] && $pswd != ""))
return 1;
else
return 0;
}
?>
i nai-nakraq main.php:
<?php
session_start();
echo $_SESSION['user_id'];
echo $_SESSION['pass_pasword'];
if (isset($_SESSION['user_id'])) echo "true"; else echo "false";
?>
koeto edinstveno izkarva false.
Suzhalqvam, che trqbvashe da paste-na vsichko tova, no veche cql den si bluskam glavata i naistina ne znam kakvo poveche da promenq.
Re: Sessions
Заявката ти е празна:
select * from student where id='$user'
къде си задал стойност на $user ? Във формуляра имаш user_id и следователно:
select * from student where id='$_POST[user_id]'
а пък и това $pswd - същата история
select * from student where id='$user'
къде си задал стойност на $user ? Във формуляра имаш user_id и следователно:
select * from student where id='$_POST[user_id]'
а пък и това $pswd - същата история
Re: Sessions
ne e taka, ima si parametar $user
-----------------------
гърбавия ковчег ще го изправи
-----------------------
гърбавия ковчег ще го изправи
Re: Sessions
dobre, dai da opitame slednoto:
zamesto session_register, sled session_start sloji $_SESSION['user_id']=$user_id i sushtoto za parola, dali v main.php shte se poiavi sushtia false na isset ili ne e.
(vse si mislia che register_globals se duni)
-----------------------
гърбавия ковчег ще го изправи
zamesto session_register, sled session_start sloji $_SESSION['user_id']=$user_id i sushtoto za parola, dali v main.php shte se poiavi sushtia false na isset ili ne e.
(vse si mislia che register_globals se duni)
-----------------------
гърбавия ковчег ще го изправи
Re: Sessions
ами не знам какво да ти кажа. пуснах кода ти при мен (Win XP, PHP 4.3, Apache 1.3.26) и си заработи без проблеми (спестих си извикването на authenticateUser). В main.php ми изкара каквото трябва - стойността на user_id и true.
Убеди се със сигурност че сесията стартира (copy-paste малко код от bg.php.net), аз лично ти препоръчвам вместо session_register('user_id') да ползваш $_SESSION['user_id']=$_POST['user_id'], но едва ли от това е проблема.
Погледни и как ти е session.save_path в php.ini и дали юзъра с който е стартирано апачето има права за modify там. По default това е system и права има навсякъде, но все пак...
Убеди се със сигурност че сесията стартира (copy-paste малко код от bg.php.net), аз лично ти препоръчвам вместо session_register('user_id') да ползваш $_SESSION['user_id']=$_POST['user_id'], но едва ли от това е проблема.
Погледни и как ти е session.save_path в php.ini и дали юзъра с който е стартирано апачето има права за modify там. По default това е system и права има навсякъде, но все пак...
Re: Sessions
Така проблема идва от имената на променливите
пробвай така
<?php
session_start();
session_register('s_user_id');
session_register('s_password');
$s_user_id = $user_id;
$s_password = $password;
и от тук нататък си ползваш $s_user_id и $s_password
с две думи
session_register('user_id');
1.ако няма такава сессийна променлива я създава -> затрива сойноста на променливата която идва от формата
2.ако има такава променлива присвоява няйната стойност -> отново се затрива стойноста предадена през формата.
дано съм бил ясен ;)
...
пробвай така
<?php
session_start();
session_register('s_user_id');
session_register('s_password');
$s_user_id = $user_id;
$s_password = $password;
и от тук нататък си ползваш $s_user_id и $s_password
с две думи
session_register('user_id');
1.ако няма такава сессийна променлива я създава -> затрива сойноста на променливата която идва от формата
2.ако има такава променлива присвоява няйната стойност -> отново се затрива стойноста предадена през формата.
дано съм бил ясен ;)
...
Re: Sessions
Kato mahnah headers i gi smenih s Javascript za redirect se opravi i sega si raboti dobre.
A kak da go nakaram da slaga SID v url-to?
A kak da go nakaram da slaga SID v url-to?