|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.10.2009, 17:08 | #21 |
Форумчанин
Регистрация: 03.04.2009
Сообщений: 108
|
можно в функции обозначить
Код:
php,javascript
|
13.10.2009, 13:00 | #22 |
Пользователь
Регистрация: 11.07.2009
Сообщений: 90
|
не работает почему-то.
В первой функции: $pollselect = rand(1,5); $GLOBALS['pollfile'] = $pollselect.'.txt'; В другой функции пробую получить доступ к $GLOBALS['pollfile']: $fh = file($GLOBALS['pollfile']); - и вместо этого получаю: Notice: Undefined index: pollfile in E:\.......\functions.php on line 343 такое впечатление что это объявление существует только в теле первой функции. Если так, тогда опять же вернемся к вопросу - как объявить и присвоить глобальной переменной значение внутри функции.
Apache/2.2.23 (Win32) PHP/5.3.18
Win7Pro 64 Vertrigo Последний раз редактировалось regman; 13.10.2009 в 13:06. |
13.10.2009, 13:06 | #23 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,646
|
regman
Приведите весь код, из того, что вы написали, причина проблемы не ясна. Скорее всего, первая функция не была вызвана. E-Mail: arigato.freelance@gmail.com
|
13.10.2009, 13:16 | #24 |
Пользователь
Регистрация: 11.07.2009
Сообщений: 90
|
Первая функция у меня отвечает за отображение блока голосования, который присутствует на каждой странице сайта.
function ShowPoll() { $pollselect = rand(1,5); $GLOBALS['pollfile'] = $pollselect.'.txt'; $path = "../polls/"; if (!(file_exists($path.$GLOBALS['pollfile']))) { $path = "polls/"; } $f = file($path.$GLOBALS['pollfile']); $k = count($f)-1; for ($i=0; $i<$k; $i=$i+1) { if (!($i==0)) { $s = $f[$i]; $str = trim($s); $arr = explode('|',$str); $pollvariants[$i] = $arr[0]; $pollcount[$i] = $arr[1]; } } echo $GLOBALS['pollfile']; include($path."votesh.inc"); } Вторая - как результат нажатия кнопки "Проголосовать". Которая редиректит на страницу со скриптом обработки, который в свою очередь и вызывает вторую функцию: function MakeVote() { $fh = file($GLOBALS['pollfile']); $fr = fopen($GLOBALS['pollfile'],"w"); $k = $_POST['votevariant']; echo $GLOBALS['pollfile']; $i = 0; $z = 0; $d = count($fh)-1; foreach ($fh as $str) { $str = trim($str); $arr = explode("|",$str); if ($i==$k) { $arr[1] = $arr[1]+1; $fh[$k] = implode("|",$arr); $fh[$k] = $fh[$k]."\n"; } $z = $z+$arr[1]; if ($i==$d) { $fh[$i] = $z; } if (!(fwrite($fr, $fh[$i]))) { echo "Ошибка записи"; } $i=$i+1; } fclose($fr); //header("Location: ".$_SERVER['HTTP_REFERER']); - закомментил для отлова ошибок } Если указать явно какой файл голосования открыть - тогда проблем не возникает - все отлично голосует и записывает в файли тут же отображает. Но я решил заделать несколько голосований, и тут вылезло...
Apache/2.2.23 (Win32) PHP/5.3.18
Win7Pro 64 Vertrigo Последний раз редактировалось regman; 13.10.2009 в 13:36. |
13.10.2009, 13:37 | #25 | |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,646
|
Цитата:
E-Mail: arigato.freelance@gmail.com
|
|
13.10.2009, 13:56 | #26 |
Пользователь
Регистрация: 11.07.2009
Сообщений: 90
|
Первая функция вызывается всегда при отображении любой страницы сайта. Об этом свидетельствует наличие блока голосования (как я упоминал выше). Разве массив $GLOBALS при переходе с одной страницы на другую обнуляется (или что там с ним происходит)?? Или вообще какое время жизни этого массива?? Или он только существует во время выполнения отдельного скрипта??
Apache/2.2.23 (Win32) PHP/5.3.18
Win7Pro 64 Vertrigo |
13.10.2009, 14:22 | #27 | |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,646
|
Цитата:
E-Mail: arigato.freelance@gmail.com
|
|
13.10.2009, 14:57 | #28 | |
Пользователь
Регистрация: 11.07.2009
Сообщений: 90
|
Цитата:
--------------------------------- Решил проблему с помощью сессий.
Apache/2.2.23 (Win32) PHP/5.3.18
Win7Pro 64 Vertrigo Последний раз редактировалось regman; 14.10.2009 в 09:27. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Глобальные переменные | tae1980 | Microsoft Office Excel | 16 | 20.11.2013 08:41 |
Помогите пожалуйста на "Символьные переменные" | apetr | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 30.11.2008 07:41 |
Помогите исправить косяк в задаче на динамические переменные списки | Taisja | Помощь студентам | 2 | 31.05.2008 21:49 |
Глобальные хуки | Zeraim | Win Api | 2 | 24.05.2008 16:00 |