Эта тема на forum.dklab.ru


till_lindemann_: несколько вопросов по php
У меня несколько вопросов:

1) Кто-нибудь мне объяснит как значение переменной распространить на несколько скриптов?

К примеру, текстовое поле формы имеет имя name=”num”, далее форма обрабатывается скриптом, тут проблем нет. Но далее происходит обработка вторым скриптом и там гордо заявляется, что $num не определена… Порекомендовали <input type="hidden"> не помогает… Как же передать значение переменной на несколько скриптов?

2) Почему encrypt() и decrypt() не работают?

3) Есть две радиокнопки с именами (автомассив) name="but[]". Форму обрабатывает скрипт, который в зависимости от того, какая радиокнопка отмечена выдает тот или иной ответ, к примеру:

if($but[0]){
echo "first";
}
if($but[1]){
echo "second";
}

Почему это не работает?

4) Есть шаблон для проверки правильности ввода e-mail, типа

$mail=".+@.+\..+";

Имя текстового поля ввода email name="email";

Скрипт, в зависимости от того, правильно или нет введен e-mail выдает:

<?
$mail=".+@.+\..+";

if(eregi($mail,$email)){
echo "e-mail validated";
} else{echo "invalid e-mail!";}

?>

Но он выдает результаты на новой странице и после нажатия на Submit, а мне надо, чтобы в процессе написания рядом с текстовом полем писался ответ сразу, то есть после написания e-mail рядом с текстовым полем вышло "email validated", а не после нажатия на отправку. Как это сделать на php? На JScript пробовал, не проходит.

5)Как считать из текстового файла только последнюю добавленную строку (не используя сортировки массивов) и если я не знаю номер строки ?

6)Подскажите общие принципы, общую структуру внутрисайтовой почты. Есть один юзер и второй, как организовать передачу текстовой строки от одного другому?

Может кто знает ответы?
SelenIT:
till_lindemann_
1) Откройте для себя сессии.
2) Наверное потому, что таких встроенных функций в PHP нет - по крайней мере в мануале они не упоминаются. Если это Ваши собственные функции, приведите проблемный код.
3) Возможно, проблема register_globals. Хотя вряд ли. Может быть, ошибка с областью видимости. Попробуйте var_dump($but) сразу перед приведенным фрагментом - узнаете, попадает ли переменная в эту часть скрипта (кстати, стандартный прием при отладке).
4) На PHP это сделать невозможно в принципе - PHP FAQ: Как работает РНР, где он выполняется. Можно сделать на комбинации PHP+JS, например с использованием библиотеки Subsys_JsHttpRequest, или на одном JS (он тоже поддерживает регулярные выражения). Пользуйтесь поиском, есть масса готовых решений.
5) Используйте fopen+fseek+fread вместо file. Определите размер файла с помощью filesize, читайте только последние X байт (X должен быть заведомо больше самой длинной строки в файле). Из считанного выделяете последнюю непустую часть после \n (напр., с помощью explode).
6) Общий принцип: при получении сообщения от первого юзера записать его в какое-нибудь внешнее хранилище (текстовый файл, БД...), при заходе второго юзера - прочитать это сообщение оттуда и вывести его.
till_lindemann_: насет encrypt
но ведь в клине от создателей php говорится о функциях encrypt() и decrypt()...
Maus:
till_lindemann_
http://forum.dklab.ru/about/todo/PravilaEtogoForuma-ProchitayteObyazatelno.html - оформляйте код!
в клине от создателей php
в чём-чём??
о функциях encrypt() и decrypt()
есть, например, функции mcrypt_decrypt(); mcrypt_encrypt(); crypt();

Эта тема на forum.dklab.ru