Перейти к содержимому
La2Base
Главная
ЗагрузкиВикиФорумFAQ
ruen
Регистрация Войти
ГлавнаяФайлыВикиВойти
  • Главная
  • Загрузки
  • Вики
  • FAQ
  • Обратная связь
  • О проекте
  • Правила
  • Конфиденциальность
  • Условия использования

© 2026 la2base.com · Все права защищены

ruen
Форум/Web обвязка/[help]Проблема со скриптом (скрипт-емаил)
Поиск

[help]Проблема со скриптом (скрипт-емаил)

6 ответов158 просмотровСейчас просматривают: 1
Dragon
Dragon

Пользователь

Участник

Постов: 75

На форуме с: 23.05.2007

Репутация: +55

Рейтинг: 0

· 28.07.2009, 08:03

Здравствуйте, ставлю на хост такую штуку "восстоновление пароля через email" тобиш на емаил отправляеться форма.... всё работает всё как надо отправляеться, но смущает одно!!!!! ИМЯ ОТПРАВителя у письма User ***** имя моего главное почтового аккаунта!!!!! А имя этого аккаунта = аккаунт от сайта.....


Также у меня создан другой аккаунт емаил support@******.ru

Хотелось бы чтобы ОН был отправителем!!!! Либо хотябы писалось что он.....


Кто поможет затыкаюсь спасибками, скрипт может и ешё кому-то пригодиться....


Вот сам скрипт,



Код
<?
include "config.php"; // подключаем файл с конфигом
if(isset($_GET['step'])) $step = $_GET['step'];
if($step == 2)
{
      // проверим соединение с mysql сервером
      if(Test_mysql_connect() == false)
      {
            echo "<font color='#ff0000'> Ошибка!
             Скорее всего игровой сервер неактивен, попробуйте зайти сюда позже.</font></a></font>";
             End_page();
      }
      $msconn = mysql_connect($dbhost, $dbuser, $dbpass);
      if($msconn == FALSE)
      {
             echo "<font color='#ff0000'>Ошибка соединения.
             Скорее всего игровой сервер неактивен, попробуйте зайти сюда позже.</font>";
             End_page();
      }
      if(!MYSQL_SELECT_DB($dbname))
      {
             echo "<font color='#ff0000'>БД не найдена! Скорее всего эта ошибка вызвана сбоем на сервере</font>"; End_page();
      }
      $login = trim($_POST[login]);
      $email = trim($_POST[email]);
      if ($email == "")
      {
             echo ("<center><font color='#ff0000'>Вы не ввели e-mail</font><br>Укажите e-mail, введённый при регистрации</center>");
             End_page();
      }
      if ($login == "")
      {
             echo ("<center><font color='#ff0000'>Вы не ввели логин</font></center>");
             End_page();
      }
      $q = mysql_query("SELECT * FROM accounts_info WHERE login='".$login."'");
      if ($q == FALSE)
      {
             echo ("<center><font color='#ff0000'>Произошла ошибка. Попробуйте снова!</font></center>");
             End_page();
      }
      if(mysql_numrows($q) > "0")
      {
             $row = mysql_fetch_array($q);
             if($email == $row['email'])
             {
                   // высылаем пароль
                  
                   $message = "Здравствуйте, \15\12Вы или кто-то ещё заказал восстановление пароля от аккаунта,если это были вы, то используете данные, если это были не вы, то удалите письмо!!\15\12\15\12Ваш аккаунт: ".$row['login']."\15\12";
                   $message .= "Ваш пароль: ".$row['pass']."\15\12\15\12";
                   $message .= "Это письмо сгенерированно автоматически, не отвечайте на него!\15\12\15\12";
                   $message .= "--\15\12С уважением,\15\12";
                   $message .= "Администрация сервера *******";
                   $res_m = mail($row['email'], "Восстановление пароля от аккаунта.", $message, "Content-Type: text/plain; charset=windows-1251");
                   echo "Пароль выслан на E-mail, указанный при регистрации.";
             }
             else
             {
                   echo ("<center><font color='#ff0000'>Указанный E-mail не совпадает с тем, который вы ввели при регистрации</font></center>");
             }
      }
      else
      {
             echo ("<center><font color='#ff0000'>Указанный логин не зарегистрирован</font></center>");
      }

      End_page();
}
else
{
?>
<li>Введите ваш Логин и E-mail<br>
<li>Пароль будет выслан на ящик, указанный при регистрации<br>

<form name="form1" method="post" action="?step=2">
<div align="center">
<table width="250" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right"><font size="2">Логин</font>  </td>
<td width="161"><label>
<input name="login" type="text" id="login">
</label><br><br>
</td>
</tr>
<tr>
<td align="right"><font size="2">E-mail</font>  </td>
<td><label>
<input name="email" id="repeat">
</label>
</td>
</tr>
</table>
</div>
<br>
<label>
<input type="submit" name="Submit" value="Выслать пароль">
</label>
</form>
<?
End_page();
}

function End_page()
{
?>
<?
      exit;
}
?>

0
Dragon
Dragon

Пользователь

Участник

Постов: 75

На форуме с: 23.05.2007

Репутация: +55

Рейтинг: 0

· 29.07.2009, 04:07

Вот!


Код
<?
error_reporting(0);
// Настройка базы данных.
global $dbuser;
global $dbpass;
global $dbhost;
global $dbname;
$dbuser = "пользователь БД"; // Пользователь
$dbpass = "пароль БД"; // Пароль
$dbhost = "IP адрес сервера"; // Адресс БД
$dbname = "Имя БД"; // Имя базы данных

// тестирует подключение к игровому серверу
function Test_connect()
{
      $fp = fsockopen("IP адрес сервера", 7777, &$errno, &$errstr, 5);
      if($fp == FALSE)
      {
            return false;
      }
      else
      {
            fclose($fp);
            return true;
      }
}

// тестирует подключение к mysql серверу
function Test_mysql_connect()
{
      $fp = fsockopen("IP адрес сервера", 3306, &$errno, &$errstr, 5);
      if($fp == FALSE)
      {
            return false;
      }
      else
      {
            fclose($fp);
            return true;
      }
}
?>

0
Dragon
Dragon

Пользователь

Участник

Постов: 75

На форуме с: 23.05.2007

Репутация: +55

Рейтинг: 0

· 29.07.2009, 05:13

в том то и дело что не где... скрипт на хостинге!! он автоматически берёт ГЛАВНЫЙ АККАУНТ Почти хостинга, нужна под настройка, в php я нуб, 2 строчки кода ~ минут 100=)

0
sff
sff

Пользователь

Участник

Постов: 83

На форуме с: 08.09.2008

Репутация: +19

Рейтинг: 0

· 30.07.2009, 02:59

GGDesign.ru: хмм ну поменяй аккаунт почты на хостинге)

Думай что людям советуешь.
ЗЫ по делу
Код
<?
$mymail= 'Сюда своё мыло';
include "config.php"; // подключаем файл с конфигом
if(isset($_GET['step'])) $step = $_GET['step'];
if($step == 2)
{
      // проверим соединение с mysql сервером
      if(Test_mysql_connect() == false)
      {
            echo "<font color='#ff0000'> Ошибка!
             Скорее всего игровой сервер неактивен, попробуйте зайти сюда позже.</font></a></font>";
             End_page();
      }
      $msconn = mysql_connect($dbhost, $dbuser, $dbpass);
      if($msconn == FALSE)
      {
             echo "<font color='#ff0000'>Ошибка соединения.
             Скорее всего игровой сервер неактивен, попробуйте зайти сюда позже.</font>";
             End_page();
      }
      if(!MYSQL_SELECT_DB($dbname))
      {
             echo "<font color='#ff0000'>БД не найдена! Скорее всего эта ошибка вызвана сбоем на сервере</font>"; End_page();
      }
      $login = trim($_POST[login]);
      $email = trim($_POST[email]);
      if ($email == "")
      {
             echo ("<center><font color='#ff0000'>Вы не ввели e-mail</font><br>Укажите e-mail, введённый при регистрации</center>");
             End_page();
      }
      if ($login == "")
      {
             echo ("<center><font color='#ff0000'>Вы не ввели логин</font></center>");
             End_page();
      }
      $q = mysql_query("SELECT * FROM accounts_info WHERE login='".$login."'");
      if ($q == FALSE)
      {
             echo ("<center><font color='#ff0000'>Произошла ошибка. Попробуйте снова!</font></center>");
             End_page();
      }
      if(mysql_numrows($q) > "0")
      {
             $row = mysql_fetch_array($q);
             if($email == $row['email'])
             {
                   // высылаем пароль
                  
                   $message = "Здравствуйте, \15\12Вы или кто-то ещё заказал восстановление пароля от аккаунта,если это были вы, то используете данные, если это были не вы, то удалите письмо!!\15\12\15\12Ваш аккаунт: ".$row['login']."\15\12";
                   $message .= "Ваш пароль: ".$row['pass']."\15\12\15\12";
                   $message .= "Это письмо сгенерированно автоматически, не отвечайте на него!\15\12\15\12";
                   $message .= "--\15\12С уважением,\15\12";
                   $message .= "Администрация сервера *******";
$headers = 'Content-Type: text/plain; charset=windows-1251' . "\r\n";
$headers. = 'From: $mymail' . "\r\n" .
    'Reply-To: $mymail' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
                   $res_m = mail($row['email'], "Восстановление пароля от аккаунта.", $message, $headers");
                   echo "Пароль выслан на E-mail, указанный при регистрации.";
             }
             else
             {
                   echo ("<center><font color='#ff0000'>Указанный E-mail не совпадает с тем, который вы ввели при регистрации</font></center>");
             }
      }
      else
      {
             echo ("<center><font color='#ff0000'>Указанный логин не зарегистрирован</font></center>");
      }

      End_page();
}
else
{
?>
<li>Введите ваш Логин и E-mail<br>
<li>Пароль будет выслан на ящик, указанный при регистрации<br>

<form name="form1" method="post" action="?step=2">
<div align="center">
<table width="250" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right"><font size="2">Логин</font>  </td>
<td width="161"><label>
<input name="login" type="text" id="login">
</label><br><br>
</td>
</tr>
<tr>
<td align="right"><font size="2">E-mail</font>  </td>
<td><label>
<input name="email" id="repeat">
</label>
</td>
</tr>
</table>
</div>
<br>
<label>
<input type="submit" name="Submit" value="Выслать пароль">
</label>
</form>
<?
End_page();
}

function End_page()
{
?>
<?
      exit;
}
?>

0
Dragon
Dragon

Пользователь

Участник

Постов: 75

На форуме с: 23.05.2007

Репутация: +55

Рейтинг: 0

· 30.07.2009, 17:45

Спасибо, но тут ошибка какаято на строке 56!


а имено "Parse error: parse error, unexpected '='"

0
Dragon
Dragon

Пользователь

Участник

Постов: 75

На форуме с: 23.05.2007

Репутация: +55

Рейтинг: 0

· 30.07.2009, 18:01

Нашол ошибку, и исправил была точка после headers. = а надо headers .= и после $message, $headers" ковычки стереть...


ВОТ РАБОЧИЙ СКРИПТ ОТРЕДАКТИРОВАНЫЙ!!!!!!!!!!!(вверху своё мыло)

Код
<?
$mymail= 'тут своё мыло';
include "config.php"; // подключаем файл с конфигом
if(isset($_GET['step'])) $step = $_GET['step'];
if($step == 2)
{
      // проверим соединение с mysql сервером
      if(Test_mysql_connect() == false)
      {
            echo "<font color='#ff0000'> Ошибка!
             Скорее всего игровой сервер неактивен, попробуйте зайти сюда позже.</font></a></font>";
             End_page();
      }
      $msconn = mysql_connect($dbhost, $dbuser, $dbpass);
      if($msconn == FALSE)
      {
             echo "<font color='#ff0000'>Ошибка соединения.
             Скорее всего игровой сервер неактивен, попробуйте зайти сюда позже.</font>";
             End_page();
      }
      if(!MYSQL_SELECT_DB($dbname))
      {
             echo "<font color='#ff0000'>БД не найдена! Скорее всего эта ошибка вызвана сбоем на сервере</font>"; End_page();
      }
      $login = trim($_POST[login]);
      $email = trim($_POST[email]);
      if ($email == "")
      {
             echo ("<center><font color='#ff0000'>Вы не ввели e-mail</font><br>Укажите e-mail, введённый при регистрации</center>");
             End_page();
      }
      if ($login == "")
      {
             echo ("<center><font color='#ff0000'>Вы не ввели логин</font></center>");
             End_page();
      }
      $q = mysql_query("SELECT * FROM accounts_info WHERE login='".$login."'");
      if ($q == FALSE)
      {
             echo ("<center><font color='#ff0000'>Произошла ошибка. Попробуйте снова!</font></center>");
             End_page();
      }
      if(mysql_numrows($q) > "0")
      {
             $row = mysql_fetch_array($q);
             if($email == $row['email'])
             {
                   // высылаем пароль
                   $message = "Здравствуйте, \15\12Вы или кто-то ещё заказал восстановление пароля от аккаунта,если это были вы, то используете данные, если это были не вы, то удалите письмо!!\15\12\15\12Ваш аккаунт: ".$row['login']."\15\12";
                   $message .= "Ваш пароль: ".$row['pass']."\15\12\15\12";
                   $message .= "Это письмо сгенерированно автоматически, не отвечайте на него!\15\12\15\12";
                   $message .= "--\15\12С уважением,\15\12";
                   $message .= "Администрация сервера La2Dragon.ru";
                   $headers = 'Content-Type: text/plain; charset=windows-1251' . "\r\n";
                   $headers .= 'From: [email protected]' . "\r\n" .
                   'X-Mailer: PHP/' . phpversion();  
                   $res_m = mail($row['email'], "Восстановление пароля от аккаунта.", $message, $headers);
                   echo "Пароль выслан на E-mail, указанный при регистрации.";
             }
             else
             {
                   echo ("<center><font color='#ff0000'>Указанный E-mail не совпадает с тем, который вы ввели при регистрации</font></center>");
             }
      }
      else
      {
             echo ("<center><font color='#ff0000'>Указанный логин не зарегистрирован</font></center>");
      }

      End_page();
}
else
{
?>
<li>Введите ваш Логин и E-mail<br>
<li>Пароль будет выслан на ящик, указанный при регистрации<br>

<form name="form1" method="post" action="?step=2">
<div align="center">
<table width="250" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right"><font size="2">Логин</font>  </td>
<td width="161"><label>
<input name="login" type="text" id="login">
</label><br><br>
</td>
</tr>
<tr>
<td align="right"><font size="2">E-mail</font>  </td>
<td><label>
<input name="email" id="repeat">
</label>
</td>
</tr>
</table>
</div>
<br>
<label>
<input type="submit" name="Submit" value="Выслать пароль">
</label>
</form>
<?
End_page();
}

function End_page()
{
?>
<?
      exit;
}
?>

0
Тема закрыта для ответов