Оiибка авторизации на php 6.x.x

zaxavar
На сайте с 08.10.2012
Offline
183
555

Здравствуйте!

Перенес сайт на новый сервер, на нем php 6.x.x

При попытке войти в админку, получаю ошибку

Fatal error: Call to undefined function session_is_registered() in /var/www/abudaby/data/www/bora.com.ua/admin/index.php on line 4

Иду в этот файл и вижу:

<?php

session_start();
require("../config.php");
if (session_is_registered("user_name") AND session_is_registered("user_id")){
mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_name);

$query = "SELECT `status` FROM `users` WHERE `id`=".$_SESSION["user_id"];
$result = mysql_query($query);
$status = mysql_result($result,0,0);

if ($status > 0){
header("Location:http://".$_SERVER['HTTP_HOST']
.dirname($_SERVER['PHP_SELF'])
."/main.php");
exit;
}
}
?>
<me

Нахожу в сети, что session_register() не поддерживается более, для этого ныне используется $_SESSION['mysessioname'] = 'value';

Вопрос: что исправить в коде, чтобы вход начал работать?

Желательно, конкретно в примере, я не программер :mad:

Вместо или вместе с Adsene - Adsterra - https://publishers.adsterra.com/referral/wf8uqXSYuu Раcскажу, подскажу.
zhitov
На сайте с 30.01.2005
Offline
219
#1

if (session_is_registered("user_name") AND session_is_registered("user_id"))

заменить на

if ($_SESSION['user_name'] AND $_SESSION['user_id'])

Строительные калькуляторы ( https://www.zhitov.com/ )
zaxavar
На сайте с 08.10.2012
Offline
183
#2
zhitov:
if (session_is_registered("user_name") AND session_is_registered("user_id"))
заменить на
if ($_SESSION['user_name'] AND $_SESSION['user_id'])

Спасибо огромное.

Теперь споткнулось на этом

Fatal error: Call to undefined function session_register() in /var/www/abudaby/data/www/bora.com.ua/admin/authorize.php on line 26

   // if (mysql_num_rows($result)>0){

// регистрируем администратора в сессии

session_register("user_name");
$_SESSION["user_id"] = 1;//mysql_result($result,0,0);

if ($_SESSION['user_name'] AND $_SESSION['user_id'])
//exit;
header("Location: main.php");
exit;

26 строка, это session_register("user_name");

на что его заменить?

zhitov
На сайте с 30.01.2005
Offline
219
#3

session_register не поддерживается с PHP 5.3

При авторизации вы просто вносите где-то (в authorize.php?) в $_SESSION["user_name"]="Вася";

т.е. уберите вообще session_register("user_name");

Но лучше всего заплатите кому-нибудь 200-300 рублей за исправление скрипта. Киньте ссылку на этот топик - любой программер поймет, в чем у вас проблема со скриптами.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий