|
|
|
| тфкщв помогите у меня такая проблема пытаюсь написать систему регистрации для сайта но нече не выходит помогите плиз! | |
|
|
|
|
|
|
|
для: sanstorm
(22.01.2006 в 20:59)
| | Че именно не выходит? Есть MySQL?
Вот форма рег.:
<form action="reg.php">
Ник:<br>
<input type="text" name="nickname"><br>
Пароль:<br>
<input type="password" name="password"><br>
<input type="submit" value="Регистрировать"><br>
<input type="reset" value="Очистить"><br>
</form>
|
Проверка:
<?php
//Кодирование тегов и обратных слешей в нике
$nick = htmlspecialchars($_POST['nick']);
$pass = htmlspecialchars($_POST['pass']);
//Удаление пробелов
$nick = trim($nick);
$pass = trim($pass);
//Проверка логина
if(empty($nick))
{
echo "Введите логин!";
exit();
}
//Проверка пароля
if(empty($pass))
{
echo "Введите пароль";
exit();
}
//Соединение с базой данных
require_once("config.php");
//Если все поля заполнены, продолжение проверки
if(strlen("$nick") > 12)
{
print "Слишком длинный логин!";
exit();
}
if(strlen("$pass") > 10)
{
print "Слишком длинный пароль!";
exit();
}
//Проверка (от SoftTime =) )
$rus = array("А","а","В","Е","е","К","М","Н","О","о","Р","р","С","с","Т","Х","х");
// Массив латинских букв
$eng = array("A","a","B","E","e","K","M","H","O","o","P","p","C","c","T","X","x");
// Заменяем русские буквы латинскими
$eng_nick = str_replace($rus, $eng, $nick);
// Заменяем латинские буквы русскими
$rus_nick = str_replace($eng, $rus, $nick);
// Формируем SQL-запрос
$query = "SELECT * FROM users
WHERE nick LIKE '$nick' OR
nick LIKE '$eng_nick' OR
nick LIKE '$rus_nick'";
$ath = mysql_query($query);
if($ath)
{
if(mysql_num_rows($ath)>0)
{
echo "Ник \"$nick\" уже зарегистрирован.";
exit();
}
}
//Регистрация пользователя
$nick = mysql_escape_string($nick);
$pass = mysql_escape_string($pass);
$sql = "INSERT INTO users (nick, pass) VALUES ('$nick', '$pass')";
if(mysql_query($sql))
{
echo "Вы успешно зарегистрированы!<br>
Ваш ник: $nick<br>
Ваш пароль: $pass<br>
<a href=\"enter.php?nick=$nick&pass=$pass\">Вход</a><br>
</small></card></wml>";
mysql_close();
}
else
{
echo "Ошибка регистрации!";
mysql_close();
}
?>
|
Config.php:
<?php
//Местонахождение базы данных
$dblocation = "localhost";
//Имя БД
$dbname = "site";
/Пользователь
$dbuser = "root";
//Пароль
$dbpasswd = "";
// Connect
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx)
{
echo( "В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно." );
exit();
}
if (! @mysql_select_db($dbname,$dbcnx) )
{
echo( "В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно." );
exit();
}
// Небольшая вспомогательная функция, которая выводит сообщение об ошибке
// в случае ошибки запроса к базе данных
function puterror($message)
{
echo("<p>$message</p>");
exit();
}
?>
|
| |
|
|
|
|
|
|
|
для: Unkind™
(22.01.2006 в 21:04)
| | вобщем неполучается с форм логина и пароля записать в файл | |
|
|
|
|
|
|
|
для: sanstorm
(22.01.2006 в 21:05)
| | Черт..=) А я для MySQL расписывал...=) | |
|
|
|
|
|
|
|
для: Unkind™
(22.01.2006 в 21:15)
| | в принцыпи есть и мускул тока я неумею таблицы создовать!
я недавно за пхп взялся! | |
|
|
|
|
|
|
|
для: sanstorm
(22.01.2006 в 21:23)
| | Таблицы создавай в phpMyAdmin...Если ты на хостинге, то там наверняка есть это приложение...
P.S.
echo "Вы успешно зарегистрированы!<br>
Ваш ник: $nick<br>
Ваш пароль: $pass<br>
<a href=\"enter.php?nick=$nick&pass=$pass\">Вход</a><br>
</small></card></wml>";
|
Это взял из регистрации своего wap-проекта, поэтому если рега для web-приложения, то просто
echo "Вы успешно зарегистрированы!<br>
Ваш ник: $nick<br>
Ваш пароль: $pass<br>
<a href=\"enter.php?nick=$nick&pass=$pass\">Вход</a><br> ";
|
| |
|
|
|
|
|
|
|
для: Unkind™
(22.01.2006 в 21:32)
| | в том то и дело что у себя на железе пишу и проверяю | |
|
|
|
|
|
|
|
для: sanstorm
(22.01.2006 в 21:35)
| | Ну так скачай phpMyAdmin...Вот отсюда... | |
|
|
|
|
автор: Kolobok (22.01.2006 в 21:42) |
|
|
для: Unkind™
(22.01.2006 в 21:36)
| |
<form action="reg.php">
Ник:<br>
<input type="text" name="nick"><br>
Пароль:<br>
<input type="password" name="pass"><br>
<input type="submit" value="Регистрировать"><br>
<input type="reset" value="Очистить"><br>
</form>
|
вот так все заработает :) либо заменить значения в POST | |
|
|
|
|
|
|
|
для: Unkind™
(22.01.2006 в 21:36)
| | скачать скачал а как настроить его! | |
|
|
|
|
|
|
|
|
для: cheops
(22.01.2006 в 22:59)
| | У вас даже метод передачи не указан.... GET или POST....
<form action="reg.php" method="get" или "post"> | |
|
|
|
|
|
|
|
для: cheops
(22.01.2006 в 22:59)
| | У вас даже метод передачи не указан.... GET или POST....
<form action="reg.php" method="get" или "post"> | |
|
|
|
|
|
|
|
для: Unkind™
(22.01.2006 в 21:04)
| | Осмелюсь заметить что в файле config.php присутствует синтаксическая ошибка в месте:
<?php
//Местонахождение базы данных
$dblocation = "localhost";
//Имя БД
$dbname = "site";
/Пользователь
$dbuser = "root";
Необходимо в начале поставить еще один / или удалить комментарий
так как в Вашем варианте * /Пользователь * ПХП не принимает эту строку за комментарий и должен выдать Parse error: parse error, unexpected '/' in (место ошибки).
Короче правильно так :
<?php
//Местонахождение базы данных
$dblocation = "localhost";
//Имя БД
$dbname = "site";
//Пользователь
$dbuser = "root";
А также, как уже заметили здесь, выбрав метод Post или Get, Ваш код должен быть рабочий, (правда до конца не прогнал) | |
|
|
|