|
|
|
| Здравствуйте участники форума .
Хотел обратиться за советом .
У меня на сайте есть форма регистрации , регистрация полностью работает . Но проблема в том что после регистрации пользователя ему на эл.почту не приходит его данные логин и пароль .
Может кто подскажет что у меня не так, буду очень благодарен.
Вот файл a_register.php находящийся у меня в корне сайта
<?
error_reporting(0);
require('scripts/connect.php');
include('scripts/functions.php');
//DELETE EXPIRED BONUS CODES
mysql_query("DELETE FROM bonus WHERE NOW()>expire");
////////////////////// Получаем Перенные из флешки /////////////////////////////////////////////////////
if( isset($_POST["username"]) ){ $username=$_POST["username"]; }else{ $username=""; }
if( isset($_POST["lastname"]) ){ $lastname=$_POST["lastname"]; }else{ $lastname=""; }
if( isset($_POST["login"]) ){ $login=$_POST["login"]; }else{ $login=""; }
if( isset($_POST["passwd"]) ){ $passwd=$_POST["passwd"]; }else{ $passwd=""; }
if( isset($_POST["cpasswd"]) ){ $cpasswd=$_POST["cpasswd"]; }else{ $cpasswd=""; }
if( isset($_POST["email"]) ){ $email=$_POST["email"]; }else{ $email=""; }
if( isset($_POST["country"]) ){ $country=$_POST["country"]; }else{ $country=""; }
if( isset($_POST["city"]) ){ $city=$_POST["city"]; }else{ $city=""; }
if( isset($_POST["address"]) ){ $address=$_POST["address"]; }else{ $address=""; }
if( isset($_POST["phone"]) ){ $phone=$_POST["phone"]; }else{ $phone=""; }
if( isset($_POST["bonus"]) ){ $bonus=$_POST["bonus"]; }else{ $bonus=""; }
////////////Убираем Знак коретки
$username=str_replace(array("\r","\n"),"",$_POST["username"]);
$lastname=str_replace(array("\r","\n"),"",$_POST["lastname"]);
$login=str_replace(array("\r","\n"),"",$_POST["login"]);
$username=str_replace(array("\r","\n"),"",$_POST["username"]);
$passwd=str_replace(array("\r","\n"),"",$_POST["passwd"]);
$email=str_replace(array("\r","\n"),"",$_POST["email"]);
$country=str_replace(array("\r","\n"),"",$_POST["city"]);
$address=str_replace(array("\r","\n"),"",$_POST["address"]);
$phone=str_replace(array("\r","\n"),"",$_POST["phone"]);
$bonus=str_replace(array("\r","\n"),"",$_POST["bonus"]);
////////////////////////////////////////////////////////////
$errors="";
$registration_result="";
if( isset($_POST['r']) ) {
$ref=$_POST['r'];
}else if( isset($_COOKIE["ref"]) ) {
$ref=$_COOKIE["ref"];
}else{ $ref="";
}
////////////////////// MAIN //////////////////////////////////////////////////////////
if( ( isset($_POST["reg_form_ok"]) )&&( $_POST["reg_form_ok"]=="Register" ) ){
$username=Code($username);
$lastname=Code($lastname);
$login=Code($login);
$passwd=Code($passwd);
$cpasswd=Code($cpasswd);
$email=Code($email);
$country=Code($country);
$city=Code($city);
$address=Code($address);
$phone=Code($phone);
//////////////////////////////// Проверка Данных ///////////////////////////////////////////////////////
if(!$username or $username=="undefined"){echo "&r_status2=Введите Имя"; exit;}
if(!$lastname or $lastname=="undefined"){echo "&r_status2=Введите фамилию"; exit;}
if(!$login or $login=="undefined" ){echo "&r_status2=Введите Логин"; exit;}
else{
$result=mysql_query("select `login` from `users` where `login`='$login'");
if( mysql_num_rows($result) ){echo "&r_status2=Этот логин уже использован"; exit;}
}
if(!$passwd or $passwd=="undefined"){echo "&r_status2=Введите пароль не менее 4 символов"; exit;}
else{
if( strlen($passwd)<4 ){ echo "&r_status2=Пароль должен быть не менее 4 символов"; exit;}
}
if(!$email or $email=="undefined"){echo "&r_status2=Введите e-mail"; exit;}
else{
if( !checkEmail($email) ){ echo "&r_status2=E-mail не существует!"; exit; }
else{
$result=mysql_query("select `email` from `users` where `email`='$email'");
if( mysql_num_rows($result) ){ echo "&r_status2=E-mail уже существует в нашей базе."; exit; }
}
}
if(!$city or $city=="undefined"){echo "&r_status2=Введите город"; exit;}
if(!$address or $address=="undefined"){echo "&r_status2=Введите адрес"; exit;}
else{
if( strlen($address)<6 ){ echo "&r_status2=Введите правильный адрес"; exit;}
}
if(!$phone or $phone=="undefined"){echo "&r_status2=Введите телефон"; exit;}
else{ $registration_result.="<div class=\"err\"><br>".$errors."</div>"; }
}
if (!isset ($_POST["reg_form_ok"]) OR $errors ){
echo "&r_status2=Неизвестная ошибка!";
}else if(!$errors){
//////////////////////////////////////////////Делаем запись в Базу Данных
$sqlr="INSERT INTO users VALUES(NULL,'$login','$passwd','1000.00','0.00','0.00','$email','$username','$lastname','$date','0.00','microcasino','1','0.00','0.00','0.00','0.00','0.00','0.00')";
mysql_query($sqlr);
$registration_result.="<div class=\"thank\"><b>Спаибо!</b><br>Вы зарегестрированы в <?=$sitename?>! </div>";
///////////////Отправка письма Админу
$r_login=$login;
$r_pass=$passwd;
include("mail/reg.php");
$to =$r_email;
$subject = $reg_reg_mail_subject;
$msg =$reg_reg_mail;
$mailheaders = "Content-Type: text/plain; charset=Windows-1251\n";
$mailheaders .= "From: $con[2]\n";
mail($to, $subject, $msg, $mailheaders);
$con=mysql_fetch_array(mysql_query("select * from seting"));
if ($con[regmail]=="yes"){
include("mail/newreg.php");
$to =$con['adm_email'];
$subject = $reg_reg_mail_subject;
$msg =$reg_reg_mail;
$mailheaders = "Content-Type: text/plain; charset=Windows-1251\n";
$mailheaders .= "From: $con[adm_email]\n";
mail($to, $subject, $msg, $mailheaders);
}
echo "®status=REG:OK&r_status2=ok";
}
?>
|
А вот файл reg.php который в папке mail
<?
$reg_reg_mail_subject="Данные вашего аккаунта";
$reg_reg_mail="Здравствуйте, $r_login,
Данное письмо содержит информацию для доступа
Логин : $r_login
Пароль : $r_pass
Рекомендуем пользоваться MS Internet Explorer 7 и выше.
---------------------
С Наилучшими Пожеланиями,
Администрация;
?>
|
Хочу еще заметить что админу сайта то есть мене письмо приходит о том что зарегистрировался новый пользователь. А вот самому пользователю как уже написал выше его данные ему не приходят. | |
|
|
|
|
|
|
|
для: prtygi
(17.05.2011 в 01:34)
| | во-первых ковычек нет закрывающих для $reg_reg_mail
<?
...
$reg_reg_mail="Здравствуйте, $r_login,
Данное письмо содержит информацию для доступа
Логин : $r_login
Пароль : $r_pass
Рекомендуем пользоваться MS Internet Explorer 7 и выше.
---------------------
С Наилучшими Пожеланиями,
Администрация";
?>
|
во-вторых не понятно откуда переменная $r_email берется. я так понимаю что надо добавить
$r_email=$email;
$r_login=$login;
$r_pass=$passwd;
|
| |
|
|
|
|
|
|
|
для: parczynski
(17.05.2011 в 02:48)
| | Вот два варианта попробовал сделать .
<?
...
$reg_reg_mail="Здравствуйте, $r_login,
Данное письмо содержит информацию для доступа
почта : $r_email
Логин : $r_login
Пароль : $r_pass
Рекомендуем пользоваться MS Internet Explorer 7 и выше.
---------------------
С Наилучшими Пожеланиями,
Администрация";
?>
|
и вот так :
<?
...
$reg_reg_mail="Здравствуйте, $r_login,
Данное письмо содержит информацию для доступа
$r_email=$email;
$r_login=$login;
$r_pass=$passwd;
Рекомендуем пользоваться MS Internet Explorer 7 и выше.
---------------------
С Наилучшими Пожеланиями,
Администрация";
?>
|
При регистрации когда все данные нажимаю на кнопку сохранить показывается ошибка . И регистрация происходит но некорректно . На почту письмо не приходит .
Даже и не знаю в чём причина . | |
|
|
|
|
|
|
|
для: prtygi
(17.05.2011 в 03:15)
| | нет, я имел ввиду не в письмо эти строки добавить у вас в коде есть
$registration_result.="<div class=\"thank\"><b>Спаибо!</b><br>Вы зарегестрированы в <?=$sitename?>! </div>";
///////////////Отправка письма Админу
$r_login=$login;
$r_pass=$passwd;
include("mail/reg.php");
|
вот сюда добавьте $r_email=$email;
$registration_result.="<div class=\"thank\"><b>Спаибо!</b><br>Вы зарегестрированы в <?=$sitename?>! </div>";
///////////////Отправка письма Админу
$r_login=$login;
$r_pass=$passwd;
$r_email=$email;
include("mail/reg.php");
|
| |
|
|
|
|
|
|
|
для: parczynski
(17.05.2011 в 03:17)
| | О супер всё заработало !!!!!!!!. Даже уже и не ожидал . Действительно Вы мне помогли.
Большое Вам спасибо , дай бог Вам и вашим близким счастья и здоровья .
и хотел еще спросить а если письмо которое приходит на почту в заголовке ( от неизвестного отправителя) где это мне нужно вставлять название своё вместо неизвестного отправителя?
Заранее спасибо | |
|
|
|
|
|
|
|
для: prtygi
(17.05.2011 в 03:47)
| | Рад помочь ))
по поводу неизвестного отправителя у вас есть строки
$mailheaders .= "From: $con[2]\n";
mail($to, $subject, $msg, $mailheaders);
$con=mysql_fetch_array(mysql_query("select * from seting"));
|
тут видно что переменная $con обьявляется уже после использования. надо поменять строки местами так:
$con=mysql_fetch_array(mysql_query("select * from seting"));
$mailheaders .= "From: $con['adm_email']\n";
mail($to, $subject, $msg, $mailheaders);
|
и вместо 2ки я явно указал какое поле будет выбираться. в таком случае будет указываться email из таблицы seting, на который вы отправляете письмо Админу,
вы так же можете пойти другим путем и явно указать свой e-mail вместо "From: $con[2]\n"
$mailheaders .= "From: addres@server.ru\n";
|
| |
|
|
|
|
|
|
|
для: parczynski
(17.05.2011 в 05:25)
| | Да спасибо очень содержательный ответ . Я последним из вариантов пошёл . Всё работает всё классно .
Спасибо за помощь Вы действительно помогли !
Всего хорошего Вам до встречи . | |
|
|
|
|