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

Форум PHP

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

 

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

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

тема: передать переменую между страницами внутри php
 
 автор: kvins   (23.03.2011 в 14:56)   письмо автору
 
 

нужно чтоб когда у человека загрузилась страница , то 1 переменная передалась на другую страницу без метода post и get

например

first.php
$ = "sa";

next.php
SELECT * --------- WHERE dd="$sa"

  Ответить  
 
 автор: cheops   (23.03.2011 в 15:00)   письмо автору
 
   для: kvins   (23.03.2011 в 14:56)
 

Здесь удобно воспользоваться сессией
first.php
<?php
  session_start
();
  ...
  
$_SESSION['sa'] = "1";
?>

next.php
<?php
  session_start
();
  ...
  
SELECT * --------- WHERE dd="{$_SESSION['sa']}";
?>

  Ответить  
 
 автор: kvins   (23.03.2011 в 15:35)   письмо автору
 
   для: cheops   (23.03.2011 в 15:00)
 

да это я знаю , а если это исполняемая страница и доступа прямого к ней нет, то она серавно будет работать сессия?

она подключенна только через ajax

  Ответить  
 
 автор: cheops   (23.03.2011 в 16:25)   письмо автору
 
   для: kvins   (23.03.2011 в 15:35)
 

Да, будет.

  Ответить  
 
 автор: kvins   (23.03.2011 в 21:10)   письмо автору
 
   для: cheops   (23.03.2011 в 16:25)
 

забыл зачем я это спрашивал пока до дела не дошло =)
мне надо именно переменная потому что , надо вытаскивать из базы строки где os 1 2 3 4 5 равны
$sa =1; $sa =2; $sa =3; $sa =4;
это я к примеру , а так переменные появляюся через get запрос

  Ответить  
 
 автор: cheops   (23.03.2011 в 21:25)   письмо автору
 
   для: kvins   (23.03.2011 в 21:10)
 

Пока не очень понятно... Т.е. вам нужно передать массив?

  Ответить  
 
 автор: kvins   (23.03.2011 в 21:35)   письмо автору
 
   для: cheops   (23.03.2011 в 21:25)
 

ну например страница index.php?low=4 и человек находится на ней , из страницы insert.php выводятся данные с помощью ajax ... мне нужно чтоб оттуда выводились заметки где id == low=4

  Ответить  
 
 автор: cheops   (23.03.2011 в 21:40)   письмо автору
 
   для: kvins   (23.03.2011 в 21:35)
 

Хм... так вы в AJAX-запросе тоже передавайте GET-параметр со значением 4 и используйте его в обработчике.

  Ответить  
 
 автор: kvins   (23.03.2011 в 23:26)   письмо автору
 
   для: cheops   (23.03.2011 в 21:40)
 

так ajax запрос происходит при клике по кнопке, а когда страница впервые загрузилась ? а нету нечего встроенjго в php чтоб передать

  Ответить  
 
 автор: deimand   (23.03.2011 в 23:38)   письмо автору
 
   для: kvins   (23.03.2011 в 23:26)
 

Что мешает при первой загрузке построить обработчик клика так как вам нужно?

  Ответить  
 
 автор: kvins   (24.03.2011 в 00:53)   письмо автору
 
   для: deimand   (23.03.2011 в 23:38)
 

тоесть при загрузке страницы он сам сделает незаметно клик? или это пользователя надо будет заставлять жать кнопки

если первое то как это делаеться?

  Ответить  
 
 автор: deimand   (24.03.2011 в 01:03)   письмо автору
 
   для: kvins   (24.03.2011 в 00:53)
 

Может вам просто нужен "холостой запрос"? Его можно повесить на событие onload тега body.

  Ответить  
 
 автор: kvins   (24.03.2011 в 02:45)   письмо автору
 
   для: deimand   (24.03.2011 в 01:03)
 

ну если холостой запрос это когда , без всяких форм и т д переменная из 1 страницы появится в другой странице, то именно это мне и надо

  Ответить  
 
 автор: deimand   (24.03.2011 в 13:02)   письмо автору
 
   для: kvins   (23.03.2011 в 21:35)
 

Можно передать переменную из php в js заранее, при формировании страницы и использоватье ее в дальнейших сценариях, например:
<head>
<?php
 $jsid 
= isset($low) ? '<script>var id=' $id ';</script>' '<script>var id=0;</script>';
 echo 
$jsid;
?>
</head>

И тогда не нужны дополнительные запросы к серверу.

  Ответить  
 
 автор: kvins   (24.03.2011 в 19:27)   письмо автору
 
   для: deimand   (24.03.2011 в 13:02)
 

а можно поподробней , что то понять не могу (
в вашем коде не понятно откуда появляется $id поэтому напишу подробно

ну вот человек зашел , под логинов и его перенаправляют так
{header('Location: index.php?idlook='.$myrow10['id']);


$myrow10['id'] это id пользователя тоесть переходит на страницу где idlook == номеру пользователя
на той же странице загружается страница load.php

 <script type="text/javascript">
$(document).ready(function () {

$('#stena').load("load.php");
});
</script>


а в той странице выборка из базы в которой есть строка ds в которой id из странице пользователя должна совпадать.

вот надо id пользователя передать этой странице
просто еслиб был 1 пользователь то было бы легко можно было бы передать через сесию как предложил чеопс , а так если он перейдет на другого пользователя то ему показывает его же заметки

  Ответить  
 
 автор: deimand   (24.03.2011 в 19:36)   письмо автору
 
   для: kvins   (24.03.2011 в 19:27)
 

Я думал у вас что-то сложное....

Cheops вам правильно сказал, вам нужна именно сессия.

Если вы присвоите переменной $_SESSION['id'] какое-то значение, то доступ к этому значению получит лишь тот пользователь, который авторизовался. Для каждого пользователя значение $_SESSION['id'] будет свое. Попробуйте авторизоваться из двух разных браузеров под двумя разными логинами и вы убедитесь в этом.

  Ответить  
 
 автор: kvins   (24.03.2011 в 21:52)   письмо автору
 
   для: deimand   (24.03.2011 в 19:36)
 

так вы не правильно прочитали сообщение выше,
я делал сесии до того как написал этот вопрос и уже знаю что получится, ты будешь лазить по чужим страницам а выводится будут только твое , а нужно чтоб выводилось того пользователя у которого ты щас находишься

ps выше код я просто так показывал, откуда должна браться индефикатор

  Ответить  
 
 автор: deimand   (25.03.2011 в 11:39)   письмо автору
 
   для: kvins   (24.03.2011 в 21:52)
 

тогда рассказывайте подробнее что хотите реализовать.

  Ответить  
 
 автор: lotanaen   (25.03.2011 в 13:51)   письмо автору
 
   для: kvins   (24.03.2011 в 21:52)
 

а почему метод get не устраивает?

  Ответить  
 
 автор: kvins   (25.03.2011 в 14:05)   письмо автору
 
   для: lotanaen   (25.03.2011 в 13:51)
 

а почему метод get не устраивает?

<< потому что со страницы load.php берется информация без перезагрузки страницы, а как ты будешь передавать параметр без нажатия и последующей перезагрузки?

хотя если можно 1 нажатием на ссылку передать двум страницам одновременно то тогда это решит проблему
в таком случае когда человек перейдет со страницы index.php?id=1 на index.php?id =2 посредством обычной ссылки то надо передать id=2 и странице index.php и странице load.php

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

напишу еще раз подгрузка контента с перезагрузкой страницы происходит только при переходе страницы
все остальные манипуляции по идее должны происходить без перезагрузке страницы

  Ответить  
 
 автор: Lotanaen   (25.03.2011 в 14:22)   письмо автору
 
   для: kvins   (25.03.2011 в 14:05)
 

<script type="text/javascript">
$(document).ready(function () {

$('#stena').load("load.php?id=<?=$idlook?>");
});
</script>

а если так сделать?

  Ответить  
 
 автор: kvins   (25.03.2011 в 14:32)   письмо автору
 
   для: Lotanaen   (25.03.2011 в 14:22)
 

 добавил строку вверх чуть позже подумав о вашем коде
так и не понял откуда на странице  load.php  появится  переменная $idlook  мне наоборот надо $idlook передать  в load.php ?


хотя можно попробовать и так и как внизу я щас написал, тока ваш код надо поправить потому что вы немного не поняли , надо наоборот из index передать параметр id чтоб потом сделать выборку из базы по индефикатору с последующим циклом а потом опять через load загрузить на страницу index

в вашем случае тогда будет 2 загрузки load сначала id на страницу load.php а потом load на страницу index.php
хотя я даже не знаю помоему load будет всю страницу перезагружать а это около 400 строк кода а нужно только id наверно вариант ниже лучше

  Ответить  
 
 автор: Lotanaen   (25.03.2011 в 14:45)   письмо автору
 
   для: kvins   (25.03.2011 в 14:32)
 

кстати через сессии почему не получается? кто вам мешает при загрузке index.php значение перемнной в сессии изменять для load.php? они же не одновременно грузятся?

  Ответить  
 
 автор: kvins   (25.03.2011 в 14:23)   письмо автору
 
   для: kvins   (25.03.2011 в 14:05)
 

хотя я предумал, можно по нажатию кнопки когда переходит на другую страницу через jquery повесить функцию click с отправкой через ajax на страницу load.php и когда он перейдет на другого пользователя он передаст не только index.php но и странице load.php

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

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