1) при регистрации отправить логин пользователя. пароль отправляется а логин не получается.
пароль там генерируется сам, поэтому он сразу в переменной, а как занести в переменную логин, который ввел пользователь. я сделал так
$names = $_POST['username'];
send_mail( 'reg@vk-battle.ru',
$_POST['email'],
'Welcome to vk-battle.ru!',
'Ваш пароль: ' .$pass .$names);
Но так ничего не отправляется :(
Что делаю не так???
2) как сделать, чтобы на одно мыло был только один аккаунт? идею понимаю, но преобразовать ее в код не могу. мейлы хранятся в ячейке "email" в базе данных. как проверить, повторяется ли мыло, введенное пользователем с мылами из таблицы?
Спасибо!!!
Спустя 3 минуты, 19 секунд (31.05.2011 - 08:25) XCross написал(а):
Спустя 4 минуты, 21 секунда (31.05.2011 - 08:29) feniks_iopok написал(а):
kmaks
спасибо!!!
само сообщение пока черновой вариант, надо самое главное пока сделать...как занести глогин в переменную и отправить его, и как проверить число повторений имейла в базе..
спасибо!!!
само сообщение пока черновой вариант, надо самое главное пока сделать...как занести глогин в переменную и отправить его, и как проверить число повторений имейла в базе..
Спустя 14 минут, 17 секунд (31.05.2011 - 08:44) XCross написал(а):
Цитата |
как проверить число повторений имейла в базе |
$count_email = mysql_query ("SELECT * FROM `tz_members` WHERE `email` = ".mysql_real_escape_string($_POST['email'])) or die (mysql_error());
$count = mysql_num_rows($count_email);
Первый вопрос.
Попробуй так. Только кодировку в заголовках укажи
<?php
$body = '
Welcome to vk-battle.ru!<br>
Ваш логин: ' .$_POST['username']. '
Ваш e-mail: ' .$_POST['email']. '
Ваш папрль:' .$pass. '<br>';
$sender = 'reg@vk-battle.ru';
$headers = '
From:reg@vk-battle.ru\r\n
Content-type: text/html; charset=КОДИРОВКА\r\n';
$subject = 'Welcome to vk-battle.ru';
if(mail($sender, $subject, $body, $headers)){
echo 'Мы отправили вам email с вашим новым паролем!';
}
else{
echo 'Ошибка отправки сообщения!';
}
?>
Спустя 18 минут, 38 секунд (31.05.2011 - 09:02) feniks_iopok написал(а):
kmaks
большое спасибо!!!!
сейчас нет возможности проверить, но огромное спасибо!!!!
большое спасибо!!!!
сейчас нет возможности проверить, но огромное спасибо!!!!
Спустя 38 минут, 5 секунд (31.05.2011 - 09:40) feniks_iopok написал(а):
все равно регистрирует на одинаковые имейлы( а письмо вообще не отправляет
при регистрации не выводит ни одного сообщения из
вот пхп код на странице, которые у меня получился...что не так сделал?
я только добавил ваш код, так где проверяются ошибки. и изменил код отправки сообщений...
при регистрации не выводит ни одного сообщения из
if(mail($sender, $subject, $body, $headers)){а выводит сообщение из
echo 'Мы отправили вам email с вашим новым паролем!';
}
else{
echo 'Ошибка отправки сообщения!';
}
$_SESSION['msg']['reg-success']='<font style="font-size:9px; color: green;">Мы отправили вам письмо с вашим Новым паролем!</font>';
вот пхп код на странице, которые у меня получился...что не так сделал?
я только добавил ваш код, так где проверяются ошибки. и изменил код отправки сообщений...
<?php
define('INCLUDE_CHECK',true);
require 'connect.php';
require 'functions.php';
// Данные два файла нужно включать только в случае определения INCLUDE_CHECK
session_name('tzLogin');
// Запуск сессии
session_set_cookie_params(2*7*24*60*60);
// Устанавливаем время жизни куки 2 недели
session_start();
if($_SESSION['id'] && !isset($_COOKIE['tzRemember']) && !$_SESSION['rememberMe'])
{
// Если вы вошли в систему, но куки tzRemember (рестарт браузера) отсутствует
// и вы не отметили чекбокс 'Запомнить меня':
$_SESSION = array();
session_destroy();
// Удалаяем сессию
}
if(isset($_GET['logoff']))
{
$_SESSION = array();
session_destroy();
header("Location: index.php");
exit;
}
if($_POST['submit']=='Войти')
{
// Проверяем, что представлена форма Войти
$err = array();
// Запоминаем ошибки
if(!$_POST['username'] || !$_POST['password'])
$err[] = '<font style="font-size:9px; color: red;">Все поля должны быть заполнены!</font>';
if(!count($err))
{
$_POST['username'] = mysql_real_escape_string($_POST['username']);
$_POST['password'] = mysql_real_escape_string($_POST['password']);
$_POST['rememberMe'] = (int)$_POST['rememberMe'];
// Получаем все ввденые данные
$row = mysql_fetch_assoc(mysql_query("SELECT id,usr FROM tz_members WHERE usr='{$_POST['username']}' AND pass='".md5($_POST['password'])."'"));
if($row['usr'])
{
// Если все в порядке - входим в систему
$_SESSION['usr']=$row['usr'];
$_SESSION['id'] = $row['id'];
$_SESSION['rememberMe'] = $_POST['rememberMe'];
// Сохраняем некоторые данные сессии
setcookie('tzRemember',$_POST['rememberMe']);
}
else $err[]='<font style="font-size:9px; color: red;">Ошибочный пароль или/и имя пользователя!</font>';
}
if($err)
$_SESSION['msg']['login-err'] = implode('<br />',$err);
// Сохраняем сообщение об ошибке сессии
header("Location: index.php");
exit;
}
else if($_POST['submit']=='Регистрация')
{
// Проверяем, что представлена форма Зарегистрироваться
$err = array();
$count_email = mysql_query ("SELECT * FROM `tz_members` WHERE `email` = ".mysql_real_escape_string($_POST['email']));
$counts = mysql_num_rows($count_email);
if(strlen($_POST['username'])<4 || strlen($_POST['username'])>32)
{
$err[]='<font style="font-size:9px; color: red;">Логин должен содержать от 3 до 32 символов!</font>';
}
if(preg_match('/[^a-z0-9\-\_\.]+/i',$_POST['username']))
{
$err[]='<font style="font-size:9px; color: red;">Ваше имя пользователя сожержит недопустимые символы!</font>';
}
if(!checkEmail($_POST['email']))
{
$err[]='<font style="font-size:9px; color: red;">Email не правильный!</font>';
}
if($counts > 1)
{
$err[]='<font style="font-size:9px; color: red;">Такое Email уже зарегистрирован! </font>';
}
if(!count($err))
{
// Если нет ошибок
$pass = substr(md5($_SERVER['REMOTE_ADDR'].microtime().rand(1,100000)),0,6);
// Генерируем случайный пароль
$_POST['email'] = mysql_real_escape_string($_POST['email']);
$_POST['username'] = mysql_real_escape_string($_POST['username']);
// Получаем введеные данные
mysql_query(" INSERT INTO tz_members(usr,pass,email,regIP,dt)
VALUES(
'".$_POST['username']."',
'".md5($pass)."',
'".$_POST['email']."',
'".$_SERVER['REMOTE_ADDR']."',
NOW()
)");
if(mysql_affected_rows($link)==1)
{
$body = '
Welcome to vk-battle.ru!<br>
Ваш логин: ' .$_POST['username']. '
Ваш e-mail: ' .$_POST['email']. '
Ваш папрль:' .$pass. '<br>';
$sender = 'reg@vk-battle.ru';
$headers = '
From:reg@vk-battle.ru\r\n
Content-type: text/html; charset=windows-1251\r\n';
$subject = 'Welcome to vk-battle.ru';
if(mail($sender, $subject, $body, $headers)){
echo 'Мы отправили вам email с вашим новым паролем!';
}
else{
echo 'Ошибка отправки сообщения!';
}
$_SESSION['msg']['reg-success']='<font style="font-size:9px; color: green;">Мы отправили вам письмо с вашим Новым паролем!</font>';
}
else $err[]='<font style="font-size:9px; color: red;">Данное имя пользователя уже занято!</font>';
}
if(count($err))
{
$_SESSION['msg']['reg-err'] = implode('<br />',$err);
}
header("Location: index.php");
exit;
}
$script = '';
if($_SESSION['msg'])
{
// Скрипт ниже показывает выскаьзывающую панель
$script = '
<script type="text/javascript">
$(function(){
$("div#panel").show();
$("#toggle a").toggle();
});
</script>';
}
?>
Спустя 48 минут, 22 секунды (31.05.2011 - 10:29) feniks_iopok написал(а):
С письмо разобрался...
Нужно только чтобы выводилось сообщение, если на ваш мэил уже зарегистрирован пользователь.
Нужно только чтобы выводилось сообщение, если на ваш мэил уже зарегистрирован пользователь.
Спустя 1 час, 52 минуты, 2 секунды (31.05.2011 - 12:21) XCross написал(а):
Ты понимаешь что написано в скрипте?
У тебя идет проверка на уникальность.
т.е. ты проверяешь есть ли хотя бы один пользователь...
Тогда уж пробуй больше или равно.
Хотя лучше так:
Дальше.
Сначало проверь входящие данные и обработай, а потом уже подставляй в запрос. Так ты хоть защитишься от SQL-инъекции.
Лучше сходи на irbis-team. Там то точно все проверено.
Будет нотайс. Неопределенная переменная. Лучше делай так:
И в форме поменяй имя у кнопки входа.
Тож самое вот здесь:
У тебя идет проверка на уникальность.
if($counts > 1){
//Код.
}
т.е. ты проверяешь есть ли хотя бы один пользователь...
Тогда уж пробуй больше или равно.
Хотя лучше так:
if($counts != 0){
//Код.
}
Дальше.
Сначало проверь входящие данные и обработай, а потом уже подставляй в запрос. Так ты хоть защитишься от SQL-инъекции.
Лучше сходи на irbis-team. Там то точно все проверено.
if($_POST['submit']=='Войти')
Будет нотайс. Неопределенная переменная. Лучше делай так:
if(isset($_POST['login']))
И в форме поменяй имя у кнопки входа.
Тож самое вот здесь:
if(!$_POST['username'] || !$_POST['password'])
_____________
есть сайт, 3-4к уников в сутки. зарабатываю 100 рублей в день, почему так мало?