Главная Новые темы Список тем Задать вопрос Поиск  

Форум "Беседка"


Обо всем и ни о чем...


 #0 Таго Гваун © 04.07.06 01:16:29 - 08.07.06 18:42:41

Сажусь на коня.



Товарищи, как просомтреть выполнилась ли функция или же нет? По ходу дела получаеться, что функция отправки почты через sendmail не работает.
в скрипте обработчике такой код
проходим проверки, получаем перменные.

$user = $_POST['username'];
        $email=$POST['usermail'];
        
$user=addslashes($user);
$email=addslashes($email);
$user=substr($user,0,33);
$email=substr($email,0,33);
$user=trim($user);
$email=trim($email);
$user=htmlspecialchars($user);
$email=htmlspecialchars($email);
        
$usermess=addslashes($usermess);
$usermess=trim($usermess);
$usermess=htmlspecialchars($usermess);
$usermess=str_replace("\n",&q­uot;<br>", $usermess);

// потов вызываем функцию.

$mail_to_admin;

// прототипы функций

function mail_to_admin($usermess){
    
for($i=0;$i<count($adminmail);$i++)
 {
  $mailer("$user<$email>"­, $adminmail[$i], "Fatal error!", "Error: $usermess\n"."Remote IP:".$remote_ip()."\n");­
 usleep(100000);
 }
}

// прототип функции маиллера.

function mailer($from, $to, $subj, $body)
{
$from="From: $from\nReply-To: $from\nX-Priority: 1\nContent-Type: text/plain; charset=\"koi8-r\"\nContent-T­ransfer-Encoding: 8bit";
$from=convert_cyr_string($from,"w&­quot;,"k");
$to=convert_cyr_string($to,"w"­;,"k");
$subj=convert_cyr_string($subj,"w&­quot;,"k");
$body=convert_cyr_string($body,"w&­quot;,"k");
mail($to,$subj,$body,$from);
}


Но по ходу дела ничего никуда не отправляеться. Повторюсь. Как проверить сработала функция или же нет? Цитата

 #1 Физик © 04.07.06 01:29:21

> // потов вызываем функцию.
>
> $mail_to_admin;

Это что за вызов такой ?
 #2 Ketmar © 04.07.06 11:02:31

для начала -- посоветую при разработке включать все сообщения об ошибках и предупреждения. иногда таком образом можно найти глюки, мимо которых 100 раз проскакивал. %-)
 #3 Таго Гваун © 04.07.06 11:17:41

У меня нет опыта включения оброботок ошибок в функциях.
Физик, я просто подсмотрел функции и немного переработал под себя. Думаю ошибку сделал. Маилеру надо передавать  именно те функции, которые есть, а не $form и прочии. потому что вестимо он получает ноль. вообще ноль. ни дареса ни отправителя - ничего. хотя думаю это тоже ошибка. буду разбираться что к чему.
 #4 Таго Гваун © 04.07.06 11:39:36

Посмотрел свой скрипт и понял пару ошибок.
Вызывать то надо $mail_to_admin($usermess)
и дальше не $mailer, а mailer но появилась другая ошибка.
- Fatal error: Call to undefined function: () in /home/harley4/public_html/kontakt/conf/­proverca.php on line 41
а 41 и есть та самая $mail_to_admin($usermess)
 #5 Ketmar © 04.07.06 16:40:19

и будет дальше, пока документацию по PHP не прочитаешь. они там открытым текстом упоминают о том, что доллар нужен перед именами переменных, а не функций. это не сакральное знание.
 #6 Таго Гваун © 04.07.06 20:29:15

Да я понял. я сделал нашел ошибки мелкие переделал вообще функцию. но толку... понимаешь он не пересылает текстовую арею. я понял что ошибся с from и писал вместо него form - исправил.
но блин не шлет и все. и в поле от кого
он шлет имя и <Postmaster>
хотя должно быть имя, и емаил адрес.
 #7 Физик © 05.07.06 00:56:44

Я бы порекомендовал начать с установки на локальной машине "Джентельменского пакета Web-разработчика" aka Денвер, который можно скачать на сайте этого проекта - . Туда как раз входит и Apache и PHP и MySQL и та самая заглушка для SendMail, на которой все это можно тестировать. Более того, PHP сконфигурирован как раз с уровнем показа ошибок NOTICE.
Установка пакета - проще некуда.
Ну а дальше, когда будет иструмент, сильно рекомендую прочитать книгу хотя бы по основам PHP, чтобы сразу избежать множества глупых ошибок.

p.s. В приведенном примере забыл подчеркивание в $email=$POST['usermail'];
p.p.s. Внимательность позволяет избежать множества глупых ошибок ;)
 #8 Таго Гваун © 05.07.06 01:00:57

Внимательно да. Да и еще пока не сделаешь$usermess=$_POST['usermess']; переменная не передасться. вот так вот.
теперь сидю и думаю. Люди буржуинсы, какие кодировки пользуют на своих броузерах и своих "оутлуках" с "Мышми"? И как конвертировать? А то дял русиша знаю стандарты, а для нерусиша - не знаю.
 #9 Физик © 05.07.06 01:59:16

> Да и еще пока не сделаешь$usermess=$_POST['usermess']; переменная
> не передасться. вот так вот.

Какая переменная и куда она должна передаваться ? :) Вижу лишь обычное присваивание элемента массива переменной.

> Люди буржуинсы, какие кодировки пользуют на своих броузерах
> и своих "оутлуках" с "Мышми"? И как конвертировать?

Конвертировать что, куда и главное зачем ? Английский текст будет виден в любой кодировке одинаково, а русский не будет виден ни в одной не кириллической.
Ну или используй Unicode, наконец.
 #10 Deep © 05.07.06 11:02:11

> #3   Таго Гваун ©
> У меня нет опыта включения оброботок ошибок в функциях.

вначале модуля, который хочешь отладить, вставляй такую команду:


error_reporting (E_ERROR|E_WARNING|E_PARSE);
 #11 Таго Гваун © 05.07.06 14:00:47

Спасибо Дип.
Физик вот смотри. Я вижу не правильно поставил вопрос. В СНГ распротроненна кодировка на сайтх именно html window-1252. Серверы почты обычно передают кодировку в koi8-r и потому, что бы послать с сайта письмо на ящик, который точно будет открываться программой почтовой - надо из window-1252 переконвертировать кириллические знаки в koi8-r что я и сделал. а у буржуинов с этим делом как? В какой кодировки обычно страницы и в какой кодировке передаються маил сообщения?
На счет первого. Это присваивание. У меня сообщение не отпровлялось, потому что на прямую к переменной $usermess нельзя было обратиться. Сначала ей надо было присвоить значение массива $_POST['usermess']. Как я сделал до этого с $user, $$email перменными.Если бы не присвоил им значение $_POST['username']; то и обратиться к полям бы не смог.
 #12 Deep © 05.07.06 18:16:50

> #11   Таго Гваун ©
Хорошо бы ветки называть более менее тематично. Чтоб тема не только интересно звучала, но и чтоб из нее было поняно о чем пойдет речь дальше.    
 #13 Физик © 05.07.06 20:28:00

> В СНГ распротроненна кодировка на сайтх именно html window-1252
А не windows-1251 часом ?  

>  а у буржуинов с этим делом как?
Возникает некоторое непонимание термина "буржуины". Красный Китай к буржуинам будем относить ?   Если Китай, Япония и т.п. входят в это понятие, то  возможна только одна кодировка - utf-8 более известная как Юникод.
Если же "буржуины" - это исключительно англоговорящие народы, или ты предполагаешь отправлять "буржуинам" исключительно письма на английском языке, то какую бы кодировку ты не выбрал, английские символы будут отображены одинаково, в отличии от спецсимволов.

> У меня сообщение не отпровлялось, потому что на прямую к
> переменной $usermess нельзя было обратиться.

Естественно нельзя. Это основы PHP. Чтобы такая переменная возникла, необходимо написать сначала
extract($HTTP_POST_VARS); после чего переменная $usermess будет доступна.
 #14 Таго Гваун © 07.07.06 21:07:05

Не скажи Физик. Раньше она и была доступна. Пока не попал на сервак. Теперь для меня стало истинной. Теперь у меня другой вопрос. есть код вызова картнки, в которую передаеться черещ сессию случайное число
$_SESSION["secret_number&quo­t;]=rand(1000,9999);
а вот сама ссылка <img src="/kontakt/conf/code.php?<? echo SID; ?>" width=101 height=26 vspace=5><br><br> Проблема в том, что не могу еще один параметр прикрутить через &... то ли не так ставлю, то ли вообще не правильно. А сделать надо для не кэширования картинки. А то поюзаешь стрелки "назад" и "вперед", а картинка одна и та же. а "прилепить" надо бы переменную в которой будет значение текушего времени. И как это правильно сделать? Я смотрел примеры, типа
ru/?Step=info&Action=Question­&ID=48085
но чего-то не срабатывает. Картинка кэшированная все равно.
 #15 Физик © 07.07.06 23:03:26

> Не скажи Физик. Раньше она и была доступна. Пока не попал
> на сервак.

А все таки скажу. Потому что то, что она была раньше доступна, было результатом того, что в php.ini была активирована директива register_globals. Однако большинство хостеров эту директиву дизактивируют. Код же желательно писать так, чтобы он был работоспособен независимо от платформы и настроек хоста, где он выполняется.

> код вызова картнки, в которую передаеться черещ сессию случайное
> число

Нафига его передавать - то ? Добавляй к ссылке случайное число и все.

> ru/?Step=info&Action=Questio­n­&ID=48085
Это что ? Помесь mod_rewrite со стандартным способом ?
 #16 Таго Гваун © 07.07.06 23:11:20

нет это пример. ты напиши Физик, именно как сделать. потому что я смотрю на примеры и просто туплю. да я нагло прошу дать полный листинг ссылки но что бы понять как оно точно правильно делаеться и больше никогда не возвращатся к этому вопросу.
 #17 Таго Гваун © 08.07.06 18:42:41

Решил проблему с подключеним второго параметра. Но меня бесит, рубит, ОПЕРА и IE по разному отрабатывают скрипт формы. В IE все нормально со сменой картинки (наконец-то) а полей нет. В опере же кэшируеться все. Я уже на стенку лезу от работ этих браузеров.




  • Написать ответ

    Имя: Регистрация HTML?
    smiles смайлики
    Потом перейти в:    
    паутина



      ©  webest.net, 2002-2007  

    top.mail.ru
    » Бесплатный счетчик посещений
    » Рейтинг сайтов