Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Система регистрации
 
 автор: sanstorm   (22.01.2006 в 20:59)   письмо автору
 
 

тфкщв помогите у меня такая проблема пытаюсь написать систему регистрации для сайта но нече не выходит помогите плиз!

   
 
 автор: Unkind™   (22.01.2006 в 21:04)   письмо автору
 
   для: 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&amp;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();
  }
?>

   
 
 автор: sanstorm   (22.01.2006 в 21:05)   письмо автору
 
   для: Unkind™   (22.01.2006 в 21:04)
 

вобщем неполучается с форм логина и пароля записать в файл

   
 
 автор: Unkind™   (22.01.2006 в 21:15)   письмо автору
 
   для: sanstorm   (22.01.2006 в 21:05)
 

Черт..=) А я для MySQL расписывал...=)

   
 
 автор: sanstorm   (22.01.2006 в 21:23)   письмо автору
 
   для: Unkind™   (22.01.2006 в 21:15)
 

в принцыпи есть и мускул тока я неумею таблицы создовать!
я недавно за пхп взялся!

   
 
 автор: Unkind™   (22.01.2006 в 21:32)   письмо автору
 
   для: sanstorm   (22.01.2006 в 21:23)
 

Таблицы создавай в phpMyAdmin...Если ты на хостинге, то там наверняка есть это приложение...

P.S.

echo "Вы успешно зарегистрированы!<br> 
  Ваш ник: $nick<br> 
  Ваш пароль: $pass<br> 
  <a href=\"enter.php?nick=$nick&amp;pass=$pass\">Вход</a><br> 
  </small></card></wml>";

Это взял из регистрации своего wap-проекта, поэтому если рега для web-приложения, то просто

echo "Вы успешно зарегистрированы!<br> 
  Ваш ник: $nick<br> 
  Ваш пароль: $pass<br> 
  <a href=\"enter.php?nick=$nick&amp;pass=$pass\">Вход</a><br> ";

   
 
 автор: sanstorm   (22.01.2006 в 21:35)   письмо автору
 
   для: Unkind™   (22.01.2006 в 21:32)
 

в том то и дело что у себя на железе пишу и проверяю

   
 
 автор: Unkind™   (22.01.2006 в 21:36)   письмо автору
 
   для: 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

   
 
 автор: sanstorm   (22.01.2006 в 22:17)   письмо автору
 
   для: Unkind™   (22.01.2006 в 21:36)
 

скачать скачал а как настроить его!

   
 
 автор: cheops   (22.01.2006 в 22:59)   письмо автору
 
   для: sanstorm   (22.01.2006 в 22:17)
 

Об этом можно почитать в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=189

   
 
 автор: estestvo   (24.01.2006 в 13:38)   письмо автору
 
   для: cheops   (22.01.2006 в 22:59)
 

У вас даже метод передачи не указан.... GET или POST....

<form action="reg.php" method="get" или "post">

   
 
 автор: estestvo   (24.01.2006 в 13:38)   письмо автору
 
   для: cheops   (22.01.2006 в 22:59)
 

У вас даже метод передачи не указан.... GET или POST....

<form action="reg.php" method="get" или "post">

   
 
 автор: alexloko   (16.02.2006 в 06:33)   письмо автору
 
   для: 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, Ваш код должен быть рабочий, (правда до конца не прогнал)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования