пичитай на счет register_globals и глобальных массивов. http://manual.php.ru/security.globals.html и вообще: http://manual.php.ru/security.html
440hz Спасибо за руский мануал! Дело в том что, переписав эту задачку по своему у меня все получилось а по книжному никак!
440hz Эта тема не даёт мне покоя!! Прочитав про superglobal Arrays $_GET , $_POST oder $_REQUES понял, вещь удобная но не везде нужная. По идее PHP должен ловить значения переменных переданных с HTML формуляров и присваивать ети значения переменным с такимже именем автоматически. Как раз это у меня не происходит. Или я чтото не правильно понял?
Vladson спасибо! Теперь ясно! Не подскажешь где можно скачать " PHP for Dummies" ( для таких как я :shock: ) в PDF, или что нибудь более подробное чем мануал или SelfPhp?
на счёт переменных окружения. НИКОГДА не используй в своих скриптах переменные из формы как $name_val и т.п. , бери их из $_GET['name_val'] или $_POST['name_val'] и т.п. это: 1. улучшит безопасность твоих скриптов 2. оградит от геморроев в будущем 3. не будет зависить от настроек сервера (registr_globals) Привыкай к этому лучше сразу - вещь полезная Имеено по этому тот самый скрипт и не хотел работать у тебя (на другом сервере), т.к. в PHP 5 по умолчанию registr_globals отключены, а в прежних версиях пхп они были включены.
Black_Square Большое спасибо! как раз это я и хотел знать! Ещё один вопрос ! Я установил в html 3 "checkbox" в роли опций т.е можно выбрать все три, а можно толко 1 или 2, но в этом случае php выдаёт ошибку, что остальные переменные (не выбранные в html) остаются не дефинированными, что в конце концов понятно т.к $_POST[] это обычный аррэй содержимое которого требует присваивания значений, коль ты его уже используешь в скрипте или в коде(с++). Где я ошибаюсь?
Привет PRO1rock1! У меня немного по другому, у тебя был один чекбокс, а у меня 2 и если выбран один (if($_POST['extra']) echo $_POST['extra']; ) то другой if($_POST['extra1']) echo $_POST['extra1']; выдается ошибкой "Undefined index: extra1 " если выбераешь оба то все нормально
когда checkbox НЕ включен, то инфа о нем НЕ передается PHP: <? if(!empty($_POST['extra']) { // установлен } else { // нет } ?> как вариант даешь имена name="extra[]" value="1,2,3" и обрабатываешь $_POST['extra'] как массив
Дарова. У меня был не один чекбокс. У меня было типа меню. Нексолько пунктов на выбор. Если чекбокс не выбран, то естессно он не определяется. Надо ему в таком случае присвоить ноль и с нолем не отображать.
парни! ПХП кодингом занимаюсь вот уже 2 года, но все еще считаю себя зеленым новичком. Кое-что конечно умею(не мало ), но далеко мне до гуру. Поэтому решил написать вам пару советов, аля от новичка новичкам (И ТОЛЬКО ИМ ! ) Формы, лучше, делайте так: Код (Text): <body> ... <FORM action="<куда посылается>" method=post> <P> <TABLE style="WIDTH: 460px; HEIGHT: 606px"> <TR> <TD>Site Name:</TD> <TD><INPUT style="WIDTH: 226px; HEIGHT: 22px" maxLength=20 size=25 name=reg[site]></TD></TR> <TR> <TD>Url:</TD> <TD><INPUT style="WIDTH: 226px; HEIGHT: 22px" name =reg[url] maxLength=20 size=25 value=http://></TD></TR> <TR> <TD rowspan="2">Name:</TD> <TD><INPUT style="WIDTH: 226px; HEIGHT: 22px" name=reg[fname] maxLength=20 size=25 value=First onclick="value=''"></TD></TR> </FORM> .... </body> Тогда потом, все данные из формы будут храниться в одном массиве! Это очень удобно, во-первых не мусорится память сервака кучей переменных, во-вторых дает возможность использовать шаблоны. Об этом могу написать позже, если заинтересует. ну и вызывать эти данные естественно так: Код (Text): <?php echo "My Site ".$reg['site']." ; Url ".$reg['url']." ; And my name ".$reg['fname']; ?> ------------------------------------- Расскажу как учился я. Никаких курсов небыло, все было построено на интузиазме. В далекий 1999 год, у меня была слабая машина(комп), поэтому играть в игры я не мог. Но зато у меня была книга по ШТМЛю, и я начал изучать. Постепенно, мне стало нехватать возможностей одного ШТМЛя, мне захотелось чтобы мои страницы стали динамическими. Почему-то выбор пал на ПХП, но я не жалею. Мой первый проект, был не гостевой, а шаблонами. То есть на моем первом сайте, можно было править дизайн в отдельных файлах, не замарачиваясь содержимым других страниц... поменял в двух файлах дизайн (верхнюю часть дизайна и нижнюю), поменял меню в еще одном файле и вуаля! Сайт выглядит по новому, только начинка старая. Следующим шагом было нахождение статьи в интернете "как сделать модульный сайт". И это меня зацепило. Было сложно понять как работает, но разбирая по маленькому кусочку, методом проб, ошибок, и разглядывания того что получается, я собрал свой движок на файлах, аналогичный НЮКУ. Естественно в нем была наипростейшая защита(фактически ее там почти небыло) от дурака. Смысл был в том, что все было автоматизированно: кидаешь в папку с модулями файл, в котором какая то инфа, и в соседний файл записываешь название страницы. Движок сам делал новую ссылку в меню, вставлял дизайн и прочее. Дальше был мой первый счетчик, который я переделал в графический... в общем что-то я тут развоспоминался! Просто совет тем кто хочет научиться, но не знает с чего начать: найдите большую статью, где задействуется много, действительно много различных возможностей ПХП, и разбирайте. Просто смотрите, что будет если здесь сделать так, а вот эту переменную обозвать вот так и вывести вот тут. по кусочкам собирайте аналогию статьи, только полностью осмысленную. Так вы и обучитесь, и научитесь разбирать чужой код. Это даст вам плюс в фрилансе . Ибо я начав там работать, долго разбирался с огромным сайтом, зато когда понял как все устроено и что за что отвечает, легко мог вписывать свои скрипты и т.д. Сори за такой большой мессадж.
Привет Al()en! Хорошо что ещё есть люди которые понимают проблемы новичков! :!: Пытаюсь установить нюке уже неделю ничего не выходит. решил буду сам писать от начала до конца, опыт "по изобретению колеса" есть (с++) когда не находишь доходчивой литературы в инете, а покупать дорогие книги нет возможности. Конечно лучьше было бы учиться на ошибках других, чем как дурачок - на своих!