[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: предупреждение на странице
Гость_Leonid
Добрый день, прошу извинить, но сам без подсказки не разберусь.
Установил на своём хосте сайт и там постоянно вылазит предупреждение, например:
Warning: Invalid argument supplied for foreach() in /var/www/html/web285/html/rus/profi/classes/clsCheck_Russian.php on line 178
Warning: Invalid argument supplied for foreach() in /var/www/html/web285/html/rus/profi/classes/clsCheck_Russian.php on line 182
Есть и другие линии.
Подскажите в какое место нужно вставить данные -
PHP
$HTTP_GET_VARS $_GLOBALS["HTTP_GET_VARS"];
$HTTP_POST_VARS $_GLOBALS["HTTP_POST_VARS"];

в имеющийся код функции
PHP
function getVar($a)
    {
        global 
$HTTP_GET_VARS,$HTTP_POST_VARS;
        foreach (
$HTTP_GET_VARS as $key=>$value)
        {
            if (
strtoupper($key)==strtoupper($a)) return $value;
        }
        foreach (
$HTTP_POST_VARS as $key=>$value)
        {
            if (
strtoupper($key)==strtoupper($a)) return $value;
        }
        return 
false;
    }

Если нетрудно, напишите готовую версию этой функции. Спасибо



Спустя 4 минуты, 14 секунд (13.08.2009 - 23:20) waldicom написал(а):
Заместо $HTTP_POST_VARS использовать $_POST.
Заместо $HTTP_GET_VARS использовать $_GET.


Вот это
PHP
$HTTP_GET_VARS $_GLOBALS["HTTP_GET_VARS"];
$HTTP_POST_VARS $_GLOBALS["HTTP_POST_VARS"];


выкинуть вообще из скрипта

Спустя 32 минуты, 49 секунд (13.08.2009 - 23:53) Гость_Leonid написал(а):
Спасибо, сделал так как Вы написали - результата нет. Проблема осталась.
Новый код выглядит так
PHP
function getVar($a)
    {
        global 
$_GET,$_POST;
        foreach (
$HTTP_GET_VARS as $key=>$value)
        {
            if (
strtoupper($key)==strtoupper($a)) return $value;
        }
        foreach (
$HTTP_POST_VARS as $key=>$value)
        {
            if (
strtoupper($key)==strtoupper($a)) return $value;
        }
        return 
false;
    }

Это не работает.

Спустя 9 минут, 42 секунды (14.08.2009 - 00:03) waldicom написал(а):
Повторюсь.
Вместо $HTTP_GET_VARS использовать $_GET. Везде.
И

PHP
global $_GET,$_POST;

убрать

Спустя 24 минуты, 17 секунд (14.08.2009 - 00:27) Nikitian написал(а):
PHP
function getVar($a)
    {
if(!empty(
$_GET) && is_array($_GET) && sizeof($_GET)>0)
        foreach (
$_GET as $key=>$value)
        {
            if (
strtoupper($key)==strtoupper($a)) return $value;
        }
if(!empty(
$_GET) && is_array($_POST) && sizeof($_POST)>0)
        foreach (
$_POST as $key=>$value)
        {
            if (
strtoupper($key)==strtoupper($a)) return $value;
        }
        return 
false;
    }

Спустя 2 минуты, 47 секунд (14.08.2009 - 00:30) Гость_Leonid написал(а):
Спасибо большое. Всё заработало нормально.
Благодарю за помощь!

Спустя 12 часов, 12 минут, 27 секунд (14.08.2009 - 12:42) Гость_Leonid написал(а):
Появилась новая проблема. На странице пишет:
Warning: readdir(): supplied argument is not a valid Directory resource in /var/www/html/web285/html/rus/profi/admin/user_files.php on line 30
Warning: readdir(): supplied argument is not a valid Directory resource in /var/www/html/web285/html/rus/profi/admin/user_files.php on line 49

Эти линии:
PHP
while ($file readdir($handle)){


Как можно убрать предупреждение?
Спасибо.

Спустя 8 часов, 33 минуты, 14 секунд (14.08.2009 - 21:16) Gradus написал(а):
Попробуйте так:
PHP
while (false !== ($file = readdir($handle)) {

Спустя 1 час, 7 минут, 47 секунд (14.08.2009 - 22:23) blase написал(а):
в крайнем случае закрась эти сообщения под цвет фона)))

Спустя 54 минуты, 11 секунд (14.08.2009 - 23:18) Гость_Leonid написал(а):
Цитата
while (false !== ($file = readdir($handle)) {


Спасибо, но это не помогло - белая страница получилась

Спустя 6 часов, 31 минута, 53 секунды (15.08.2009 - 05:49) PandoraBox2007 написал(а):
PHP
if ($handle = opendir('/path/to/files')) {
    echo "Directory handle: $handle\n";
    echo "Files:\n";

    while (false !== ($file = readdir($handle)))
    {
      if (
$file '.' || $file '..')
       continue;

      echo "$file\n";
    }

    closedir($handle);
}

Спустя 7 часов, 19 минут, 9 секунд (15.08.2009 - 13:09) Гость_Leonid написал(а):
Извините, мне трудно понять что надо изменить. Если не трудно посмотрите весь файл и подскажите точно место изменения. На локальной машине всё загружается нормально, а в сети не работает. Спасибо.
PHP
<?php
/*=================================================================

++++++++++ Vacancies agency intranet system     "Profi - 2.0" +++++++++++++++

        /admin/userfiles.php


Copyright © 2003, Olga Axyonenko (office@is.zp.ua)
    "Profi - 2.0"  is based on original code from e107 website system © Steve Dunstan
This program is free software; you can redistribute it under the terms of the GNU General Public License
as published by the Free Software Foundation;
either version 2 of the License, or (at you option) any later version.

==================================================================
*/
/**
upload files for users directories (vacancies, resumes)
*/

require_once("../classes/auth_class.php");
require_once(
"../classes/utill_class.php");
include(
"../classes/clsCheck_$language.php");
require_once(
HEADERF);

$path=$path_upload;

$handle=opendir($path);
$dir_size=0;
while (
$file readdir($handle)){    

    if(
$file != "." && $file != ".." ){
        
$dir_size+=filesize($path."/".$file);
}
}

if(IsSet(
$message)){
    
$ns -> tablerender("""<div style=\"text-align:center\"><b>".$message."</b></div>");
}
if(isset(
$delete)){
    foreach (
$f_name as $ff_name){
    @
unlink$path."/".$ff_name);
    }
}
$text .= "<form method=\"post\" action=\"$PHP_SELF\" id=\"frm_add\" name=\"frm_add\">
<table style=\"width:95%\">"
;

$handle=opendir($path);
while (
$file readdir($handle)){    

    if(
$file != "." && $file != ".." ){

    
$file_extention strtolower(substr(strrchr($file"."), 1));
$file_name=substr($file,0strrpos($file"."));
        
$text .= "<tr><td>
                    <input name=\"f_name[]\" value=\"$file\" type=\"checkbox\" class=\"tbox\" ></td><td>
                    &nbsp;<a href=\"_view_files.php?nFile="
.$file."\" target=\"_blank\">".$file."</a> 
                    <a href=\"user.php?searchquery="
.$file_name."&searchsubmit=1\" target=\"_blank\">".LAN_4."</a> 
                  </td></tr>"
;
}
}

$text .= "

</td>
</tr>
<tr style=\"vertical-align:top\"> 
<td style=\"width:20%\" ></td>
<td style=\"width:80%\">
<input class=\"button\" type=\"submit\" name=\"delete\" value=\""
.LAN_DELETE."\" />

</td>
</tr>
</table>
</form>"
;

$ns -> tablerender("<div style=\"text-align:center\">".LAN_201."</div>"$text);
require_once(
FOOTERF);


Спустя 34 минуты, 25 секунд (15.08.2009 - 13:43) Гость_Leonid написал(а):
Простите, но ещё один вопрос.
Может быть вся проблема незагрузки информации на сайт в том, что в файле config.php стоит строчка -
PHP
$path_upload="../files/uploads/";

Что тут нужно сделать?

Спустя 6 минут, 13 секунд (15.08.2009 - 13:49) Gradus написал(а):
Гость_Leonid,ну так это просто показано гле лежат загруженные файлы.Или таких папок не существует ?

Спустя 7 минут, 54 секунды (15.08.2009 - 13:57) Гость_Leonid написал(а):
Существует такой путь. Но файлы туда не загружаются.

Спустя 9 минут, 24 секунды (15.08.2009 - 14:07) Gradus написал(а):
Я хз весь код смотреть не охото smile.gif
Попробуйте прописать перед $path=$path_upload;
PHP
$path_upload="../files/uploads/";

Спустя 2 часа, 43 минуты, 53 секунды (15.08.2009 - 16:50) Гость_Leonid написал(а):
Спасибо. Предупреждение на странице пропало - это хорошая новость. biggrin.gif
Однако, файлы до сих пор не загружаются.

Спустя 1 час, 29 минут, 50 секунд (15.08.2009 - 18:20) Nikitian написал(а):
права доступа к папке нужно ставить, чтобы была разрешена запись для всех (ну или для группы, владельца - в зависимости от того, как относится владелец папки к вебсерверу).

Спустя 1 час, 37 минут, 40 секунд (15.08.2009 - 19:58) Гость_Leonid написал(а):
Права на папку установлены 755.
Пробовал - 777.
Всё равно не получается.
Придётся видно вообще отказаться от скрипта.

Спустя 19 минут, 51 секунда (15.08.2009 - 20:18) Gradus написал(а):
Гость_Leonid, а вобще что ни будь загружаеться через сайт может это в хосте дело ?

Спустя 1 час, 44 минуты, 38 секунд (15.08.2009 - 22:02) Гость_Leonid написал(а):
На этом же хосте стоят и другие мои сайты. Всё вроде нормально загружается.

Спустя 4 часа, 28 минут, 9 секунд (16.08.2009 - 02:31) Gradus написал(а):
Ну может просто исчерпан лимит мб на вашем хосте smile.gif
Вы написали что файлы всё равно не загружаються,мы же незнаем в чём проблема пока вы не покажите ошибку smile.gif
p.s если чё я под градусом)

Спустя 11 часов, 6 минут, 10 секунд (16.08.2009 - 13:37) Гость_Leonid написал(а):
Лимит допускает загрузку.
Ах, если бы я знал где ошибки! ohmy.gif Не былы бы проблем. Я написал, что в браузере пишет предупреждения об ошибках. Вот и всё что я знаю.
Всё таки это наверное не катастрофическая проблема - на локале ведь все работает нормально.

Спустя 22 минуты, 56 секунд (16.08.2009 - 14:00) glock18 написал(а):
Цитата (Гость_Leonid @ 16.08.2009 - 10:37)
Всё таки это наверное не катастрофическая проблема - на локале ведь все работает нормально

да, наверное, главное, чтобы на локале все работало )))

Спустя 1 час, 46 минут, 38 секунд (16.08.2009 - 15:46) Гость_Leonid написал(а):
Я это написал к тому, что при переносе сайта на хост врядли изменился код файлов. wink.gif
Быстрый ответ:

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