Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: передача данных в файлах
 
 автор: nat   (05.01.2009 в 10:11)   письмо автору
 
 

Рассмотрим два простых файла:
1) test_my1.

<?
$a1=5;
echo $a1;
?>
<a href='test_my2.php'>test_my2</a>

2) test_my2.

<?
echo $a1;
$a2=10;
echo $a2;
?>
<a href='test_my1.php'>test_my1</a>

запускаем test_my1 и из него переходим в test_my2
в котором значение $a1 не узнается (не печатает)
Вопрос: что надо сделать чтобы $a1 выводилось в test_my2
Заранее спасибо

  Ответить  
 
 автор: ДаньЧег   (05.01.2009 в 10:21)   письмо автору
 
   для: nat   (05.01.2009 в 10:11)
 

Использовать сессии.
У меня на моём серве неудаётся использовать,тк выдает следуюшую ошибку:

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 0

  Ответить  
 
 автор: nat   (05.01.2009 в 10:38)   письмо автору
 
   для: ДаньЧег   (05.01.2009 в 10:21)
 

спасибо попробую почитать может разбирусь и сделаю но если не сложно может вы допишете пару команд в этот самый test_my2 так как у меня скоро сессия и надо сдать срочно курсовую

  Ответить  
 
 автор: ДаньЧег   (05.01.2009 в 11:11)   письмо автору
 
   для: nat   (05.01.2009 в 10:38)
 

Ог!
Это просто, хоть и с некоторым гемором..
Вот что на выходе:
test_my1.php
<? 
session_start
(); //открываю сессию. ОНА ДОЛЖНА ОБЯЗАТЕЛЬНО СТОЯТЬ В САМОМ НАЧАЛЕ КОДА!!!
///Затем нужно значение переменной присвоить сессии!
$a1=5;
$_SESSION['a1']=$a1// a1 в квадратных скобках, уникальное имя сессионной переменной!
echo "Переменная заданная на этой странице:$a1";
?>
<a href='test_my2.php'><br>test_my2</a>



test_my2.php

<?
session_start
(); ///должен делать в каждом файле, в который тебе нада передать переменную!
$a2;
$a1=$_SESSION['a1']; // (необязательно!) echo и так спокойно выведет $_SESSION['a1'] , так удобнее прост!))
echo "Переменная заданная на первой странице:$a1";
$a2=10///думаю это лишнее
echo "<br>"//- обычный перенос строки
?>
<a href='test_my1.php'>test_my1</a>

  Ответить  
 
 автор: nat   (05.01.2009 в 12:11)   письмо автору
 
   для: ДаньЧег   (05.01.2009 в 11:11)
 

Вобще-то тотже результат будет :
test_my2

<?
include_once("test_my1.php");
echo $a1;
$a2=10;
echo $a2;
?>
<a href='test_my1.php'>test_my1</a>

  Ответить  
 
 автор: Николай2357   (05.01.2009 в 14:06)   письмо автору
 
   для: ДаньЧег   (05.01.2009 в 11:11)
 

>ОНА ДОЛЖНА ОБЯЗАТЕЛЬНО СТОЯТЬ В САМОМ НАЧАЛЕ КОДА!!!
Совсем не обязательно. Зачастую сессию стартовать нужно в зависимости от условий. Главное, что бы до старта не было вывода или пробелов до открывающих <?php тегов.

  Ответить  
 
 автор: ДаньЧег   (06.01.2009 в 10:00)   письмо автору
 
   для: Николай2357   (05.01.2009 в 14:06)
 

Не незнаю как у вас, так у меня PHP в таком случае вначинет выдавать какието необоснованные ошибки..
А также я немогу просто зарегистрировать переменную в сессии, грит типа способ старый, немодный.....:)

  Ответить  
 
 автор: Николай2357   (06.01.2009 в 11:12)   письмо автору
 
   для: ДаньЧег   (06.01.2009 в 10:00)
 

Осетрина не бывает второй свежести... Ошибки или есть, или их нет. Что значит "необоснованные"? Пользуйтесь модными способами, Ваше право.

  Ответить  
 
 автор: mikha   (05.01.2009 в 11:28)   письмо автору
 
   для: nat   (05.01.2009 в 10:11)
 

Не обязательно сессии.
Можно вот так
<?php
$a1
=5;
?>
<a href="test_my2.php?a1=<?php echo $a1?>">test_my2</a>

<?php
if(isset($_REQUEST['a1'])) echo $_REQUEST['a1']; else echo 'no';
?>

И ещё куча вариантов.
Вообще то должно быть стыдно. Раз вы это изучаете, то хотя бы самое простейшее то знать можно было бы.

  Ответить  
 
 автор: Владимир55   (05.01.2009 в 11:46)   письмо автору
 
   для: mikha   (05.01.2009 в 11:28)
 

"Вообще то должно быть стыдно"

Не должно.
Форум для того и существует, чтобы помочь разобраться в непонятном.
Здесь принято помогать, а не стыдить.

  Ответить  
 
 автор: nat   (05.01.2009 в 11:52)   письмо автору
 
   для: Владимир55   (05.01.2009 в 11:46)
 

Вы правы оба, я знал, что это должно быть просто и должен был почитать в документации, но я очень спешу и мне хотелось узнать побыстрому.Спа-си-бо.

  Ответить  
 
 автор: nat   (06.01.2009 в 08:37)   письмо автору
 
   для: mikha   (05.01.2009 в 11:28)
 

Этим вариантом я воспользовался на страничке http://www.golnat.h17.ru/html/php/ Помогло спасибо

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования