Sserg-135
User-
Posts
146 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Everything posted by Sserg-135
-
А где зесь название оптогрупы писать? и куда вложенные в эту группу опции Selecta добавлять?
-
это в какой модели так? опции seleсt-а я делал так: document.getElementById(Id).options[num_option]=new Option('valuu','text',false,false); думаю что и optgroup делаются как-то так)
-
Добрый день форумчане! Подскажите как при помощи JS добавить в список <SELECT> группу <optgroup> ? и как ее можно удалить?
-
спасибо за идею! правда я пока сделал так: chdir($_SERVER["DOCUMENT_ROOT"]); require 'config.php'; вроде помогло
-
а можно подробнее как это сделать? пример например) и еще: если к каталогу со скриптами будет ограничение доступа и пароль, то Cron сможет запускать оттуда скрипт?
-
Здравствуйте уважаемые форумчане! Возникла такая проблема Есть служебный скрипт который лежит в каталоге /home/логин/сайт.ru/docs/adm/script.php из адресной строки запускается и работу свою выполняет как нужно, а при его запуске из под Cron возникает проблема с определением пути до корня сайта. Дело в том, что в скрипте есть строка с таким кодом: require $_SERVER["DOCUMENT_ROOT"].'/config.php'; т.к. файл config.php лежит в корне сайта /home/логин/сайт.ru/docs/ - это корневая сайта методом научного тыка выяснилось, что при запуске Crono-м переменная $_SERVER["DOCUMENT_ROOT"] ничего не возвращает (пустоте значение одним словом). Т.е выходит что при запуске из адресной строки и запуске от Cron текущий каталог разный. Что посоветуете сделать, т.к. предполагается что скрип будет запускаться и так и так.
-
хотелось предусмотреть разные варианты )) вдруг юзер захочет одновременно две формы заполнять и в обоих ошибется а затем нажмет рефреш в браузере. И форма загрузится другими пременными. - юзер может запутаться Еще тогда по поводу сессий: идентификатор сессий, добавляемый PHPой к ссылкам иногда мешает в Ява-скриптовских ссылках: есть код (формирую ява-скриптом некие ссылки) <script language="JavaScript" type="text/javascript"> ..... var reff_offer='show.php?division='+number_divisions+'&id='+id;// ссылка на сохраненное в Блокноте var delnote_rec='<A href=\'#\' TITLE=\'Удалить заметку из блокнота\' onClick=\'DelFromNotebook("'+reс_note+'");return false\';><IMG align=\'absmiddle\' width=17 height=16 SRC=\'image/delete.gif\'></A>'; screen=screen+'<SPAN id='+reс_note+'><A CLASS=\'OkMsg\' HREF='+reff_offer+'>'+name_href+' Предложение №'+id+'</A> '+delnote_rec+'</SPAN><BR>'; .... </script> когда стартует сессия, то этот PHPSESSID прилепляется к переменной reff_offer и скрипт выдает ошибку. Что можно здесь сделать? Где-то читал как обойти это , но забыл напрочь
-
Делаю с помощью сессии передачу переменных из ошибочно заполненной формы обратно на редактирование Алгоритм обычной Принимаю в обработчик через POST , проверяю и если есть ошибки ввода, то стартую сессию и передаю $_SESSION['Check_order']['var1']=$var1; $_SESSION['Check_order']['var2']=$var2l; и делаю редирект на форму ввода Header ("Location: ../blankform.php"); в которой соответственно стартую сессию и принимаю переменные $var1=$_SESSION['Check_order']['var1']; $var2=$_SESSION['Check_order']['var2']; Проблем нет все работает, но обратил внимание, что работа по такому алгоритму ведет к следующему: если вводить данные (допустим в них будут обнаружены ошибки) в одной вкладке браузера, отправить на сервер - соответственно там откроется сессия, скрипт вернет на исправление и в это время в другой вкладке браузера проделать то-же самое(заполнить форму с ошибками чтобы она вернулась на редактирование), то сделав обновление страницы на первой вкладке,форма заполнится данными уже из второй вкладки- т.к. идентификатор у сессии получается один для одного юзера и соответственно массив $_SESSION['Check_order'] тоже один. Это допустимо? или надо что-то мудрить на вроде того что ввести в $_SESSION['Check_order'] ['var1']еще одну размерность, например $_SESSION['Check_order'] ['var1'][1] и $_SESSION['Check_order'] ['var1'][2] (хотя не представляю как потом узнать какая к какому относится)? Или как-то каждый раз стартовать сессии с разными идентификаторами. но правда не понял как это можно сделать (это http://php.su/functions/?cat=session -уже читал ) ). Что скажут профи? может и зря я на это внимание обращаю?
-
понятно, а проверка наличия сессии как я описал в начале- так корректно проверять? (edit - имя моей сессии, которую надо удалить)
-
Можно ли удалить сессию или обнулить ее переменные не запуская ее? Как можно узнать о наличии сессии опять-таки не запуская: Так правильно: (вроде работает, но мало-ли что ) $is_sess=session_name('edit'); if (!empty($is_sess)){ .. значит сессия есть }else{ нет сесии }
-
Вдогонку еще по теме топика: можно-ли средствами JS определит размер файла, который выбран для загрузки?
-
дык это же надо какие-то временные каталоги создавать на сервере, чистить затем хранить имена в сессии видимо
-
Теперь о решении проблемы. Данные можно (и нужно) проверять яваскриптом - тут к вашим услугам и регулярные выражения и все прочие радости. Естественно, скриптом их тоже нужно проверять так и делаю. Загрузку файлов (это будут фото) видимо действительно придется оставить в виде "бонуса", ибо если их сохранять и потом показывать как загруженное изображение , то неоправданно усложняется скрипт
-
Для того: например юзер заполнил форму, выбрал файлы для загрузки и отправил , а скрипт проверки данных на корректность, (при некорректных данных) вернул форму обратно на редактирование. В этом случае поле выбора файлов обнуляется браузером и юзеру надо опять их подцеплять (а он может и не обратить на это внимание и отправить форму без файлов), я хотел в этом случае автоматически заполнить эти поля а для этого нужны полные пути и имя файла. Имя файла считывается (но как я понял не присваивается). Если есть какие другие пути решения?
-
Можно ли средствами JS определить полный путь до выбранного пользователем файла (document.getElementById('foto').value дает только имя файла) в тэге: <INPUT SIZE='50' TYPE='FILE' ID='foto' NAME='foto'> И как можно скриптом заранее присвоить этому полю значение, если конечно можно? Ограничения явы на работу с файловой системой я так понимаю?
-
Во всех не проверил, а IE 8, FF 3.5 и Chrom вроде не ругаются будем считать, что условно работает
-
т.е. так задуманно, а жаль ) А как можно обойти это ограничение? Ввести еще един INPUT типа hidden и прописать там значение этой переменной еще раз? Так будет корректно?
-
есть такая строчка в коде ( кнопки выбора, заблокироваые от редактирования): <INPUT TYPE=radio NAME='Deal' DISABLED VALUE='0' onClick="blockfoto(this.form,1)" >Вариант 1<INPUT TYPE=radio NAME='Deal' DISABLED VALUE='1' CHECKED onClick="blockfoto(this.form,0)" > Вариант 2 В обрабатывающий скрипт переменная Deal не приходит. Если убрать DISABLED, то все норамально работает. Почему? PS. Может этой теме место в Разделе для Начинающих?
-
Подскажите какой-нибудь готовый скрипт защиты формы от ботов-автозаполнителей, который перед ее отправкой предлагает ввести код с "трудночитаемой" картинки? Или хотя-бы как правильно назвать его в запросе чтобы погуглить на эту тему?
-
незнаю, у меня нет В общем добавил костыль для IE if (navigator.appName=="Microsoft Internet Explorer"){ e=window.event; }
-
Да нет восьмой уже. я весь в непонятках может события для ослика прописать отдельно через через определение типа браузера, но как-то это не кошерно?
-
И в IE получаю undefined )) в FF работает то же самое в IE получаю undefined "В инете полно кроссбраузерного кода " - вот нехочет он работать у меня и все тут
-
Понимаю что тем уже избитая, но к сожалению найденные по поискам решения не подошли (даже сам раньше задавал здесь похожий вопрос ). Итак есть в форме несколько полей ввода, где нужно вводить только цифры <INPUT TYPE=text SIZE=4 MAXLENGTH=4 ID='ph_code' NAME='ph_code' onKeyPress="onlyDigit();" VALUE="<?php print $ph_code?>" TITLE='Только цифры: не более 4'> и функция: function onlyDigit() // ввод только цифр { if (event.keyCode<45 || event.keyCode>57 || event.keyCode==45) event.returnValue = false; } Предложенные решения типа: event = event || window.event; работают в ФФ, если в строке вызова пишу аргумент event : <INPUT ..... onKeyPress="onlyDigit(event);.." > и при этом не работает в IE. Соответственно работает в IE если пишу без аргумента: <INPUT ..... onKeyPress="onlyDigit();.." > но не работает в FF. Сосем без скобок и аргумента не работает нигде ))). Причем в случае определения обработчика события onKeyPress для всего документа типа document.onkeypress=onlyDigit; скрип работает в обоих браузерах, но мне так не нужно, потому что есть поля ввода в которые нужно вводить и текст. Помогите пожалуйста.