Форма обратной связи на моем сайте была в порядке до недели назад. Php на моем хостинге был обновлен до 5.4, и теперь я получаю следующую ошибку.
Неустранимая ошибка: вызов неопределенной функции session_is_registered () в /homepages/17/d182268414/htdocs/contact_us.php в строке 3
Я не написал код для страницы сайта и не очень знаком с php. Пожалуйста, дайте мне знать, если есть простой способ заставить это работать снова.
Вот код php —
<?
session_start();
if (!session_is_registered('enquiry_form'))
{
session_register("enquiry_form");
$_SESSION['title']="";
$_SESSION['contact_name']="";
$_SESSION['email']="";
$_SESSION['telephone']="";
$_SESSION['subject']="";
$_SESSION['enquiry']="";
$_SESSION['address1']="";
$_SESSION['address2']="";
$_SESSION['town']="";
$_SESSION['county']="";
$_SESSION['postcode']="";
$_SESSION['country']="";
$_SESSION['marbleCat']="unchecked";
$_SESSION['contempCat']="unchecked";
$_SESSION['stoneCat']="unchecked";
$_SESSION['traditCat']="unchecked";
}
if(isset($contact)){$_SESSION['subject']=$contact;}
?>
Функции session_register, session_is_registered был удален в PHP 5.4
Вам нужно реорганизовать свой код следующим образом:
session_start();
if (empty($_SESSION['enquiry_form']))
{
$_SESSION['enquiry_form'] = 1;
$_SESSION['title']="";
$_SESSION['contact_name']="";
$_SESSION['email']="";
$_SESSION['telephone']="";
$_SESSION['subject']="";
$_SESSION['enquiry']="";
$_SESSION['address1']="";
$_SESSION['address2']="";
$_SESSION['town']="";
$_SESSION['county']="";
$_SESSION['postcode']="";
$_SESSION['country']="";
$_SESSION['marbleCat']="unchecked";
$_SESSION['contempCat']="unchecked";
$_SESSION['stoneCat']="unchecked";
$_SESSION['traditCat']="unchecked";
}
if(isset($contact)){$_SESSION['subject']=$contact;}
?>
Функция session_is_registered и session_register была удалена из php 5.4
используйте вместо этого isset ($ _ SESSION [«enquiry_form»])
<?php
session_start();
if(!isset($_SESSION["enquiry_form"]) ){
$_SESSION["enquiry_form"] = //Value;
$_SESSION['title']="";
$_SESSION['contact_name']="";
$_SESSION['email']="";
$_SESSION['telephone']="";
$_SESSION['subject']="";
$_SESSION['enquiry']="";
$_SESSION['address1']="";
$_SESSION['address2']="";
$_SESSION['town']="";
$_SESSION['county']="";
$_SESSION['postcode']="";
$_SESSION['country']="";
$_SESSION['marbleCat']="unchecked";
$_SESSION['contempCat']="unchecked";
$_SESSION['stoneCat']="unchecked";
$_SESSION['traditCat']="unchecked";
}
if(isset($contact)){$_SESSION['subject']=$contact;}
?>
Вы также должны использовать <?php
вместо <?
измени свой код: —
if (!session_is_registered('enquiry_form'))
{
session_register("enquiry_form");
в
if (!isset($_SESSION['enquiry_form']))
{
$_SESSION["enquiry_form"]= 'myvalue';
session_register() has been removed from php 5.4
ты можешь использовать $_SESSION[]
для установки переменной в сеансе: —
session_start()
$_SESSION['myvar'] = $myvar;
для получения переменной из сессии: —
$myvar = $_SESSION['myvar'];
для проверки переменной сеанса: —
if( isset($_SESSION["myvar"]) ){