[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: глобалные переменные
_Dimarik__
из файла 1.php я перехожу в файл 2.php.
в файле 1.php определена $i = 5;
в файле 2.php я пишу
<?php
echo $_SERVER['ii'];
?>

результат: Notice: Undefined index: ii in C:\wamp\www\upload\2.php on line 2
как мне тогда обратиться к переменной из другой формы?



Спустя 2 минуты, 32 секунды (21.07.2010 - 21:34) Lenarfate написал(а):
а у вас сама сессия запущена??
session_start()

Спустя 3 минуты, 23 секунды (21.07.2010 - 21:37) _Dimarik__ написал(а):
нет. не запущена. я забыл что это через сессии. а только через сессии можно? или как?

Спустя 2 минуты, 42 секунды (21.07.2010 - 21:40) _Dimarik__ написал(а):
стоп. ведь $_SESSION используется в сессия, $_SERVER разве тоже?

Спустя 57 минут, 54 секунды (21.07.2010 - 22:38) Lenarfate написал(а):
тормознул) у $_SERVER есть определенные ключи. вот http://www.softtime.ru/info/articlephp.php?id_article=69

Спустя 5 минут, 54 секунды (21.07.2010 - 22:44) Self написал(а):
Скрипт 2.php ничего не знает о скрипте 1.php, и естественно о $i.
Гет, пост, сессия, куки ...

Спустя 4 минуты, 17 секунд (21.07.2010 - 22:48) jalvar написал(а):
global $peremennaya1;
$GLBOALS['peremennaya1'];
Вот и всё

Спустя 3 минуты, 32 секунды (21.07.2010 - 22:51) _Dimarik__ написал(а):
я где-то слышал что глобальные переменные нехорошо использовать. только я не знаю почему. и что register globals должно быть off!

Спустя 9 минут, 11 секунд (21.07.2010 - 23:01) Self написал(а):
Переменную нужно передавать.

Спустя 1 минута, 16 секунд (21.07.2010 - 23:02) _Dimarik__ написал(а):
а объекты передавать чем?
$objUpload = new field_file("Upload","Загрузите вашу фотографию", true);
$objUpload->get_html();
echo "$objUpload->name";
$_SESSION['f'] = $objUpload;
а в другой форме
echo($_SESSION['f']->name);
и
print_r($_SESSION['f']->name);
ничего не выдают

Спустя 5 минут, 39 секунд (21.07.2010 - 23:08) Self написал(а):
Сессию стартуешь?

Спустя 13 минут, 56 секунд (21.07.2010 - 23:21) _Dimarik__ написал(а):
канеш стартую
<?php
session_start();
error_reporting(E_ALL & ~E_NOTICE);

echo($_SESSION['f']->name);//ничего не выводит
echo "1";//выводит

Спустя 10 минут, 58 секунд (21.07.2010 - 23:32) Self написал(а):
1.php
$_SESSION['f'] = serialize($objUpload);

2.php
echo(unserialize($_SESSION['f'])->name);

Спустя 6 часов, 24 минуты, 22 секунды (22.07.2010 - 05:57) _Dimarik__ написал(а):
то же самое. в первом выводит, а во втором нет
<html>
<
head>
<
title>Загрузка файлов на сервер</title>
</
head>
<
body>
<
h2><p><b> Форма для загрузки файлов </b></p></h2>
<
form action="2.php" method="post" enctype="multipart/form-data">
<
input type="submit" name="s1" value="Загрузить"><br>
</
form>
</
body>
</
html>
<?php
require_once("class.field_file.php");
session_start();
$objUpload = new field_file("Upload","Загрузите вашу фотографию", true);
$objUpload->get_html();
echo "$objUpload->name";
$_SESSION['f'] = serialize($objUpload);
?>


2 файл
<?php
error_reporting(E_ALL & ~E_NOTICE);
session_start();

echo(unserialize($_SESSION['f'])->name);
echo "1";
$_SESSION['f']->checkAndUpload;
/*echo $_POST['s1'];
if(isset($_POST['s1']))
{
echo "2";
if(copy($_FILES["filename"]["tmp_name"],
$_FILES["filename"]["name"]))
{
echo("Файл успешно загружен <br>");
echo("Характеристики файла: <br>");
echo("Имя файла: ");
echo($_FILES["filename"]["name"]);
echo("<br>Размер файла: ");
echo($_FILES["filename"]["size"]);
echo("<br>Каталог для загрузки: ");
echo($_FILES["filename"]["tmp_name"]);
echo("<br>Тип файла: ");
echo($_FILES["filename"]["type"]);
}
else
{
echo("Ошибка загрузки файла");
}
echo "3";
echo $_SERVER['i'];
}*/

?>

Спустя 27 минут, 31 секунда (22.07.2010 - 06:24) Basili4 написал(а):
Цитата (_Dimarik__ @ 21.07.2010 - 22:31)
<?php
echo $_SERVER['ii'];
?>



Толи Я не выспался то ли одно из двух а причем тут сессия просто в массиве $_SERVER нет индекса ii и все

Спустя 2 часа, 59 минут, 55 секунд (22.07.2010 - 09:24) Lenarfate написал(а):
я и говорю ему, что у этого массива есть уже предопределенные ключи

Спустя 39 минут, 42 секунды (22.07.2010 - 10:04) _Dimarik__ написал(а):
так можно через массив $_SESSION объекты передавать или нет, чтобы потом можно было обрааться к их полям public?
про ключи я посмотрел, на там они все такого типа: откуда пришёл на страницу, где находится файл, версия браузера и т.д. А вот про объекты, которые можно передавать с помощью этого массива ничегон е сказано.ну вот переделал опять первый файл

<html>
<
head>
<
title>Загрузка файлов на сервер</title>
</
head>
<
body>
<
h2><p><b> Форма для загрузки файлов </b></p></h2>
<
form action="2.php" method="post" enctype="multipart/form-data">
<
input type="submit" name="s1" value="Загрузить"><br>
</
form>
</
body>
</
html>
<?php
require_once("class.field_file.php");
session_start();
$objUpload = new field_file("Upload","Загрузите вашу фотографию", true);
$objUpload->get_html();
echo "$objUpload->name";
$_SERVER['f'] = $objUpload;
?>

и второй
<?php
error_reporting(E_ALL & ~E_NOTICE);
session_start();

echo $_SERVER['f']->name;
echo "1";
echo $_SERVER['f'];

?>
результт тот же. ничего не показывает.
только вот через сессию как бы эта операция echo $_SERVER['f'];
работала, не показывало поле name.
Никаких ошибок браузер не выводит. просто не выводит объекты и переменные

Спустя 14 минут, 35 секунд (22.07.2010 - 10:19) tomash написал(а):
_Dimarik__
Во-первых у Вас есть вывод в броузер до session_start, поэтому сессия не стартуется в первом файле

Спустя 12 минут, 21 секунда (22.07.2010 - 10:31) _Dimarik__ написал(а):

<?php
session_start();
require_once("class.field_file.php");
$objUpload = new field_file("Upload","Загрузите вашу фотографию", true);
$objUpload->get_html();
echo "$objUpload->name";
$_SESSION['f'] = $objUpload;
?>
<html>
<
head>
<
title>Загрузка файлов на сервер</title>
</
head>
<
body>
<
h2><p><b> Форма для загрузки файлов </b></p></h2>
<
form action="2.php" method="post" enctype="multipart/form-data">
<
input type="submit" name="s1" value="Загрузить"><br>
</
form>
</
body>
</
html>





<?php
session_start();
error_reporting(E_ALL & ~E_NOTICE);

echo $_SESSION['f']->name;
echo "1";
echo $_SESSION['f'];?>

то же самое. ничего не выводит

Спустя 22 минуты, 36 секунд (22.07.2010 - 10:53) tomash написал(а):
попробуйте так


<?php
session_start();
require_once("class.field_file.php");
$objUpload->get_html();
echo "$objUpload->name";
$_SESSION['f'] = serialize($objUpload);
?>


<?php

session_start();
error_reporting(E_ALL & ~E_NOTICE);
$objUpload = unserialize($_SESSION['f']);
echo $objUpload->name;
echo "1";
echo $_SESSION['f'];?>


Спустя 20 минут, 9 секунд (22.07.2010 - 11:14) _Dimarik__ написал(а):
<?php
session_start();
require_once("class.field_file.php");
$objUpload = new field_file("Upload","Загрузите вашу фотографию", true);
$objUpload->get_html();
echo "$objUpload->name";
$_SESSION['f'] = serialize($objUpload);
?>
<html>
<
head>
<
title>Загрузка файлов на сервер</title>
</
head>
<
body>
<
h2><p><b> Форма для загрузки файлов </b></p></h2>
<
form action="2.php" method="post" enctype="multipart/form-data">
<
input type="submit" name="s1" value="Загрузить"><br>
</
form>
</
body>
</
html>


[php]<?php
session_start();
error_reporting(E_ALL & ~E_NOTICE);
$objUpload = unserialize($_SESSION['f']);
print_r($objUpload->name);
echo "1<br>";
print_r( $_SESSION['f']);?>нифига

Спустя 41 минута, 7 секунд (22.07.2010 - 11:55) _Dimarik__ написал(а):
я вообще не понял, чем надо передавать объекты со страницы на страницу. $_SESSION или всё-таки $_SERVER? дело в том что ни с одним ни с другим я не могу считать поле public

Спустя 1 час, 4 минуты, 16 секунд (22.07.2010 - 12:59) tomash написал(а):
require_once("class.field_file.php");
во втором файле тоже класс подключите

Спустя 10 минут, 14 секунд (22.07.2010 - 13:09) _Dimarik__ написал(а):
вот. заработало, наконец. спасибо! а можете пояснить зачем тут serialize/unserialize и почему без них не работало?
Функция serialize — Функция генерирует хранимое представление значения. это типа что-то типа псевдонима делает?
и ещё. можно ли было через $_SERVER это сделать?
Lenarfate говорил про параметры, но они все общего типа DocumentRoot - типа откуда загружен, откуда зашёл на страницу и т.д., а про то что в нём могут быть переменные я не слышал

Спустя 27 минут, 41 секунда (22.07.2010 - 13:37) Self написал(а):
<?php
class
field_file {
public $name = 'имя класса';
}
session_start();
?>

<html>
<
head>
<
title>Загрузка файлов на сервер</title>
</
head>
<
body>
<
h2><p><b> Форма для загрузки файлов </b></p></h2>
<
form action="2.php" method="post" enctype="multipart/form-data">
<
input type="submit" name="s1" value="Загрузить"><br>
</
form>
</
body>
</
html>

<?php
$objUpload = new field_file();
echo "$objUpload->name";
$objUpload->name = 'новое имя';
$_SESSION['f'] = serialize($objUpload);
?>

<?php
class
field_file {
public $name = 'имя класса';
}
session_start();
echo unserialize($_SESSION['f'])->name;
?>

Спустя 2 минуты, 24 секунды (22.07.2010 - 13:39) tomash написал(а):
_Dimarik__
Массив $_SERVER предопределен, передать через него параметр не получиться!
serialize - превращает объект в строку, которую можно поместить в переменную!

Спустя 35 минут, 28 секунд (22.07.2010 - 14:15) _Dimarik__ написал(а):
спасибо!!!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.