მოგესალმები ფორუმის სტუმარო

იმისათვის რომ შეძლოთ ფორუმთან სრული წვდომა ამისათვის თქვენ უნდა იყოთ რეგისტრირებული

ფორუმზე ბევრი საინტერესო,გასართობი, პორტალია

შემოგვიერთდით და ერთად შევქმნათ ქართველებმა სასიამოვნო გარემო

როგორ დავწეროთ პირველი CMS ძრავი

კატეგორია 'სკრიპტები და მოდულები' started by BoomBastic, თებ 11, 2018.

  1. BoomBastic

    BoomBastic Member ფორუმელი

    პოსტები:
    79
    მიღწევა:
    11
    ქულები:
    8
    Hello everyone კარგა ხანია აღარ შემოვსულვარ და კარგი თემები დამხვდა,

    ახლა ესეიგი რაშია საქმე მინდა კარგად ავხსნათ თუ როგორ დავწეროთ პირველი და ძალიან მარტივი სკრიპტი, მაგალითად აი ისეთი მხოლოდ რეგისტრაცია რომ ჰქონდეს?

    ნუ... თუ შეუსაბამო ადგილზე ვწერ ამას სხვა თემაში გადავიდეთ მეგობრებო ok?


    #1 პირველი ნაბიჯი რათქმაუნდა არის ის რომ შევქმნათ კონფიგურაციის ფაილი

    PHP:
    <?php
    header
    ('Content-Type: text/html; charset=utf-8');
    $servername "localhost";
    $username "usermame";
    $password "password";
    $dbname "usermame";

    //პირველ რიგში ვიწყებთ კონფიგურაციის ფაილის ბაზასთან დაკავშირებას
    $db = new mysqli("$servername""$username""$password""$dbname");
    if(
    $db->connect_errno){
        die(
    'არ არის მონაცემთა ბაზასთან კავშირი!');
    }
    else{
        echo 
    "კონფიგურაციის ფაილი წარმატებით დაუკავშირდა მონაცემთა ბაზას";
       
       
    }

    //ვუთითებთ კოდირებას იმისათვის რომ მონაცემთა ბაზაში ქართული ტექსტი შეინახოს სწორად და არა იეროგლიფერსი სახით
    $db->query("SET NAMES 'uft-8'");
    $db->query("SET CHARACTER SET 'uft-8'");
    $db->query("SET SESSION collation_connection = 'uft-8_general_ci'");
    ?> 


    #2 დავამატებთ ბაზას და მივაერთებთ

    #3 დავამოტოთ ბაზაში მომხმარებლის ცხრილი

    კოდირების ჩასმა:
    
    ახლა კი
    --
    -- Структура таблицы `users`
    --
    
    CREATE TABLE IF NOT EXISTS `users` (
      `id` int(11) NOT NULL,
      `nick` varchar(50) NOT NULL,
      `password` varchar(32) NOT NULL,
      `name` varchar(100) NOT NULL,
      `email` varchar(100) NOT NULL,
      `date_reg` int(11) NOT NULL,
      `level` int(2) NOT NULL,
      `sex` int(1) NOT NULL DEFAULT '1',
      `online` int(11) NOT NULL,
      `db` int(2) NOT NULL DEFAULT '0',
      `mb` int(2) NOT NULL DEFAULT '0',
      `yb` int(4) NOT NULL DEFAULT '0',
      `country` varchar(255) NOT NULL,
      `city` varchar(255) NOT NULL,
      `site` varchar(60) NOT NULL,
      `icq` varchar(15) NOT NULL,
      `ava` text NOT NULL
    ) ENGINE=MyISAM AUTO_INCREMENT=24 DEFAULT CHARSET=utf8;
    
     
  2. BoomBastic

    BoomBastic Member ფორუმელი

    პოსტები:
    79
    მიღწევა:
    11
    ქულები:
    8
    #4 შევქმნათ რეგისტრაციის გვერდი
    PHP:
    <?php

    include_once($_SERVER["DOCUMENT_ROOT"].'/head.php');
    ob_start();
    ?>
    <div class="title">რეგისტრაცია</div>
    <?

    if(isset($_GET['ok'])){
        
    ?>
        <div class="success">
            რეგისტრაცია დასრულდა!<br/>
            <a href="/" class="link">საიტზე გადასვლა</a>
        </div>
        <?
        
    //დფუთერი ჩავტვირთოთ
        
    include_once($_SERVER["DOCUMENT_ROOT"].'/foot.php');
        exit();
    }
    mode('guest');
    if(isset(
    $_POST['ok'])){
        
    //მიღებული მონაცემების გაფილტვრა
        
    $_POST['nick']=guard($db->real_escape_string($_POST['nick']));
        
    $_POST['name']=guard($db->real_escape_string($_POST['name']));
        
    $_POST['email']=guard($db->real_escape_string($_POST['email']));
       
        if(empty(
    $_POST['nick'])){
            
    $error 'ჩაწერე ნიკი!';
        }elseif(
    mb_strlen($_POST['nick']) < 2){
            
    $error 'მეტსახელი უნდა შეიცავდეს არანაკლებ ორი სიმბოლოს!';
        }elseif(empty(
    $_POST['password1'])){
            
    $error 'ჩაწერე პაროლი!';
        }elseif(empty(
    $_POST['password2'])){
            
    $error 'შეიყვანეთ დადასტურების პაროლი!';
        }elseif(empty(
    $_POST['name'])){
            
    $error 'ჩაწერე სახელი!';
        }elseif(
    mb_strlen($_POST['name']) < 2){
            
    $error 'სახელი უნდა შეიცავდეს სულ მცირე 2 სიმბოლოს!';
        }elseif(empty(
    $_POST['email'])){
            
    $error 'ჩაწერე E-Mail!';
        }elseif(
    mb_strlen($_POST['email']) < 5){
            
    $error 'ელ-ფოსტა უნდა შეიცავდეს მინიმუმ 5 სიმბოლოს!';
        }elseif(
    $_POST['password1'] != $_POST['password2']){
            
    $error 'წესიერად შეიყვანე პაროლი ბიჭო!';
        }elseif(!
    preg_match('/[0-9a-z_\-]+@[0-9a-z_\-^\.]+\.[a-z]{2,6}/i'$_POST['email'])){
            
    $error 'არასწორადაა მითითებული ელექტრონული ფოსტის მისამართი';
        }elseif(
    $db->query("SELECT * FROM `users` WHERE `email`='".$_POST['email']."'")->num_rows != 0){
            
    $error 'მომხმარებელი ამ ელექტრონული ფოსტით უკვე დარეგისტრირებულია';
        }elseif(
    $db->query("SELECT * FROM `users` WHERE `nick`='".$_POST['nick']."'")->num_rows != 0){
            
    $error 'ამ მეტსახელად მომხმარებელი უკვე არსებობს!';
        }elseif(
    mb_strlen($_POST['nick'])>40){
            
    $error 'მეტსახელის სიგრძე უნდა იყოს 40 სიმბოლოზე ნაკლები!';
        }
        
    //თუ შეცდომა ცდომილებაა
        
    if(isset($error)){
            
    ?>
            <div class="error"><?=$error?></div>
            <?
        
    }else{
            
    $db->query("INSERT INTO `users` SET `nick`='".$_POST['nick']."', `password`='".md5($_POST['password1'])."', `name`='".$_POST['name']."', `email`='".$_POST['email']."', `date_reg`='".time()."'");
            
    setcookie("nick"$_POST['nick'], time()+86000);
            
    setcookie("password"md5($_POST['password1']), time()+86000);
            
    header('location:?ok');
        }
    }
    ?>
    <div class="text">
        <form action="" method="POST">
            ნიკი:<br/>
            <input type="text" name="nick"><br/>
            პაროლი:<br/>
            <input type="password" name="password1"><br/>
            გაიმეორეთ პაროლი:<br/>
            <input type="password" name="password2"><br/>
            სახელი:<br/>
            <input type="text" name="name"><br/>
            E-Mail:<br/>
            <input type="text" name="email"><br/>
            <input type="submit" name="ok" value="დარეგისტრირება">
        </form>
    </div>
    <?

    include_once($_SERVER["DOCUMENT_ROOT"].'/foot.php');
    ?>
    ახლა კი ... გამაგრძელებინეთ ისე რომ ნულიდან დაიწეროს დანარჩენი, ავრსნათ რა და როგორ
     
  3. lunet

    lunet New Member ფორუმელი

    პოსტები:
    5
    მიღწევა:
    2
    ქულები:
    3
    მოგესალმები ეს თქვენი დაწერილია
     
გთხოვთ მოითმინოთ...