Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№109-01-2007 01:02:42

esquire_vik
Участник
 
Группа: Members
Зарегистрирован: 28-07-2006
Сообщений: 23

Как обратиться из PHP функции к переменной

Как обратится з PHP функции к переменной  за пределами  функции(не передавая  етой функции переменную)?
В Javascript ето так :

Выделить код

Код:

<html >
<head>
<script>
var h="hello";
function working(){
alert(h);
}
</script>
</head>
<body onload="working();">
</body>
</html>

Мне нужно именно обращение к переменной за пределами функции не передавая значения в ету функцию!
Спасибо!

Отсутствует

 

№209-01-2007 01:08:54

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785

Re: Как обратиться из PHP функции к переменной

внутри функции пропиши:
global имя_переменной;

Отсутствует

 

№309-01-2007 01:23:42

esquire_vik
Участник
 
Группа: Members
Зарегистрирован: 28-07-2006
Сообщений: 23

Re: Как обратиться из PHP функции к переменной

shutnik пишет

внутри функции пропиши:
global имя_переменной;

Проблема в том что мне нужно в функции обратится за ее пределы к перменой, как на примере

Отсутствует

 

№409-01-2007 02:04:01

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785

Re: Как обратиться из PHP функции к переменной

esquire_vik
не путайте JS и PHP

Выделить код

Код:

$h="hello";
function working()
{
global $h
echo $h;
}
working();

Отсутствует

 

№509-01-2007 11:43:09

Dark-Demon
Участник
 
Группа: Members
Зарегистрирован: 20-02-2006
Сообщений: 1278

Re: Как обратиться из PHP функции к переменной

Проблема в том что мне нужно в функции обратится за ее пределы к перменой, как на примере

а ты уверен, что тебе это нужно?


!

Отсутствует

 

№609-01-2007 12:36:23

Al_H
Away
 
Группа: Members
Откуда: SPb
Зарегистрирован: 10-06-2005
Сообщений: 5508

Re: Как обратиться из PHP функции к переменной

shutnik
В конце строчки global нужна точка с запятой ;
Dark-Demon
А Вы уверены, что это никогда не бывает нужно?

Отсутствует

 

№709-01-2007 14:19:48

Dark-Demon
Участник
 
Группа: Members
Зарегистрирован: 20-02-2006
Сообщений: 1278

Re: Как обратиться из PHP функции к переменной

Это весьма дурной тон в программировании.


!

Отсутствует

 

№809-01-2007 23:02:01

esquire_vik
Участник
 
Группа: Members
Зарегистрирован: 28-07-2006
Сообщений: 23

Re: Как обратиться из PHP функции к переменной

Проблема по которой мне понадобилось так "извратно" написать функцию заключается в том; что я хочу написать корзину покупателя на Ajax а именно, я с javascript  передаю в функцию переменную а функция должна добавить ето имя в масив а масив сам находиться в не  приделах функции(усли он в пределфх функции то  при каждом вызове функции он создается новый) а так как я передаю ссылку на масив то он записывает в себя име товара и тд! А так как я немогу передать с javascript и имя самого товара и сам масив (php), поетому я и ищу выход! Может кто-то подскажет?

Отсутствует

 

№909-01-2007 23:05:30

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785

Re: Как обратиться из PHP функции к переменной

Al_H пишет

В конце строчки global нужна точка с запятой ;

ага, во втором варианте пропустил =)

esquire_vik
а куда и КАК ты пытаешься сохранить данные php массива?

Отсутствует

 

№1009-01-2007 23:26:07

esquire_vik
Участник
 
Группа: Members
Зарегистрирован: 28-07-2006
Сообщений: 23

Re: Как обратиться из PHP функции к переменной

Я ето делаю так
например

Выделить код

Код:

<?php
function addcat(&$idname,$cat)
{
echo $quantitu=count($idname);
$idname[$quantitu]=$cat;
}
$idname=array();
$cat="ladno";
$s=10;
$v="serg";
addcat($idname,$cat);
addcat($idname,$v);
echo $idname[0]."<br>";
echo  $dname[1];
?>

Отредактировано esquire_vik (09-01-2007 23:27:00)

Отсутствует

 

№1109-01-2007 23:42:50

Infant
   «»
 
Группа: Extensions
Откуда: Одесса
Зарегистрирован: 23-12-2004
Сообщений: 3671

Re: Как обратиться из PHP функции к переменной

Уважаемые участники обсуждения! Ну и всё…
--
Infant


Благодарю алфавит за любезно предоставленные буквы.

Отсутствует

 

№1210-01-2007 11:23:58

Dark-Demon
Участник
 
Группа: Members
Зарегистрирован: 20-02-2006
Сообщений: 1278

Re: Как обратиться из PHP функции к переменной

функция должна добавить ето имя в масив а масив сам находиться в не  приделах функции

для этого существует ООП.

усли он в пределфх функции то  при каждом вызове функции он создается новый

против этого существует static.

А так как я немогу передать с javascript и имя самого товара и сам масив (php), поетому я и ищу выход! Может кто-то подскажет?

эм.. ты вобще БД не испольуешь?

Добавлено Срд 10 Янв 2007 11:26:20 :
Infant, отруби тег [сode] и все мигом перейдут на пастебин :)


!

Отсутствует

 

№1310-01-2007 12:55:52

VictorS
Участник
 
Группа: Members
Откуда: г. Петрозаводск
Зарегистрирован: 16-03-2005
Сообщений: 140
Веб-сайт

Re: Как обратиться из PHP функции к переменной

esquire_vik, предлагаю для начала выучить русский язык, а затем приступать к изучению PHP, да еще и использованию AJAX.
А по проблеме:
1) В JavaScript-функцие нужно использовать глобальную переменную из PHP? Это не получится на прямую.
2) Для AJAX используется какая-то готовая библиотека? (Если да, то какая?)
3) Про JSON что-нибудь знаете?


"Не показывайте мне дорогу, а научите как найти ее самому."

Отсутствует

 

№1412-01-2007 01:04:35

esquire_vik
Участник
 
Группа: Members
Зарегистрирован: 28-07-2006
Сообщений: 23

Re: Как обратиться из PHP функции к переменной

Dark-Demon
Первое спасибо за помощь! Насчет  баз данных то я их  использую но для  этого я не хочу их использовать  так как мне это не нужно (мне нужно просто создать массив и передать другому скрипту для отображения информации ) я хочу создать массив имен которые я передаю с javascript в PHP!
А при работе с Ajax в моем случае static не подойдет так как  мне надо дописывать данные в массив, или я не прав? Вот так это  не работает   Или я что – то не то делаю?

Выделить код

Код:

function addimg($name)
{
static $cat=array();	
$quantitu=count($cat);
$cat[$quantitu]=$name;
return $cat;
}

Javascript:

Выделить код

Код:

function show_add_result(shgoodres){
		var lengt=shgoodres.length
		document.getElementById("shresadd").innerHTML =lengt;
				}
function addname_img(name_img){
			x_addlady(name_img,show_add_result)
		}

Для Ajax использую библиотеку Sajax!
Как можно создать массив имен которые я передаю с javascript в PHP?

Отредактировано esquire_vik (12-01-2007 01:06:36)

Отсутствует

 

№1512-01-2007 02:37:02

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785

Re: Как обратиться из PHP функции к переменной

esquire_vik
через AJAX передать данные в сценарий PHP напрямую нельзя, это разные языки (в частности, AJAX - это скорее разновидность JS)...
сначала мы формируем AJAX запрос. далее, например, через $_REQUEST, парсим этот запрос и выдираем из него пришедшие данные. и только после этого помещаем их в PHP массив.
вы, видимо, запутались и, по этому, не можете разобраться.

Отсутствует

 

№1612-01-2007 10:27:30

VictorS
Участник
 
Группа: Members
Откуда: г. Петрозаводск
Зарегистрирован: 16-03-2005
Сообщений: 140
Веб-сайт

Re: Как обратиться из PHP функции к переменной

shutnik, AJAX - это не язык, а технология взаимодействия JavaScript на страничке с серверным сценарием без полной перезагрузки страницы.

esquire_vik, я не зря написал про JSON. Это-то как раз и позволяет передавать массивы. Читать тут и тут.


"Не показывайте мне дорогу, а научите как найти ее самому."

Отсутствует

 

№1712-01-2007 13:38:43

Dark-Demon
Участник
 
Группа: Members
Зарегистрирован: 20-02-2006
Сообщений: 1278

Re: Как обратиться из PHP функции к переменной

esquire_vik, а почему бы просто не заюзать куки? например, можно создать несколько кук с именами tovar[1], tovar[2] итд, которые в пхп объединятся в массив. это более универсально и не вызывает тормозов при обращении к серверу. естественно это в случае небольшого количества данных.

Отредактировано Dark-Demon (12-01-2007 13:54:07)


!

Отсутствует

 

№1812-01-2007 16:05:08

VictorS
Участник
 
Группа: Members
Откуда: г. Петрозаводск
Зарегистрирован: 16-03-2005
Сообщений: 140
Веб-сайт

Re: Как обратиться из PHP функции к переменной

Dark-Demon, почему куки не вызовут тормозов, а строка (то чем является по сути JSON-кодированная-переменная) вызовет? У меня в одном проекте приходилось кидать туда-сюда массивы размерностью от 2 до большое N (обычно десятки, но при глупом юзере могут быть тысячи).


"Не показывайте мне дорогу, а научите как найти ее самому."

Отсутствует

 

№1912-01-2007 22:25:06

INFOMAN
Телепаты в отпуске
 
Группа: Extensions
Откуда: Кишинев
Зарегистрирован: 31-12-2005
Сообщений: 1099
Веб-сайт

Re: Как обратиться из PHP функции к переменной

VictorS, куки будут гоняться туда-сюда при КАЖДОМ обращении к любому файлу сайта


Закрой кран
Включи свет ©
Fire! Kill IE is your desire | NULL | NULL

Отсутствует

 

№2012-01-2007 23:46:06

VictorS
Участник
 
Группа: Members
Откуда: г. Петрозаводск
Зарегистрирован: 16-03-2005
Сообщений: 140
Веб-сайт

Re: Как обратиться из PHP функции к переменной

INFOMAN, так я почти тоже и имел ввиду: куки тоже будут гоняться, причем куки занимают побольше "места" чем массив. Но как я понял Dark-Demon предлагает их поставить и заюзав 1 раз убить.


"Не показывайте мне дорогу, а научите как найти ее самому."

Отсутствует

 

№2113-01-2007 01:30:00

esquire_vik
Участник
 
Группа: Members
Зарегистрирован: 28-07-2006
Сообщений: 23

Re: Как обратиться из PHP функции к переменной

Всем откликнувшимся спасибо!
Особенно Dark-Demon
Все ясно буду использовать сессии!
Еще вопросик маленький если я создаю массив сесий например
$_SESSION['name_image'] = 1;
И как при просмотре корзины можно извлечь данные с массива сессий?
И общий вопрос по сессиях.
Если два человека при входе на сайт в одно и тоже время выбрали одну и туже фотографию  и были заведены сессии с именем фотографии будут ли эти сессии  идентифицироваться по разному?
Если нет, то какое значение лучше использовать для заведения сессий (сайт без регистрации пользователей в базе данных) это типа того когда заходишь на сайт все выбираешь а потом только регистрируешься!

Отсутствует

 

№2213-01-2007 01:48:52

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785

Re: Как обратиться из PHP функции к переменной

esquire_vik

И как при просмотре корзины можно извлечь данные с массива сессий?

foreach($_SESSION as $k => $v){echo $k.' - '.$v;}

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

сессии уникальны для каждого пользователя. имя сессии создаётся автоматически. функция session_start() создаёт новую сессию.

Отсутствует

 

№2313-01-2007 03:28:44

Dark-Demon
Участник
 
Группа: Members
Зарегистрирован: 20-02-2006
Сообщений: 1278

Re: Как обратиться из PHP функции к переменной

почему куки не вызовут тормозов, а строка (то чем является по сути JSON-кодированная-переменная) вызовет?

потому что в случае аякса покупателю придётся ждать пока придёт ответ от сервера, а в случае куков - серверу можно ничего не посылать - реакция на пользователя мгновенная (пример - http://free-connect.ru/ ). кроме того, если покупатель откроет несколько страниц на неактивных можно поддерживать актуальность информации (например, у добавленных в корзину позиций - можно выводить "уже в корзине") не заваливая сервер запросами, а просто мониторя куки.

VictorS, куки будут гоняться туда-сюда при КАЖДОМ обращении к любому файлу сайта

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

Отредактировано Dark-Demon (13-01-2007 03:36:32)


!

Отсутствует

 

№2416-01-2007 01:25:43

esquire_vik
Участник
 
Группа: Members
Зарегистрирован: 28-07-2006
Сообщений: 23

Re: Как обратиться из PHP функции к переменной

Что здесь сделано не так как надо?
PHP

Выделить код

Код:

function addimg($name)
{
if(isset ($name)) {
    $_SESSION['name']=$name; 
    return $_SESSION;
}

if(isset($_SESSION['name'])) 
 return count($_SESSION['name']);
else return 'fail'; 
}


JAVASCRIPT
function show_add_result(shgoodres){
        var lengt=shgoodres.length
        document.getElementById("shresadd").innerHTML =hgoodres????//здесь не могу ни как вытащить  ни один елемент массива 
                 }
function addname_img(name_img){
            x_addimg(name_img,show_add_result)
        }

А с coocies вообще ничего понять не могу !
Эта PHP функция написана правильно?

Выделить код

Код:

function addimg($name)
{
if(isset ($name)) {
    setcookie("name", $name);
    return $_COOKIE
    
}

if(isset($_COOKIE['name'])) 
 return count($_COOKIE['name']);
else return 'fail'; 
}

JAVASCRIPT
function show_add_result(shgoodres){
        var lengt=shgoodres.length
        document.getElementById("shresadd").innerHTML =hgoodres????//здесь тоже самое толко я не уверен что получаю данные с PHP
                }
function addname_img(name_img){
            x_addimg(name_img,show_add_result)
        }

Отсутствует

 

№2516-01-2007 12:14:51

Dark-Demon
Участник
 
Группа: Members
Зарегистрирован: 20-02-2006
Сообщений: 1278

Re: Как обратиться из PHP функции к переменной

esquire_vik, совершенно не понятно, чего ты этим кодом пытаешься добиться...
для кук есть ещё одна фича - нужно указывать при изменении кук "path=/", как на яваскрипте, так и на пхп...


!

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]