#php #session
#php #сессия
Вопрос:
В моих первых файлах .php у меня есть:
session_start();
$_SESSION['ProdType1'] = $_GET['ProdType'];
echo "session Product type = " . $_SESSION['ProdType1'];
require_once("./include/fgcontactform.php");
$_SESSION['ProdType1']
установлена правильно.
У fgcontactform.php
меня есть следующее:
echo "Prod typefg = " . $_SESSION['ProdType1'];
$_SESSION['ProdType1']
установлена правильно.
class FGContactForm
{
function ExtraInfoToMail()
{
$ret_str='';
//echo "Prod type in func = " . $_SESSION['ProdType1'];
$ip = $_SERVER['REMOTE_ADDR'];
$p1 = $_SESSION['ProdType1'];
$ret_str = "<div class='label'>IP address of the submitter: </div><div class='value'>$ip</div>n";
$ret_str .= "<div class='label'>Product Type: </div><divclass='value'>$p1</div>n";
return $ret_str;
}
$p1
равно нулю, и так оно и есть $_SESSION['ProdType1']
.
Любая помощь была бы отличной.
Комментарии:
1. Вы показываете нам класс, но как вызывается этот метод класса?
2. Добавьте
if (session_status() == PHP_SESSION_NONE) { session_start();}
вExtraInfoToMail
метод3.
$_GET['ProdType']
должно быть пустым. Как вы заполняете это значение?4. Сделайте также
if(isset($_GET['ProdType'])) $_SESSION['ProdType1'] = $_GET['ProdType'];
, чтобы предотвратить не устанавливать пустой, как говорит @Lars Mertens5. ProdType передается из html через URL. значение устанавливается и отображается в командах echo . класс вызывается с помощью функции $formproc = new FGContactForm();