Sessions Проблем

galabin123

Registered
PHP:
Deprecated: Function session_register() is deprecated in C:\xampp\htdocs\Video\login.php on line 13

Deprecated: Function session_register() is deprecated in C:\xampp\htdocs\Video\login.php on line 14

Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line
 
Грешката е в това, че функцията е непрепоръчителна за php версията 5.3.0. Поднови с по-нова версия PHP-то си, и тогава ще работи.
 
galabin123 каза:
не съм на ти с англииския как да оправя проблема :S
Предупреждение

Тази функция е НЕПРЕПОРЪЧИТЕЛНА от PHP 5.3.0. Разчитайки на тази възможност е силно непрепоръчително.
 
<?php
// Употребата на session_register() е непрепоръчителна
$barney = "A big purple dinosaur.";
session_register("barney");

// Употребата на $_SESSION е препоръчителна, от PHP 4.1.0
$_SESSION["zim"] = "An invader from another planet.";

// Старият начин беше с $HTTP_SESSION_VARS
$HTTP_SESSION_VARS["spongebob"] = "He's got square pants.";
?>
 
galabin123 каза:
обнових xampp на последната версия но проблема все още е същия
Казват ти, че не е препоръчително да се използва тази фукция "session_register" СЛЕД ВЕРСИЯ PHP 4.1.0 :shock:
 
ааа :D еми коя да използвам то на всеки втори код ми дава грешки не знам какво да правя :mad:
 
galabin123 каза:
ааа :D еми коя да използвам то на всеки втори код ми дава грешки не знам какво да правя :mad:
$_SESSION няма ли да ти върви работа?
 
може и да ми върши но не знам как да го използвам т.е. за логин система до сега съм използвал само session_register и после с $_SESSION извеждам логнатия усер
 
galabin123 каза:
може и да ми върши но не знам как да го използвам т.е. за логин система до сега съм използвал само session_register и после с $_SESSION извеждам логнатия усер
Аз никога през живота си не съм ползвал session_register.
При $_SESSION просто си правиш сесиика нормлано.
Пример:
PHP:
// $_SESSION['ИМЕТО НА СЕСИЯТА'] = 'СЪДЪРЖАНИЕТО НА СЕСИЯТА';
$_SESSION['logged'] = 'Иван';
echo $_SESSION['logged'];
 
същата работа ся пък различни грешки ...

ето кодовете не става с този метод поне при мен

formata

PHP:
<?php 
if(isset($_SESSION['username']))
	{
echo "
	<a href='#'>Menu</a>
	";
}
	else  
	{
echo "
<br /><a href='register.php'>Ristrirai se !</a><br />
<form method='post' action='login.php'>
Potrebitel : <input type='text' name='username' /><br />
Parola : <input type='password' name='password' /><br />
<input type='submit' name='sumbit' value='Vhod !' />
</form>

";
	}
?>

login

PHP:
<?php
session_start();
require 'config.php';
$username = addslashes($_POST['username']);
$password = md5(addslashes($_POST['password']));


$sql="SELECT * FROM users WHERE username='$username' and password='$password'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1)
{
$_SESSION['username'] = "$username";
}
else
{
echo "Username Or Password Is Inccorect";
} 
?>
 
Не си задал session_start(); !

<?php
session_start();
if(isset($_SESSION['username']))
{
echo "<a href='#'>Menu</a>";
}
else
{
echo "<br /><a href='register.php'>Ristrirai se !</a><br />
<form method='post' action='login.php'>
Potrebitel : <input type='text' name='username' /><br />
Parola : <input type='password' name='password' /><br />
<input type='submit' name='sumbit' value='Vhod !' />
</form>";
}
?>

login:

<?php
session_start();
require 'config.php';
$username = addslashes($_POST['username']);
$password = md5(addslashes($_POST['password']));
$sql="SELECT * FROM users WHERE username='$username' and password='$password'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1)
{
$_SESSION['username'] = "$username";
}
else
{
echo "Username Or Password Is Inccorect";
}
?>
 
Забравил си над всеки файл session_start();
Както и е по-добре да запишеш паролата в твоят случай, след това да я сравниш в база данните и да изкараш потребителското име.
Може би даже е още по-добре ако запишеш в сессията $_SESSION['logged'] = $username.'|'.$password;
след което си правиш $ex = explode("|", $_SESSION['logged']);
и си сравняваш $ex[0] и $ex[1] в база данните. след което изкарваш името на потребителя. Това се прави за по-голяма сигурност. Ако го оставиш с името само в сессията, аз ще променя сесията с името на админа и ще мога да контролирам сайта. :?:
 
става мерси много,но като се опитам да си задам $username = $_SESSION['username']; ми показва тази грешка

Notice: Undefined index: username in C:\xampp\htdocs\Video\login1.php on line 13
 
galabin123 каза:
става мерси много,но като се опитам да си задам $username = $_SESSION['username']; ми показва тази грешка

Notice: Undefined index: username in C:\xampp\htdocs\Video\login1.php on line 13
PHP:
<?php
session_start();
if(isset($_SESSION['username']))
{
$username = $_SESSION['username'];
echo "Добре дошли, " . $username . "!<br />
<a href='#'>Menu</a>";
}
else 
{
echo "<br /><a href='register.php'>Ristrirai se !</a><br />
<form method='post' action='login.php'>
Potrebitel : <input type='text' name='username' /><br />
Parola : <input type='password' name='password' /><br />
<input type='submit' name='sumbit' value='Vhod !' />
</form>";
}
?>
:idea:
 
galabin123 каза:
+1 стана ми по-трудно с това php 5 ...
Не е трудно просто запомни, че слагаш в самите квадратни скоби името с което ще викаш тази сесия и после след равното слагаш съдъжанието.
Някои хора мисля, че ползваха и този начин:
PHP:
if (isset($_SESSION['username']))
{
define('USERNAME', $_SESSION['username']);
echo USERNAME;
}
else
{
$_SESSION['username'] = 'Иван';
}
:?:
 

Горе