Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: требуется небольшая помощь со скриптом..

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
BlackHacker
Отправлено: 18 Мая, 2010 - 18:29:57
Post Id


Новичок


Покинул форум
Сообщений всего: 38
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




я новичок в пхп, поэтому прошу ногами не пинать) не знаю, в чем причина, но скрипт не работает как надо.. файл content.php не вызывается из кода основной страницы


отрывок из кода главной страницы:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $id = $_GET['id'];
  3. if ($id == '')
  4. include ("blocks/about.php");
  5. elseif (file_exists("content/".$id))
  6. include ("tools/content.php?cat=".$id); // именно этот скрипт должен вызываться с переданным параметром..
  7. else
  8. include("blocks/error.php");
  9. ?>


код файла content.php:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $cat = $_GET['cat'];
  3. $dir = ('content/'.$cat);
  4. $dh  = opendir($dir);
  5. while (false !== ($fname = readdir($dh))) {
  6. $filename = ('content/'.$cat.'/'.$fname.'/xml.xml');
  7. if (file_exists($filename)) {
  8. include ('blocks/frame.php?xml='.$filename.'&link='.$fname); //здесь снова передаем параметры
  9. }
  10. }
  11. ?>


frame.php:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <link type="text/css" rel="StyleSheet" href="/skin/css/layer1.css" /><script type="text/javascript" src="/skin/js/u.js"></script>
  2. <?php
  3. $xml=$_GET['xml'];
  4. $link=$_GET['link'];
  5. ?>
  6. <a href="javascript://" onclick="new _uWnd('wnd',' ',0,0,{autosize:1,shadow:0,hideonresize:0, closeonesc:1,resize:0, modalform:1},{url:'<?php $xml ?>'});return false;"><?php $link ?></a>


P.S. весь код написан мной, поэтому могут быть ошибки.. укажите на них, если они есть..

(Отредактировано автором: 18 Мая, 2010 - 18:39:16)

 
 Top
koldya
Отправлено: 18 Мая, 2010 - 21:45:44
Post Id



Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Янв. 2010  
Откуда: Украина, Снежное


Помог: 0 раз(а)




Так как $id может быть разной а ты в строчке file_exists("content/".$id) проверяешь наличие файла то и соответственно количество файлов которые соответствуют $id.

НУ или попробуй так
PHP:
скопировать код в буфер обмена
  1.       <?PHP
  2.       $id = $_GET['id'];
  3.       if ($id == ''){
  4.       include ("blocks/about.php");}
  5.       elseif ($id !== ''){
  6.       include ("tools/content.php?cat=".$id);}
  7.       else {
  8.       include("blocks/error.php");}
  9.       ?>


-----
Помогите в создании CMS!!!
ICQ 473319369
 
 Top
BlackHacker
Отправлено: 19 Мая, 2010 - 06:10:22
Post Id


Новичок


Покинул форум
Сообщений всего: 38
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




koldya пишет:
#
elseif ($id !== ''){
include ("tools/content.php?cat=".$id);}


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


все-таки решил проверить, и нашел ошибку.. параметры не передаются отсюда
include ("tools/content.php?cat=".$id);
похоже, что этот код вообще не выполняется.. может, есть другой способ вызвать пхп-скрипт, и передать ему параметры?



залил на пхп-хостинг в инете, там стало писать ошибку:
CODE (html):
скопировать код в буфер обмена
  1. Warning: main(tools/content.php?cat=hack): failed to open stream: No such file or directory in /home/b/blackhacker.h1.ru/WWW/skin/index.php on line 377
  2.  
  3. Warning: main(): Failed opening 'tools/content.php?cat=hack' for inclusion (include_path='.:') in /home/b/blackhacker.h1.ru/WWW/skin/index.php on line 377
  4.  

(Отредактировано автором: 19 Мая, 2010 - 07:19:51)

 
 Top
koldya
Отправлено: 19 Мая, 2010 - 07:44:47
Post Id



Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Янв. 2010  
Откуда: Украина, Снежное


Помог: 0 раз(а)




То что я и писал php не может открыть (include) файл заданный гет запросом, так как его не существует!!!


-----
Помогите в создании CMS!!!
ICQ 473319369
 
 Top
BlackHacker
Отправлено: 19 Мая, 2010 - 08:03:10
Post Id


Новичок


Покинул форум
Сообщений всего: 38
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




не подскажешь, как еще можно передать параметры?

(Отредактировано автором: 19 Мая, 2010 - 11:52:25)

 
 Top
koldya
Отправлено: 19 Мая, 2010 - 12:00:29
Post Id



Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Янв. 2010  
Откуда: Украина, Снежное


Помог: 0 раз(а)




Вод у себя нашел вод такое решение

PHP:
скопировать код в буфер обмена
  1. $do = isset($_GET['do']) ? $_GET['do'] : 'main';
  2.  
  3. switch($do)
  4. {
  5.     case 'main':
  6.         include 'modules/main.php';
  7.         break;
  8.  
  9.     case 'news':
  10.         include 'modules/news.php';
  11.         break;
  12.  
  13.     case 'contact':
  14.         include 'modules/news.php';
  15.         break;
  16.  
  17.     default:
  18.         include 'modules/error.php';
  19. }


-----
Помогите в создании CMS!!!
ICQ 473319369
 
 Top
BlackHacker
Отправлено: 19 Мая, 2010 - 12:19:49
Post Id


Новичок


Покинул форум
Сообщений всего: 38
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




спасибо, что помог..=)
 
 Top
JustUserR
Отправлено: 19 Мая, 2010 - 15:22:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




BlackHacker пишет:
Failed opening 'tools/content.php?cat=hack'
При работе с подключениями файлов типа include и любыми другими файловыми функция в PHP (В отсутствие url-fopen-оболочек для этих функций) все их аргменты должны быть реальными файловыми путями - как относительным так и абсолютными Работа с web-путями которые также могут быть виртуальными осуществляется при работе с HTTP - в принципе вы можете и обратиться к PHP-скрипт на вашем же сервере с помощью CURL/fsockeopen или консолькой команды /usr/bin/links - но разумеется в этом случае вы получите не сам файл а результат его выполнения


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB