ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 05.07.2008, 19:24
Jer1cho
Участник форума
Регистрация: 06.06.2008
Сообщений: 162
Провел на форуме:
3942177

Репутация: 244
Отправить сообщение для Jer1cho с помощью ICQ
По умолчанию

Цитата:
Сообщение от MafiaBoy3  
Как мне сделать регистрацию на сайте?
Может у кого нибудь есть готовые скрипты (готовые решения на php) для реализации:
Регистрации пользователя, входа и выхода пользователя (логина, логаута).

PS: GOOGLE не помог выдал треш, да и готовых решений совсем не было, статьи на эту тему безобразные.
Вобщем делать мне было не чего =), написал два небольших скрипта, ошибок в них куча но всеже:
Файл register.php:
PHP код:
<html>
    <head><title>Регистрация</title></head>
    <body><p align="left"><?php    session_start(); if($_SESSION['login']){ echo 'Вы вошли как:'.$_SESSION['login'].' <a href="./login.pph?mode=logout">Logout</a>'; } else { echo 'Вы не выполнили <a href="./login.php">вход</a>.'; } ?></p>
    <form method="post" action="">
    <table cellspacing="0" border="0" align="center">
    <tr><td>Имя: <input type="text" name="name"></td></tr>
    <tr><td>Пароль: <input type="password" name="password"></td></tr>
    <tr><td>E-Mail: <input type="text" name="email"></td></tr>
    <tr><td><input type="submit" value="Зарегистрироваться" name="doit"></td></tr>
    </tr>
    </table>
    </form>
<?php
    
include('cfg.php');
    
session_start();
$name mysql_escape_string($_POST['name']);
$pwd mysql_escape_string($_POST['password']);
$email mysql_escape_string($_POST['email']);
if(
$_POST['doit']){
  
$r mysql_query("SELECT * FROM `users` ORDER by `id`");
  
$n mysql_num_rows($r);
  if(
$n 0)
  {
   for(
$i 0$i $n$i++)
   {
    
$row mysql_fetch_array($r);
   }}
    
$id $row['id'] + 1;

    
$q "INSERT INTO `users` VALUES($id,'".$name."','".$pwd."','".$email."')";
    if(
mysql_query($q))
    {
            echo 
'<script>alert("Регистрация завершена.");</script>';
    } else { exit(
'Error'.mysql_error()); }
}
?>
    </body>
</html>
Файл login.php:
PHP код:
<html>
    <head>
    <title>Авторизация</title>
    </head>
    <body><p align="left"><?php    session_start(); if($_SESSION['login']){ echo 'Вы вошли как:'.$_SESSION['login'].' <a href="./login.pph?mode=logout">Logout</a>'; } else { echo 'Вы не выполнили <a href="./login.php">вход</a>.'; } ?></p>
    <form method="post" action="">
    <table cellspacing="0" border="0" align="center">
    <tr><td>Логин: <input type="text" name="login"></td></tr>
    <tr><td>Пароль <input type="text" name="password"></td></tr>
    <tr><td><input type="submit" name="doit"></td></tr>
    </table>
    </form>
    </body>
</html>
<?php
    
include('cfg.php');
    
$login mysql_escape_string($_POST['login']);
    
$pwd mysql_escape_string($_POST['password']);


if(
$_GET['mode']=='logout')
{
setcookie('name''');
setcookie('password''');
session_destroy();
echo 
"Вы вышли.";
}
if(
$_POST['doit'])
{
$q "SELECT * FROM `users` WHERE `username` = '".$login."' AND `userpassword` = '".$pwd."'";
$r mysql_query($q);
if(
mysql_num_rows($r))
{
$_SESSION['login'] = $login;
$_SESSION['pwd'] = $pwd;
setcookie('name'$_SESSION['login'], time()+ 86400 30 12''false0);
setcookie('password' $_SESSION['pwd'], time()+ 86400 30 12''false0);
} else { echo 
'Неверный пароль/логин. '; }
}
?>
cfg.php:
PHP код:
<?php
    error_reporting
('0');
    
$mysqlc    mysql_connect('localhost','root','test');
    if(!
$mysqlc){ die(mysql_error()); }
    
mysql_select_db('data');
?>
Думаю объяснять что каждый срипт делает не надо.

Создаш БД data, выполнишь этот запрос:
PHP код:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
CREATE TABLE IF NOT EXISTS `users` (
  `
idint(10NOT NULL,
  `
usernamevarchar(15NOT NULL,
  `
userpasswordvarchar(20NOT NULL,
  `
useremailvarchar(30NOT NULL
ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `users` (`id`, `username`, `userpassword`, `useremail`) VALUES
(1'test''test''test@gmail.com'); 
первый пользователь это test c паролем test

Думаю принцип поймешь, если разбираешся и дaльше сам уже...
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 


Быстрый переход




ANTICHAT.XYZ