И вот первый вопрос, как сделать проверку пароля?...
<?php
include ("mysql.php");
mysql_select_db ("links",$link);//база
if(isset($_POST['rega']))
{
if (empty($_POST['login'])) //если пользователь не ввел логин
{
$errorlogin = "Не введен логин";
}
if (empty($_POST['password'])) //если пользователь не ввел пароль
{
$errorpassword = "Не введен пароль";
}
if ($_POST['password'] != $_POST['password2']) //если пользователь ошибся при вводе пароля
{
$errorpassword = "Не верный пароль";
}
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST['email'])) //проверка е-mail адреса
{
$errorMail ="Неверно введен е-mail!";
}
else {
$result2 = mysql_query ('
INSERT INTO users
(`login`,`password`,`email`,`date`,`activation`)
VALUES(
"'.$_POST['login'].'",
"'.$_POST['password'].'",
"'.$_POST['email'].'",
NOW(),
"1"
)');
echo "Вы зарегестрированны и можите войти на сайт";
header("Location: " . $_SERVER["PHP_SELF"]);
exit;
}
}
?>
<form method="post" enctype="multipart/form-data">
<table>
<tr>
<td>Логин:</td>
<td> <input name="login" type="text" size="15" maxlength="15"> <?php echo $errorlogin?></td>
</tr>
<tr>
<td>Пароль:</td>
<td><input name="password" type="password" size="15" maxlength="15"> <?php echo $errorpassword ?></td>
</tr>
<tr>
<td>Повторите пароль:</td>
<td><input name="password2" type="password" size="15" maxlength="15"> <?php echo $errorpassword2 ?></td>
</tr>
<tr>
<td>E-mail:</td>
<td><input name="email" type="text" size="15" maxlength="100"> <?php echo $errorMail; ?></td>
</tr>
Логин, пароль, мейл на тех же условиях работают нормально о_О И все нормально даже если я не пишу e-mail, выводится 2 сообщения
Не верный пароль
Неверно введен е-mail!
И в базу не заносится, но стоит вбить корректное мыло, и то что пароли разные ему становится абсолютно все равно, и все с успехом улетает в базу...
Уже мозг сломал в поисках решения, подскажите пожалуйста =)
Спустя 15 минут, 41 секунда (30.08.2011 - 21:15) Winston написал(а):
Цитата (Lightt @ 30.08.2011 - 20:59) |
if(empty($_POST['login'])) |
Введи в поле логина 0 и будешь удивлен :)
Проверяй так
if(isset($_POST['login']))
Поставь в таблице БД поле пароля varchar(32) и запрос так напиши
VALUES(
"'.$_POST['login'].'",
"'.md5($_POST['password']).'",
"'.$_POST['email'].'",
NOW(),
Это на первый взгляд.
Спустя 3 минуты, 31 секунда (30.08.2011 - 21:19) Winston написал(а):
Цитата (Lightt @ 30.08.2011 - 20:59) |
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST['email'])) |
Такое мыло тоже пройдет
aaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccc@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaassssssssssssssssssssss.zzz
Цитата (Lightt @ 30.08.2011 - 20:59) |
if (empty($_POST['login'])) //если пользователь не ввел логин { $errorlogin = "Не введен логин"; } if (empty($_POST['password'])) //если пользователь не ввел пароль { $errorpassword = "Не введен пароль"; } |
Лучше пиши так
if (isset($_POST['login'])) //если пользователь не ввел логин
die("Не введен логин");
if (isset($_POST['password'])) //если пользователь не ввел пароль
die("Не введен пароль");
// ... и т.д.
Спустя 2 минуты, 37 секунд (30.08.2011 - 21:21) Winston написал(а):
Цитата (Lightt @ 30.08.2011 - 20:59) |
<tr> <td>Логин:</td> <td> <input name="login" type="text" size="15" maxlength="15"> <?php echo $errorlogin?></td> </tr> |
Поставь уровень отображения ошибок, вверху файла напиши
error_reporting(E_ALL);
И тебе выдаст кучу нотисов
Вот так пиши тогда
<td> <input name="login" type="text" size="15" maxlength="15"> <?php echo isset($errorlogin) ? $errorlogin : ''; ?></td>
// ... и т.д.
Спустя 12 минут, 15 секунд (30.08.2011 - 21:33) Lightt написал(а):
Winston
Насчет 0 действительно о_О не знал.. учту))
А вот die мне не нравится, я собственно из-за него то и полез все переделывать, там открывается новая страница с ошибкой, выглядит не красиво.
Хочу чтоб выводилось рядом =)
А насчет мыла, да такое прокатит, но думать над ним пока как то не хочется, хочу сейчас сделать более мение безопасную регистрацию, а потом уже когда-нибудь её усовершенствовать ))
за это спасибо))
На это error_reporting(E_ALL); ничего не выдало, наверно ошибки отключены в самом wampe
Насчет 0 действительно о_О не знал.. учту))
А вот die мне не нравится, я собственно из-за него то и полез все переделывать, там открывается новая страница с ошибкой, выглядит не красиво.
Хочу чтоб выводилось рядом =)
А насчет мыла, да такое прокатит, но думать над ним пока как то не хочется, хочу сейчас сделать более мение безопасную регистрацию, а потом уже когда-нибудь её усовершенствовать ))
if(isset($_POST['login']))так вообще проверку не проходит =)в принципе логин с 0 и не должен начинаться, не так уж страшно)
за это спасибо))
"'.md5($_POST['password']).'"но в базу все равно заносится =( если все поля введены.
На это error_reporting(E_ALL); ничего не выдало, наверно ошибки отключены в самом wampe
<?php echo isset($errorlogin) ? $errorlogin : ''; ?>??? Зачем так? Они все равно не отображаются, и не отобразятся, если все правильно ввести.
Спустя 27 минут, 13 секунд (30.08.2011 - 22:01) Winston написал(а):
Цитата (Lightt @ 30.08.2011 - 21:33) |
Зачем так |
Потому, что если бы ты включил отображение ошибок то такой код
Цитата (Lightt @ 30.08.2011 - 20:59) |
<td> <input name="login" type="text" size="15" maxlength="15"> <?php echo $errorlogin?></td> |
вызвал бы notice, т.к. ты выводишь в поток не инициализированную переменную.
А эта запись
echo isset($errorlogin) ? $errorlogin : '';
равносильна
if(isset($errorlogin))
echo $errorlogin; // Если переменная инициализирована и не равна 0 выводим ее
else
echo '';
Спустя 6 минут, 26 секунд (30.08.2011 - 22:07) forza написал(а):
DELETE
Спустя 3 минуты, 35 секунд (30.08.2011 - 22:11) Lightt написал(а):
Winston ладно, спасибо)) учту...
forza
Попова не изучал, этот метод мне подсказали на этом же фуруме =)
Чтобы при обновлении страницы данные снова не заносились в бд.
Верней работает, но как то не так о_О
forza
Попова не изучал, этот метод мне подсказали на этом же фуруме =)
Чтобы при обновлении страницы данные снова не заносились в бд.
echo "Вы зарегестрированны и можите войти на сайт";а это и не работает =) но это был уже следующий вопрос, пока меня больше волнует почему не работает это условие -
if ($_POST['password'] != $_POST['password2']) //если пользователь ошибся при вводе пароля
{
$errorpassword = "Не верный пароль";
}
Верней работает, но как то не так о_О
Спустя 6 минут, 55 секунд (30.08.2011 - 22:18) Winston написал(а):
if ($_POST['password'] !== $_POST['password2']) //если пользователь ошибся при вводе пароля
$errorpassword = "Не верный пароль";
Спустя 27 секунд Winston написал(а):
Цитата (Lightt @ 30.08.2011 - 22:11) |
Верней работает, но как то не так о_О |
А как ?
Спустя 4 минуты, 25 секунд (30.08.2011 - 22:22) Lightt написал(а):
Работает в том случае если не ввести все 4 поля. Т.е. если Логин или Мейл будут пустыми, или в случае с мейлом некорректным. Тогда выдается ошибка что неверный пароль, либо убирается, если пароли совпадают.
Спустя 11 минут, 41 секунда (30.08.2011 - 22:34) Lightt написал(а):
C этим глюком разобрался )) сча придумаю как решить... в общем это
срабатывает на послееднее, т.е. если ввести только мыло, оно улетает в базу.
if ()
{
{
else {}
срабатывает на послееднее, т.е. если ввести только мыло, оно улетает в базу.
Спустя 4 минуты, 38 секунд (30.08.2011 - 22:38) Winston написал(а):
Попробуй все if'ы заменить на это
Спустя 1 минута, 50 секунд Winston написал(а):
Заодно и все переменные будут инициализированными.
if(isset($_POST['rega']))
{
$key = 0;
$errorlogin = empty($_POST['login']) ? "Не введен логин" : $key += 1;
$errorpassword = empty($_POST['password']) ? "Не введен пароль" : $key += 1;
$errorpassword = $_POST['password'] !== $_POST['password2'] ? "Не верный пароль" : $key += 1;
$errorMail = preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST['email']) === false ? "Неверно введен е-mail!" : $key += 1;
if($key == 4) // Если ключ равен 4 значит все правильно введено и можно регистрировать
{
// Регистрируем
}
}
Спустя 1 минута, 50 секунд Winston написал(а):
Заодно и все переменные будут инициализированными.
Спустя 11 минут, 50 секунд (30.08.2011 - 22:50) Lightt написал(а):
Сам только что со счетчиком мудрил xD
Вообще он как то странно выводит теперь ошибки...
На пустую форму -
Не введен логин
1
1
На логин
1
2
3
И заносится в базу без мыла =( не катит такой вариант...
Вообще он как то странно выводит теперь ошибки...
На пустую форму -
Не введен логин
1
1
На логин
1
2
3
И заносится в базу без мыла =( не катит такой вариант...
Спустя 14 минут, 17 секунд (30.08.2011 - 23:04) Игорь_Vasinsky написал(а):
Да уж... ну чё мусолить перемусоленное... есть же толковая статейка на ирбисе.... Время не жалко?
Спустя 10 минут, 28 секунд (30.08.2011 - 23:15) Lightt написал(а):
Игорь_Vasinsky
Не осилил её =) скачал исходники, но они не запустились.. не помню уже почему, решил сделать что то не сильно сложное, но и более мение безопасное, а потом как будет время, основательно все прочитать, и переделать, но что то завис тут по мелочам о_О а казалось что просто...
Не осилил её =) скачал исходники, но они не запустились.. не помню уже почему, решил сделать что то не сильно сложное, но и более мение безопасное, а потом как будет время, основательно все прочитать, и переделать, но что то завис тут по мелочам о_О а казалось что просто...
Спустя 40 минут, 35 секунд (30.08.2011 - 23:55) Игорь_Vasinsky написал(а):
А не надо исходники.
Нужно прочитать и поэтапно изобразить своими руками.
И практика и опыт.
Нужно прочитать и поэтапно изобразить своими руками.
И практика и опыт.
Спустя 12 минут, 8 секунд (31.08.2011 - 00:08) Lightt написал(а):
Эээх... ну счас попробую =) что не понятно будет, буду писать сюда, а пока вопрос не по теме... не подскажешь, имя таблицы в SQL может быть переменной? Т.е. такой запрос возможен?А то у меня не создается ничего =(
$aaa = "tablica";
$result = mysql_query(' CREATE TABLE "'.$aaa.'"(
`id` int (10) AUTO_INCREMENT,
`name` CHAR(200) NOT NULL,
PRIMARY KEY (id)
)');
Спустя 51 минута, 43 секунды (31.08.2011 - 00:59) Игорь_Vasinsky написал(а):
не только имя таблицы, но и ячейки и части запроа даже ;)
тока синтаксис наоборот
У меня в подписи подробнее про SQL
А ЧТОБЫ НЕ ГАДАТЬ ЕСТЬ ОШИБКА ИИ НЕТ:
1 Вначале кода пишешь
2 При работе с MySQL - в конце функции дописываешь так
но тока для отладки.. юзерам это показывать не зачем.
тока синтаксис наоборот
'" . $var . "'
У меня в подписи подробнее про SQL
А ЧТОБЫ НЕ ГАДАТЬ ЕСТЬ ОШИБКА ИИ НЕТ:
1 Вначале кода пишешь
error_reporting(E_ALL);
2 При работе с MySQL - в конце функции дописываешь так
mysql_query("Какой-то запрос") or die(mysql_error());
но тока для отладки.. юзерам это показывать не зачем.
Спустя 6 часов, 39 минут, 39 секунд (31.08.2011 - 07:39) Эли4ка написал(а):
вот хороший скрипт регистрации..
save_user.php
писала не я..
<html>
<head>
<title>Регистрация</title>
</head>
<body>
<h2>Регистрация</h2>
<form action="save_user.php" method="post" enctype="multipart/form-data">
<!-- save_user.php - это адрес обработчика. То есть, после нажатия на кнопку "Зарегистрироваться", данные из полей отправятся на страничку save_user.php методом "post" -->
<p>
<label>Ваш логин *:<br></label>
<input name="login" type="text" size="15" maxlength="15">
</p>
<!-- В текстовое поле (name="login" type="text") пользователь вводит свой логин -->
<p>
<label>Ваш пароль *:<br></label>
<input name="password" type="password" size="15" maxlength="15">
</p>
<!-- В поле для паролей (name="password" type="password") пользователь вводит свой пароль -->
<p>
<label>Ваш E-mail *:<br></label>
<input name="email" type="text" size="15" maxlength="100">
</p>
<!-- Вводим е-майл -->
<p>
<label>Выберите аватар. Изображение должно быть формата jpg, gif или png:<br></label>
<input type="FILE" name="fupload">
</p>
<!-- В переменную fupload отправится изображение, которое выбрал пользователь. -->
<p>Введите код с картинки *:<br>
<p><img src="code/my_codegen.php"></p>
<p><input type="text" name="code"></p>
<!-- В code/my_codegen.php генерируется код и рисуется изображение -->
<p>
<input type="submit" name="submit" value="Зарегистрироваться">
<!-- Кнопочка (type="submit") отправляет данные на страничку save_user.php -->
</p></form>
Звездочками (*) обозначены поля, обязательные для заполнения.
</body>
</html>
save_user.php
<?php
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
if (isset($_POST['code'])) { $code = $_POST['code']; if ($code == '') { unset($code);} } //заносим введенный пользователем защитный код в переменную $code, если он пустой, то уничтожаем переменную
if (isset($_POST['email'])) { $email = $_POST['email']; if ($email == '') { unset($email);} } //заносим введенный пользователем e-mail, если он пустой, то уничтожаем переменную
if (empty($login) or empty($password)or empty($code) or empty($email)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"); //останавливаем выполнение сценариев
}
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email)) //проверка е-mail адреса регулярными выражениями на корректность
{exit ("Неверно введен е-mail!");}
function generate_code() //запускаем функцию, генерирующую код
{
$hours = date("H"); // час
$minuts = substr(date("H"), 0 , 1);// минута
$mouns = date("m"); // месяц
$year_day = date("z"); // день в году
$str = $hours . $minuts . $mouns . $year_day; //создаем строку
$str = md5(md5($str)); //дважды шифруем в md5
$str = strrev($str);// реверс строки
$str = substr($str, 3, 6); // извлекаем 6 символов, начиная с 3
// Вам конечно же можно постваить другие значения, так как, если взломщики узнают, каким именно способом это все генерируется, то в защите не будет смысла.
$array_mix = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
srand ((float)microtime()*1000000);
shuffle ($array_mix);
//Тщательно перемешиваем, соль, сахар по вкусу!!!
return implode("", $array_mix);
}
function chec_code($code) //проверяем код
{
$code = trim($code);//удаляем пробелы
$array_mix = preg_split ('//', generate_code(), -1, PREG_SPLIT_NO_EMPTY);
$m_code = preg_split ('//', $code, -1, PREG_SPLIT_NO_EMPTY);
$result = array_intersect ($array_mix, $m_code);
if (strlen(generate_code())!=strlen($code))
{
return FALSE;
}
if (sizeof($result) == sizeof($array_mix))
{
return TRUE;
}
else
{
return FALSE;
}
}
// после сравнения проверяем, пускать ли пользователя дальше или, он сделал ошибку, и остановить скрипт
if (!chec_code($_POST['code']))
{
exit ("Вы ввели неверно код с картинки."); //останавливаем выполнение сценариев
}
//если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
//удаляем лишние пробелы
$login = trim($login);
$password = trim($password);
// дописываем новое********************************************
//добавляем проверку на длину логина и пароля
if (strlen($login) < 3 or strlen($login) > 15) {
exit ("Логин должен состоять не менее чем из 3 символов и не более чем из 15."); //останавливаем выполнение сценариев
}
if (strlen($password) < 3 or strlen($password) > 15) {
exit ("Пароль должен состоять не менее чем из 3 символов и не более чем из 15."); //останавливаем выполнение сценариев
}
if (empty($_FILES['fupload']['name']))
{
//если переменной не существует (пользователь не отправил изображение),то присваиваем ему заранее приготовленную картинку с надписью "нет аватара"
$avatar = "avatars/net-avatara.jpg"; //можете нарисовать net-avatara.jpg или взять в исходниках
}
else
{
//иначе - загружаем изображение пользователя
$path_to_90_directory = 'avatars/';//папка, куда будет загружаться начальная картинка и ее сжатая копия
if(preg_match('/[.](JPG)|(jpg)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['fupload']['name']))//проверка формата исходного изображения
{
$filename = $_FILES['fupload']['name'];
$source = $_FILES['fupload']['tmp_name'];
$target = $path_to_90_directory . $filename;
move_uploaded_file($source, $target);//загрузка оригинала в папку $path_to_90_directory
if(preg_match('/[.](GIF)|(gif)$/', $filename)) {
$im = imagecreatefromgif($path_to_90_directory.$filename) ; //если оригинал был в формате gif, то создаем изображение в этом же формате. Необходимо для последующего сжатия
}
if(preg_match('/[.](PNG)|(png)$/', $filename)) {
$im = imagecreatefrompng($path_to_90_directory.$filename) ;//если оригинал был в формате png, то создаем изображение в этом же формате. Необходимо для последующего сжатия
}
if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $filename)) {
$im = imagecreatefromjpeg($path_to_90_directory.$filename); //если оригинал был в формате jpg, то создаем изображение в этом же формате. Необходимо для последующего сжатия
}
//СОЗДАНИЕ КВАДРАТНОГО ИЗОБРАЖЕНИЯ И ЕГО ПОСЛЕДУЮЩЕЕ СЖАТИЕ ВЗЯТО С САЙТА www.codenet.ru
// Создание квадрата 90x90
// dest - результирующее изображение
// w - ширина изображения
// ratio - коэффициент пропорциональности
$w = 90; // квадратная 90x90. Можно поставить и другой размер.
// создаём исходное изображение на основе
// исходного файла и определяем его размеры
$w_src = imagesx($im); //вычисляем ширину
$h_src = imagesy($im); //вычисляем высоту изображения
// создаём пустую квадратную картинку
// важно именно truecolor!, иначе будем иметь 8-битный результат
$dest = imagecreatetruecolor($w,$w);
// вырезаем квадратную серединку по x, если фото горизонтальное
if ($w_src>$h_src)
imagecopyresampled($dest, $im, 0, 0,
round((max($w_src,$h_src)-min($w_src,$h_src))/2),
0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
// вырезаем квадратную верхушку по y,
// если фото вертикальное (хотя можно тоже серединку)
if ($w_src<$h_src)
imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w,
min($w_src,$h_src), min($w_src,$h_src));
// квадратная картинка масштабируется без вырезок
if ($w_src==$h_src)
imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w, $w_src, $w_src);
$date=time(); //вычисляем время в настоящий момент.
imagejpeg($dest, $path_to_90_directory.$date.".jpg");//сохраняем изображение формата jpg в нужную папку, именем будет текущее время. Сделано, чтобы у аватаров не было одинаковых имен.
//почему именно jpg? Он занимает очень мало места + уничтожается анимирование gif изображения, которое отвлекает пользователя. Не очень приятно читать его комментарий, когда краем глаза замечаешь какое-то движение.
$avatar = $path_to_90_directory.$date.".jpg";//заносим в переменную путь до аватара.
$delfull = $path_to_90_directory.$filename;
unlink ($delfull);//удаляем оригинал загруженного изображения, он нам больше не нужен. Задачей было - получить миниатюру.
}
else
{
//в случае несоответствия формата, выдаем соответствующее сообщение
exit ("Аватар должен быть в формате <strong>JPG,GIF или PNG</strong>"); //останавливаем выполнение сценариев
}
//конец процесса загрузки и присвоения переменной $avatar адреса загруженной авы
}
$password = md5($password);//шифруем пароль
$password = strrev($password);// для надежности добавим реверс
$password = $password."b3p6f";
//можно добавить несколько своих символов по вкусу, например, вписав "b3p6f". Если этот пароль будут взламывать метадом подбора у себя на сервере этой же md5,то явно ничего хорошего не выйдет. Но советую ставить другие символы, можно в начале строки или в середине.
//При этом необходимо увеличить длину поля password в базе. Зашифрованный пароль может получится гораздо большего размера.
// дописали новое********************************************
// Далее идет все из первой части статьи,но необходимо дописать изменение в запрос к базе.
// подключаемся к базе
include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь
// проверка на существование пользователя с таким же логином
$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);
$myrow = mysql_fetch_array($result);
if (!empty($myrow['id'])) {
exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин."); //останавливаем выполнение сценариев
}
// если такого нет, то сохраняем данные
$result2 = mysql_query ("INSERT INTO users (login,password,avatar,email,date) VALUES('$login','$password','$avatar','$email',NOW())");
// Проверяем, есть ли ошибки
if ($result2=='TRUE')
{
$result3 = mysql_query ("SELECT id FROM users WHERE login='$login'",$db);//извлекаем идентификатор пользователя. Благодаря ему у нас и будет уникальный код активации, ведь двух одинаковых идентификаторов быть не может.
$myrow3 = mysql_fetch_array($result3);
$activation = md5($myrow3['id']).md5($login);//код активации аккаунта. Зашифруем через функцию md5 идентификатор и логин. Такое сочетание пользователь вряд ли сможет подобрать вручную через адресную строку.
$subject = "Подтверждение регистрации";//тема сообщения
$message = "Здравствуйте! Спасибо за регистрацию на citename.ru\nВаш логин: ".$login."\n
Перейдите по ссылке, чтобы активировать ваш аккаунт:\nhttp://localhost/test3/activation.php?login=".$login."&code=".$activation."\nС уважением,\n
Администрация citename.ru";//содержание сообщение
mail($email, $subject, $message, "Content-type:text/plane; Charset=windows-1251\r\n");//отправляем сообщение
echo "Вам на E-mail выслано письмо с cсылкой, для подтверждения регистрации. Внимание! Ссылка действительна 1 час. <a href='index.php'>Главная страница</a>"; //говорим о отправленном письме пользователю
}
else {
exit ("Ошибка! Вы не зарегистрированы."); //останавливаем выполнение сценариев
}
?>
писала не я..
Спустя 7 минут, 23 секунды (31.08.2011 - 07:46) Игорь_Vasinsky написал(а):
... регистрация так же индивидуальна как и сам сайт, лучше писать под себя.
Спустя 36 секунд (31.08.2011 - 07:47) GET написал(а):
Эли4ка
+1!
include ("bd.php");
include'db.php';
... регистрация так же индивидуальна как и сам сайт, лучше писать под себя.
+1!
Спустя 15 минут, 14 секунд (31.08.2011 - 08:02) inpost написал(а):
Эли4ка
У Попова взяла? Когда Попов был "хорошим"?
Иди в подпись ко мне и переучивайся в таком случае.
А вообще, хорошая на ирбисе: http://irbis-team.com
У Попова взяла? Когда Попов был "хорошим"?
Иди в подпись ко мне и переучивайся в таком случае.
А вообще, хорошая на ирбисе: http://irbis-team.com
Спустя 3 часа, 25 минут, 6 секунд (31.08.2011 - 11:27) Guest написал(а):
Цитата (A.B.C. @ 31.08.2011 - 04:47) |
Эли4ка include ("bd.php"); include'db.php'; |
include - это конструкция, потому хочешь ставь скобки, не хочешь не ставь, это не принципиально...