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

Форум PHP

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

 

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

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

тема: Помогите найти ошибку
 
 автор: Felix   (13.09.2004 в 12:00)
 
 

Подскажите кто нибудь почему не работает вот такой код:
<?
$q
="body=CRACK/crack.htm";
$r="body=RUSIFIK/rus.htm";
$i="$QUERY_STRING";

$url_i ereg("^(body=CRACK)\.([[:alnum:]+\.([[:alnum:]]+)"$i$regs);
if (
$url_i) : 
$A=$regs[0]; 
endif;

if (
$i === $q) {include_once "CRACK/crack.htm"; include_once "HTML/search.htm";}
elseif (
$i === $r) {include_once "RUSIFIK/rus.htm"; include_once "HTML/search.htm";}
elseif (
$i === $A) {include_once "CRACK/crack.htm"; include_once "HTML/search.htm";}
else {include_once 
"HTML/search.htm";}
?>

   
 
 автор: glsv (Дизайнер)   (13.09.2004 в 14:04)   письмо автору
 
   для: Felix   (13.09.2004 в 12:00)
 

Было бы проще если бы вы пояснили как должен выполняться этот код. Т.е. что он должен делать и что он делает не так.

   
 
 автор: J.Lex   (13.09.2004 в 14:17)   письмо автору
 
   для: glsv (Дизайнер)   (13.09.2004 в 14:04)
 

че то я тоже не догоняю что тут конкретно должно выполняться

   
 
 автор: cheops   (13.09.2004 в 23:57)   письмо автору
 
   для: Felix   (13.09.2004 в 12:00)
 

В строке
<?php
$url_i 
ereg("^(body=CRACK)\.([[:alnum:]+\.([[:alnum:]]+)"$i$regs);
?>

После регулярного выражения стоит точка, которую следует заменить на запятую... Вообще если код не работает неплохобы вместе с ним выложить сообщение интерпретатора PHP.

   
 
 автор: Felix   (14.09.2004 в 05:55)
 
   для: cheops   (13.09.2004 в 23:57)
 

<?php
$q
="body=CRACK/crack.htm";
$r="body=RUSIFIK/rus.htm";
$i="$QUERY_STRING";
$url_i ereg("^(body=CRACK)\.([[:alnum:]+\.([[:alnum:]]+)"$i$regs);
if (
$url_i) : 
$A=$regs[0]; 
endif;

if (
$i === $q) {include_once "CRACK/crack.htm"; include_once "HTML/search.htm";}
elseif (
$i === $r) {include_once "RUSIFIK/rus.htm"; include_once "HTML/search.htm";}
elseif (
$i === $A) {include_once "CRACK/crack.htm"; include_once "HTML/search.htm";}
else {include_once 
"HTML/search.htm";}
?>


В общем на всех страницах которые в директории /CRACK/ должно выводиться "CRACK/crack.htm" и "HTML/search.htm"
а оно почемуто не работает.

Пробовал еще вот так но тоже не работает

<?php
if (ereg("/CRACK/"$i)){include_once "CRACK/crack.htm"; include_once "HTML/search.htm";}
?>


А ошибки никакой не выдает.

   
 
 автор: glsv (Дизайнер)   (14.09.2004 в 08:11)   письмо автору
 
   для: Felix   (14.09.2004 в 05:55)
 

Т.е. нужно определить в какой директории находишься и в зависимости от этого подключить определенные файлы?
Давайте по другому пойдем. Регулярные выражения - слишком уж сильно для этой задачи.


<?
$path
=$_SERVER['SCRIPT_FILENAME'];
$dir=dirname($path);
if (
stripos($dir"crack"))
{
  echo 
"Вы находитесь в директории Crack";
  
// подключаете файлы
}
else
{
  echo 
"Вы находитесь НЕ в директории Crack";
  
// подключаете файлы



?>

   
 
 автор: cheops   (14.09.2004 в 09:51)   письмо автору
 
   для: Felix   (14.09.2004 в 05:55)
 

Сейчас внимательно посмотрел на скрипт - он всегда будет выдавать include_once "HTML/search.htm"; Так как по сути сравниваются строки:
<?php
"$QUERY_STRING=== "body=CRACK/crack.htm" // $i === $q
"$QUERY_STRING=== "body=RUSIFIK/rus.htm" // $i === $r
?>

а это всегда будет давать FALSE.

   
 
 автор: Felix   (16.09.2004 в 11:10)
 
   для: cheops   (14.09.2004 в 09:51)
 

Когда я включил вот этот код:

<?php
$path
=$_SERVER['SCRIPT_FILENAME']; 
$dir=dirname($path); 
if (
stripos($dir"crack")) 

  echo 
"Вы находитесь в директории Crack"
  
// подключаете файлы 

else 

  echo 
"Вы находитесь НЕ в директории Crack"
  
// подключаете файлы 


?>



Апач выдал мне вот такое : Fatal error: Call to undefined function: stripos() in g:\home\test1.ru\www\index.php on line 324

обьясните что есть stripos() и можно ли как нибудь его заменить ??? А иначе не работает.

   
 
 автор: Felix   (16.09.2004 в 11:36)
 
   для: Felix   (16.09.2004 в 11:10)
 

Еще хочу добавить. Я узнал что функция stripos() введена в php5 версии а мне надо как нибудь обойтись возможностями 4 версии а то на хостинге где мой сайт лежит php5 еще не поддерживается.

   
 
 автор: cheops   (16.09.2004 в 11:45)   письмо автору
 
   для: Felix   (16.09.2004 в 11:36)
 

-

http://www.softtime.ru/dic/id_dic=4&id_group=1

   
 
 автор: cheops   (16.09.2004 в 11:43)   письмо автору
 
   для: Felix   (16.09.2004 в 11:10)
 

Это функция осуществляющая поиск позиции первого вхождения подстроки без учета регистра... Хм... зря я её вам посоветовал, она введена только в PHP 5, замените её на strpos() - это регистрозависимый вариант функции, доступный в более ранних версиях PHP.

http://www.softtime.ru/dic/id_dic=64&id_group=1

   
 
 автор: Felix   (16.09.2004 в 12:14)
 
   для: cheops   (16.09.2004 в 11:43)
 

Я заменил функцию но скрипт в любом случае выводит
"Вы находитесь НЕ в директории Crack" даже если я зашол в директорию кряк.

   
 
 автор: cheops   (16.09.2004 в 16:34)   письмо автору
 
   для: Felix   (16.09.2004 в 12:14)
 

Регистр учитываете? Функция зависит от регистра...

   
 
 автор: Felix   (16.09.2004 в 18:20)
 
   для: cheops   (16.09.2004 в 16:34)
 

Я разобрался в чем дело. Вместо SCRIPT_FILENAME нужно было написать QUERY_STRING и тогда все работает на ура.

Спасибо за содействие.

Скрипт в работе можете посмотреть на моем сайте
http://crackall.fatal.ru

   
 
 автор: glsv (Дизайнер)   (16.09.2004 в 21:55)   письмо автору
 
   для: Felix   (16.09.2004 в 18:20)
 

>Вместо SCRIPT_FILENAME
Ну чтож, значит на Вашем хостинге админы "спрятали" эту переменную.

   
Rambler's Top100
вверх

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