| |
|
|
| | почему сегодня не работает отправка сообщений , хотя вчера все работало !!! может существует более надежный способ отправки сообшений ???
<?
if ($_POST[name12]=='')
{
echo "Вы не ввели имя.";
}
else
{
$new=$_POST['name12'];
$file = fopen("name.dat","r");
if(!file)
{
echo("ошибка открытия файла ");
}
$file = file ('name.dat');
$name = $new;
$flag = true;
for ($i=0; $i<count($file); $i++)
{
if (trim($file[$i]) == $name)
{
print "На ваш Е-Майл указаный при регистрации выслан пароль.";
$file_array = file("mail.dat");
$file_array1 = file("password.dat");
$mail_p= $file_array[$i];
$pas= $file_array1[$i];
//print $mail_p;
//print $pas;
// The message
$message = "Система востановления пароля сайта \nВаш пароль указанный при регистрации:$pas";
// In case any of our lines are larger than 70 characters, we should use wordwrap()
$message = wordwrap($message, 200);
// Send
mail($mail_p, '---------------', $message);
$flag=false;
}
}
// $flag = true;
if(!$flag)
{
print "";
}
else {
print "Такого пользователя нет в базе данных .";
}
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: dima2207
(22.02.2007 в 15:26)
| | | еще раз вам говорю поробуйте избавиться от $flag и вообще проанализируйте свой код по любому можно его сократить :) | |
| |
|
|
| |
|
|
| |
для: dima2207
(22.02.2007 в 15:26)
| | | $file = fopen("name.dat","r");
if(!file)
{
echo("ошибка открытия файла ");
}
$file = file ('name.dat');
Во-первых, какой бы файл не был, какие бы у него права не стояли, такой код НИКОГДА не выведет "ошибка открытия файла", так как "file" - не переменная, а константа. Если константа не определена, то возвращается имя константы. Это строка, а значит true.
Во-вторых, file() тоже возвращает false, если открыть файл не удалось. Поэтому fopen() тут применять совсем ни к чему.
В-третьих, если уж Вы храните данные на обычных файлах, то зачем хранить имя/e-mail/пароль в разных файлах? Очень шаткая система. Возможно, кол-во строк в name.dat, mail.dat и password.dat не совпадает.
Лучше тогда уж хранить эти данные, отделив их друг от друга каким-нибудь разделителем. Например, символом табуляции. А потом с помощью explode() доставать данные. | |
| |
|
|
| |
|
|
| |
для: Unkind
(22.02.2007 в 15:38)
| | | да нет-же там все нормально , когда я вывожу на печать значение переменных $mail_p , $pas то там все нормально все соответствует , тут проблемма с функцией mail !!! что интересно то вчера все работало !!!!а от $flag тут никак не избависшя , да и к томуже алгоритм рабочий , я проверял , проблемма с mail !!!А есть ли еще способы отправить сообщение не используя виндовскую программу ??? | |
| |
|
|
| |
|
|
| |
для: dima2207
(22.02.2007 в 15:57)
| | | от флага избавиться на раз два :) | |
| |
|
|
| |
|
|
| |
для: KPETuH
(22.02.2007 в 16:01)
| | | причем тут флаг ????он мне не мешает , а наоборот помогает опредилить прошла ли проверка полностью , и отправлено ли сообшение !!!!ну так у меня все нормально сообшшение об отправке выводится , переменные не пустые , а сообщение не посылается !!! | |
| |
|
|
| |
|
|
| |
для: dima2207
(22.02.2007 в 16:03)
| | | да , и еще , где указывать заголовок ? что-бы в заголовке письма не было nobody !!! | |
| |
|
|