За последние 24 часа нас посетили 12670 программистов и 688 роботов. Сейчас ищут 435 программистов ...

Пример авторизации/регистрации/выхода (на файлах и БД)

Тема в разделе "Решения, алгоритмы", создана пользователем Mr.M.I.T., 30 сен 2008.

  1. Mr.M.I.T.

    Mr.M.I.T. Активный пользователь

    С нами с:
    28 янв 2008
    Сообщения:
    4.584
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    PHP:
    1. <?
    2. /*
    3. (C) Mr.M.I.T.
    4. [url=http://mit-home.nov.ru]http://mit-home.nov.ru[/url]
    5. */
    6. $do=$_GET['do'];
    7. $error=false;
    8. $_SESSION['user']=!$_SESSION['user']?array('group'=>"guest"):$_SESSION['user']; // если не существует сессия user то создаем её и ставим по умолчанию
    9. function get_serial($name,$dir='') { // фун-я для получения из файла серилизованного массива, $name - имя файла без расширения $dir путь к папке с файлом
    10.     $res=array();
    11.     $fp=@file_get_contents(($dir?"$dir/{$name}.php":"{$name}.php"));
    12.     if ($fp) {
    13.         $fp=str_replace("<?die();?>","",$fp);
    14.         $res=unserialize($fp);
    15.     }
    16.  return $res;
    17. }
    18. function set_serial($arr,$name,$dir='') { // фун-я для серилизации массива и записи в файл, $arr - массив, $name - название файла без расширения $dir путь к папке с файлом
    19.      $arr="<?die();?>".serialize($arr);
    20.      $fp=fopen(($dir?"$dir/{$name}.php":"{$name}.php"),"w");
    21.          fputs($fp,$arr);
    22.          fclose($fp);
    23. }
    24. switch($do) {
    25.   case"out": // если do=out то выходим
    26.      unset($_SESSION['user']);
    27.      session_destroy();
    28.      if (!headers_sent()) {
    29.           setcookie("save",'',time()+999999,'/');
    30.      }
    31.      header("Location:".($_SERVER['HTTP_REFERER']?$_SERVER['HTTP_REFERER']:$_SERVER['PHP_SELF']));
    32.   break;
    33.   case"register": // если do=register, выводим регистрацию
    34.      $login=$_POST['login'];
    35.      $pass1=$_POST['pass1'];
    36.      $pass2=$_POST['pass2'];
    37.      if (isset($login) && isset($pass1) && isset($pass2)) {
    38.        if (!empty($login) && !empty($pass1) && !empty($pass2)) {
    39.            $users=get_serial('users');
    40.            $reallogin=$login;
    41.            $login=md5(strtolower($login));
    42.            if (!$users[$login]) {
    43.                if (strlen($pass1)>=4) {
    44.                    $pass1=md5($pass1);
    45.                    $pass2=md5($pass2);
    46.                    if ($pass1==$pass2) {
    47.                        $users[$login]=array();
    48.                        $users[$login]['login']=htmlspecialchars($reallogin);
    49.                        $users[$login]['pass']=$pass1;
    50.                         set_serial($users,'users');
    51.                         $error="Вы успешно зарегистрированны";
    52.                         header("Refresh:3;url=".$_SERVER['PHP_SELF']);
    53.                    }else {
    54.                        $error="Ошибка: Пароли не совпадают";
    55.                    }
    56.                }else {
    57.                    $error="Ошибка: Минимальная длина пароля 4 символа";
    58.                }
    59.            } else {
    60.                $error="Ошибка: Такой пользователь уже существует";
    61.            }
    62.        }else {
    63.          $error="Ошибка: Обязательные поля нужно заполнить";
    64.        }
    65.      }
    66.     print "
    67.      ".($error?"<div align=center width=60% style='border:1px solid red'>$error</div><br>":"")."
    68.      <form method=POST>
    69.      <table width=30% align=center border=1>
    70.      <tr>
    71.      <td>Login</td><td><input type='text' name='login'></td>
    72.      <tr>
    73.      <td>Pass 1</td><td><input type='password' name='pass1'></td>
    74.      <tr>
    75.      <td>Pass 2</td><td><input type='password' name='pass2'></td>
    76.      <tr>
    77.      <td colspan=2 align=center><input type=submit value='Регистрация'></td>
    78.      </table>
    79.      </form>
    80.      ";
    81.   break;
    82.   default: // по умолчанию, если do не существует или не равна register и out, выводим авторизацию
    83.   if ($_SESSION['user']['group']=='guest') {
    84.   $_COOKIE['save']=$_COOKIE['save']?unserialize($_COOKIE['save']):"";
    85.   $login=!$_COOKIE['save']['login'] || isset($_POST['login'])?$_POST['login']:$_COOKIE['save']['login'];
    86.   $pass=!$_COOKIE['save']['pass'] || isset($_POST['pass'])?$_POST['pass']:$_COOKIE['save']['pass'];
    87.   if (isset($login) && isset($pass)) {
    88.       if (!empty($login) && !empty($pass)) {
    89.           if (!$_COOKIE['save']['pass'] || isset($_POST['pass'])) $pass=md5($pass);
    90.           $users=get_serial('users');
    91.           $login=md5(strtolower($login));
    92.           if ($users[$login]) {
    93.               if ($users[$login]['pass']==$pass) {
    94.                   $_SESSION['user']['group']='user';
    95.                   $_SESSION['user']['login']=$users[$login]['login'];
    96.                   if (!headers_sent() && $_POST['save']) {
    97.                       $cook=array();
    98.                       $cook['pass']=$pass;
    99.                       $cook['login']=$users[$login]['login'];
    100.                       setcookie("save",serialize($cook),time()+999999,'/');
    101.                   }
    102.               }else {
    103.                 $error="Ошибка: Неверный Пароль";
    104.               }
    105.           }else {
    106.             $error="Ошибка: Такого Пользователя не существует";
    107.           }
    108.       }else {
    109.          $error="Ошибка: Обязательные поля нужно заполнить";
    110.      }
    111.     }
    112.   }
    113.   if ($_SESSION['user']['group']=='guest') {
    114.   print "
    115.  ".($error?"<div align=center width=60% style='border:1px solid red'>$error</div><br>":"")."
    116.  <form method=POST>
    117.  <table width=30% align=center border=1>
    118.  <tr>
    119.  <td>Login</td><td><input type='text' name='login'></td>
    120.  <tr>
    121.  <td>Pass</td><td><input type='password' name='pass'></td>
    122.  <tr>
    123.  <td>Запомнить?</td><td><input type='checkbox' name='save' value='1'></td>
    124.  <tr>
    125.  <td colspan=2><a href='?do=register'>Регистрация</a></td>
    126.  <tr>
    127.  <td colspan=2 align=center><input type=submit value='Войти'></td>
    128.  </table>
    129.  </form>
    130.  ";
    131.   }else {
    132.   print "
    133.  <table width=30% align=center border=1>
    134.  <tr>
    135.  <td>Вы вошли как</td><td>{$_SESSION['user']['login']} <a href='?do=out'>Выйти</a></td>
    136.  </table>
    137.  ";
    138.   }
    139. }
    140. ?>
    Demo: http://mit-home.nov.ru/demo_auth/
     
  2. Mr.M.I.T.

    Mr.M.I.T. Активный пользователь

    С нами с:
    28 янв 2008
    Сообщения:
    4.584
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    есть необходимость в комментариях?
    или и так всё понятно?
     
  3. Sofia

    Sofia Активный пользователь

    С нами с:
    25 сен 2008
    Сообщения:
    961
    Симпатии:
    2
    ага, желательно, если не затруднит, ато ошибок много вылетает, а вроде все верно
    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at W:\home\172.16.0.4\www\2\files.php:1) in W:\home\172.16.0.4\www\2\files.php on line 2

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at W:\home\172.16.0.4\www\2\files.php:1) in W:\home\172.16.0.4\www\2\files.php on line 2
     
  4. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
  5. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Ах ты негодяй!
     
  6. Mr.M.I.T.

    Mr.M.I.T. Активный пользователь

    С нами с:
    28 янв 2008
    Сообщения:
    4.584
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    шо такое? 0о нотис? =))
    Sofia, session_start(); нужно поставить до любого вывода, т.е. в самое начало скрипта
    да и ещё у тебя куки ставиться не будут, переделай структуру скрипта чтобы всё примерно выглядело так

    PHP:
    1. <?
    2. $output='';
    3.  
    4. $output.="Твой html<br>";
    5. // какой-то любой другой пхп код
    6. $output.="Ещё текст который пойдёт на вывод до авторизации<br>";
    7.  
    8. // моя авторизация, замени в ней все print'ы на $output.=
    9.  
    10. $output.="А этот текст идёт на вывод но уже после авторизации<br>";
    11.  
    12. print $output;
    13. ?>
     
  7. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Mr.M.I.T.
    ob_start() ?
     
  8. Mr.M.I.T.

    Mr.M.I.T. Активный пользователь

    С нами с:
    28 янв 2008
    Сообщения:
    4.584
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    да нуу =)
    с output веселее и к шаблонам ближе....
     
  9. Sofia

    Sofia Активный пользователь

    С нами с:
    25 сен 2008
    Сообщения:
    961
    Симпатии:
    2
    Mr.M.I.T. это я понимаю, а разве тут session_start(); не в самом начале? :)
     
  10. decoder

    decoder Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    469
    Симпатии:
    0
    Sofia
    Возможно, есть пробелы или какие-то символы до самого первого <?php.
     
  11. Mr.M.I.T.

    Mr.M.I.T. Активный пользователь

    С нами с:
    28 янв 2008
    Сообщения:
    4.584
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
  12. strange

    strange Активный пользователь

    С нами с:
    3 окт 2008
    Сообщения:
    2
    Симпатии:
    0
    Странно, сделал всё как написано, вот кусок скрипта

    Код (Text):
    1.  <?
    2. session_start();
    3.  $do=$_GET['do'];
    4.  $error=false;
    Но выводит ошибку
    И еще такой вопросик, а как теперь эту регистрацию сделать чтоб данные в БД добавлялись?
     
  13. decoder

    decoder Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    469
    Симпатии:
    0
    strange
    Перед <? пробелы удали...
     
  14. Mete0

    Mete0 Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Gatchina
    А может у него файл в кодировке UTF-8 с BOM ?
     
  15. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    bom не пишется в буфер в перед хедерами.
     
  16. Mr.M.I.T.

    Mr.M.I.T. Активный пользователь

    С нами с:
    28 янв 2008
    Сообщения:
    4.584
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    это регистрация на файлах, но если очень надо, то самое простое, переделать 2 функции get_serial и set_serial
    вообще, может потом напишу ещё один скрипт - для БД...
    В файле http://mit-home.nov.ru/phpmm/download.php?id=2
     
  17. Mete0

    Mete0 Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Gatchina
    BOM указатель UTF-8 кодировки, он пишется в начало файла.
    Все пишется, ты легко можешь это проверить. :)
     
  18. Mr.M.I.T.

    Mr.M.I.T. Активный пользователь

    С нами с:
    28 янв 2008
    Сообщения:
    4.584
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    на БД =)
    Код (PHP):
    1. <?
    2. /*
    3.  (c) Mr.M.I.T.
    4.   http://mit-home.nov.ru
    5. */
    6. ############################
    7. # Set Defaults
    8. ############################
    9. $do=$_GET['do'];
    10. $error=false;
    11. $_SESSION['user']=!$_SESSION['user']?array('group'=>"guest"):$_SESSION['user'];
    12. $GLOBALS['cnf']=get_serial('db_cnf');
    13. ############################
    14. # Support Functions
    15. ############################
    16. function get_serial($name,$dir='') {
    17.     $res=array();
    18.     $fp=@file_get_contents(($dir?"$dir/{$name}.php":"{$name}.php"));
    19.     if ($fp) {
    20.         $fp=str_replace("<?die();?>","",$fp);
    21.         $res=unserialize($fp);
    22.     }
    23.  return $res;
    24. }
    25. function set_serial($arr,$name,$dir='') {
    26.      $arr="<?die();?>".serialize($arr);
    27.      $fp=fopen(($dir?"$dir/{$name}.php":"{$name}.php"),"w");
    28.          fputs($fp,$arr);
    29.          fclose($fp);
    30. }
    31. function givepost($keys,$msql=false) {
    32.     $arr=array();
    33.     if ($_POST) {
    34.         $keys=explode(',',$keys);
    35.         for($i=0,$c=count($keys);$i<$c;$i++) {
    36.               $arr[$keys[$i]]=$msql?mysql_real_escape_string($_POST[$keys[$i]]):$_POST[$keys[$i]];
    37.         }
    38.     }
    39.   return $arr;
    40. }
    41. function emptypost($keys) {
    42.     if ($_POST) {
    43.         $keys=explode(',',$keys);
    44.         for($i=0,$c=count($keys);$i<$c;$i++) {
    45.               if (empty($_POST[$keys[$i]])) {
    46.                   return true;
    47.               }
    48.         }
    49.         return false;
    50.     }
    51.   return true;
    52. }
    53.  
    54. function db_connect() {
    55.     if (!$GLOBALS['db_connid']) {
    56.         $GLOBALS['db_connid']= mysql_connect($GLOBALS['cnf']['db_host'],$GLOBALS['cnf']['db_user'],$GLOBALS['cnf']['db_pass']) or die(mysql_error());
    57.         mysql_query('SET NAMES '.$GLOBALS['cnf']['db_encoding']);
    58.         mysql_select_db($GLOBALS['cnf']['db_name'],$GLOBALS['db_connid']);
    59.         $GLOBALS['cnf']['db_pref']=mysql_real_escape_string($GLOBALS['cnf']['db_pref']);
    60.      }
    61.      return  $GLOBALS['db_connid'];
    62. }
    63.  
    64. ################################
    65. # Install
    66. ################################
    67. if (empty($GLOBALS['cnf'])) {
    68.   if (isset($_POST['done'])) {
    69.      if (!emptypost("db_name,db_host,db_user,db_encoding,db_pref")) {
    70.          $GLOBALS['cnf']=givepost("db_name,db_pass,db_host,db_user,db_encoding,db_pref");
    71.          if (db_connect()) {
    72.              set_serial($GLOBALS['cnf'],'db_cnf');
    73.              mysql_query("
    74.                CREATE TABLE `{$GLOBALS['cnf']['db_pref']}_auth` (
    75.                 `id_user` int(11) NOT NULL auto_increment,
    76.                 `login` varchar(300) NOT NULL,
    77.                 `pass` varchar(32) NOT NULL,
    78.                  PRIMARY KEY  (`id_user`),
    79.                  KEY `login` (`login`)
    80.                ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1
    81.              ") or die(mysql_error());
    82.              $error='Установка...';
    83.              header("Refresh: 2");
    84.          }
    85.      }else {
    86.         $error="Ошибка: Обязательные поля нужно заполнить";
    87.      }
    88.   }
    89.      print "
    90.       ".($error?"<div align=center width=60% style='border:1px solid red'>$error</div><br>":"")."
    91.       <form method=POST>
    92.       <table width=30% align=center border=1>
    93.       <tr>
    94.       <td colspan=2 align=center>Установка...</td>
    95.       <tr>
    96.       <td>db_name</td><td><input type='text' name='db_name'></td>
    97.       <tr>
    98.       <td>db_pass</td><td><input type='text' name='db_pass'></td>
    99.       <tr>
    100.       <td>db_user</td><td><input type='text' name='db_user'></td>
    101.       <tr>
    102.       <td>db_host</td><td><input type='text' name='db_host'></td>
    103.       <tr>
    104.       <td>db_prefix</td><td><input type='text' name='db_pref' value='pref'></td>
    105.       <tr>
    106.       <td>db_encoding</td><td><input type='text' name='db_encoding' value='cp1251'></td>
    107.       <tr>
    108.       <td colspan=2 align=center><input type=submit name='done' value='Установить'></td>
    109.       </table>
    110.       </form>
    111.       ";
    112.       die();
    113. }
    114.  
    115. ##############################
    116. # Auth/Out/Register
    117. ##############################
    118.  
    119.  
    120. $db=db_connect();
    121. switch($do) {
    122.   case"out":
    123.      unset($_SESSION['user']);
    124.      session_destroy();
    125.      if (!headers_sent()) {
    126.           setcookie("save",'',time()+99999,'/');
    127.      }
    128.      header("Location:".($_SERVER['HTTP_REFERER']?$_SERVER['HTTP_REFERER']:$_SERVER['PHP_SELF']));
    129.   break;
    130.   case"register":
    131.      $login=$_POST['login'];
    132.      $pass1=$_POST['pass1'];
    133.      $pass2=$_POST['pass2'];
    134.      if (isset($login) && isset($pass1) && isset($pass2)) {
    135.        if (!empty($login) && !empty($pass1) && !empty($pass2)) {
    136.            $login=mysql_real_escape_string(htmlspecialchars($login));
    137.            $sql=mysql_query("SELECT * FROM {$GLOBALS['cnf']['db_pref']}_auth WHERE LOWER(login)='".strtolower($login)."'");
    138.            if (!mysql_num_rows($sql)) {
    139.                if (strlen($pass1)>=4) {
    140.                    $pass1=md5($pass1);
    141.                    $pass2=md5($pass2);
    142.                    if ($pass1==$pass2) {
    143.                       if(mysql_query("INSERT INTO {$GLOBALS['cnf']['db_pref']}_auth VALUES(NULL,'$login','$pass1')")) {
    144.                          $error="Вы успешно зарегистрированны";
    145.                          header("Refresh:3;url=".$_SERVER['PHP_SELF']);
    146.                      }else{
    147.                           $error="Системная ошибка, не могу занести информацию в БД";
    148.                      }
    149.                    }else {
    150.                        $error="Ошибка: Пароли не совпадают";
    151.                    }
    152.                }else {
    153.                    $error="Ошибка: Минимальная длина пароля 4 символа";
    154.                }
    155.            } else {
    156.                $error="Ошибка: Такой пользователь уже существует";
    157.            }
    158.        }else {
    159.          $error="Ошибка: Обязательные поля нужно заполнить";
    160.        }
    161.      }
    162.     print "
    163.       ".($error?"<div align=center width=60% style='border:1px solid red'>$error</div><br>":"")."
    164.       <form method=POST>
    165.       <table width=30% align=center border=1>
    166.       <tr>
    167.       <td>Login</td><td><input type='text' name='login'></td>
    168.       <tr>
    169.       <td>Pass 1</td><td><input type='password' name='pass1'></td>
    170.       <tr>
    171.       <td>Pass 2</td><td><input type='password' name='pass2'></td>
    172.       <tr>
    173.       <td colspan=2 align=center><input type=submit value='Регистрация'></td>
    174.       </table>
    175.       </form>
    176.       ";
    177.   break;
    178.   default:
    179.   if ($_SESSION['user']['group']=='guest') {
    180.   $_COOKIE['save']=$_COOKIE['save']?unserialize($_COOKIE['save']):"";
    181.   $login=!$_COOKIE['save']['login'] || isset($_POST['login'])?$_POST['login']:$_COOKIE['save']['login'];
    182.   $pass=!$_COOKIE['save']['pass'] || isset($_POST['pass'])?$_POST['pass']:$_COOKIE['save']['pass'];
    183.   if (isset($login) && isset($pass)) {
    184.       if (!empty($login) && !empty($pass)) {
    185.           if (!$_COOKIE['save']['pass'] || isset($_POST['pass'])) $pass=md5($pass);
    186.           $login=mysql_real_escape_string(htmlspecialchars($login));
    187.           $sql=mysql_query("SELECT * FROM {$GLOBALS['cnf']['db_pref']}_auth WHERE LOWER(login)='".strtolower($login)."'");
    188.           if (mysql_num_rows($sql)) {
    189.               $row=mysql_fetch_assoc($sql);
    190.               if ($row['pass']==$pass) {
    191.                   $_SESSION['user']['group']='user';
    192.                   $_SESSION['user']['login']=$row['login'];
    193.                   if (!headers_sent() && $_POST['save']) {
    194.                       $cook=array();
    195.                       $cook['pass']=$pass;
    196.                       $cook['login']=$row['login'];
    197.                       setcookie("save",serialize($cook),time()+99999,'/');
    198.                   }
    199.               }else {
    200.                 $error="Ошибка: Неверный Пароль";
    201.               }
    202.           }else {
    203.             $error="Ошибка: Такого Пользователя не существует";
    204.           }
    205.       }else {
    206.          $error="Ошибка: Обязательные поля нужно заполнить";
    207.      }
    208.     }
    209.   }
    210.   if ($_SESSION['user']['group']=='guest') {
    211.   print "
    212.   ".($error?"<div align=center width=60% style='border:1px solid red'>$error</div><br>":"")."
    213.   <form method=POST>
    214.   <table width=30% align=center border=1>
    215.   <tr>
    216.   <td>Login</td><td><input type='text' name='login'></td>
    217.   <tr>
    218.   <td>Pass</td><td><input type='password' name='pass'></td>
    219.   <tr>
    220.   <td>Запомнить?</td><td><input type='checkbox' name='save' value='1'></td>
    221.   <tr>
    222.   <td colspan=2><a href='?do=register'>Регистрация</a></td>
    223.   <tr>
    224.   <td colspan=2 align=center><input type=submit value='Войти'></td>
    225.   </table>
    226.   </form>
    227.   ";
    228.   }else {
    229.   print "
    230.   <table width=30% align=center border=1>
    231.   <tr>
    232.   <td>Вы вошли как</td><td>{$_SESSION['user']['login']} <a href='?do=out'>Выйти</a></td>
    233.   </table>
    234.   ";
    235.   }
    236. }
    237. ?>
     
  19. mensh

    mensh Активный пользователь

    С нами с:
    1 ноя 2008
    Сообщения:
    3
    Симпатии:
    0
    Но как сделать чтоб выводилась дополнительная информация именно для етого пользователя?
     
  20. Mr.M.I.T.

    Mr.M.I.T. Активный пользователь

    С нами с:
    28 янв 2008
    Сообщения:
    4.584
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    ну тут целое поле для фонтазии =)
    самое простое в сессию поместить id пользователя
    а потом когда нужно делать запрос в БД и выводить "дополнительную информацию"
     
  21. 2Kem

    2Kem Активный пользователь

    С нами с:
    18 мар 2009
    Сообщения:
    36
    Симпатии:
    0
    дайте плз запрос sql в phpmyadmin
     
  22. bboyandry

    bboyandry Активный пользователь

    С нами с:
    25 мар 2009
    Сообщения:
    24
    Симпатии:
    0
    можно об этом поподробние....
     
  23. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.372
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    MrMIT, требуй себе статус извращенца... :)
     
  24. Mr.M.I.T.

    Mr.M.I.T. Активный пользователь

    С нами с:
    28 янв 2008
    Сообщения:
    4.584
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    во-первых исправь ошибки =) http://www.akhundzade.ru/full/12
    во-вторых, это пример, чисто процедурник
    или ты хочешь чтобы я сначало написал фреймвок?
    в-третьих, давно это было =)
     
  25. Sofia

    Sofia Активный пользователь

    С нами с:
    25 сен 2008
    Сообщения:
    961
    Симпатии:
    2
    не могу разобраться с системой, уж слишком все сложно,
    особенно файлик: db_cnf.php
    А как можно просто использовать этот же скриптик авторизации/регистрации/выхода на БД, но с обычным соединением к БД:

    PHP:
    1. $db_host="localhost";
    2. $db_name="test";
    3. $username="test5";
    4. $password="pass";
    5. $db_con=mysql_connect($db_host,$username,$password);
    6. $connection_string=mysql_select_db($db_name);
    чтоб проще было разбираться. Пожалуйста.