Я делаю страницу аутентификации пользователя с использованием CodeIgniter

1

Проблема заключается в том, что запрос не извлекает правильное значение из базы данных, а не получает какое-либо значение. Всякий раз, когда я пытаюсь напечатать переменную, которая содержит результат, она пуста. Я присоединяю часть кода

Это код в модели

$db = new PDO('mysql:host=localhost;dbname=login;charset=utf8', 'root', 'learningit');
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $db->prepare("SELECT id FROM members WHERE userid='$username' AND password='$password'");  
    $stmt->execute();  
    $var=$stmt->fetch(PDO::FETCH_ASSOC);

    foreach ((array)$var as $row) {
    print_r($row);
    return $row;

& это часть контроллера

public function check()
    {

        $this->load->model('test_model');

        $result=$this->test_model->data_check();

        if($result[0]==1)
        {
          $this->call();
        }
        else if($result[0]==2)
        {
            $this->call1();
        }
        else if($result[0]==3)
        {
            $this->call2();
        }
        else
        {   
            echo "Invalid id/password";
        }   
    }
  • 0
    откуда вы берете переменную $username и $password ? поставить этот код тоже.
  • 0
    использовать активные записи CI, если вы используете старый стиль подключения php mysql, так как это очень плохо, пожалуйста, прочитайте документацию базы данных codeigniter.com/userguide2/database/index.html
Показать ещё 3 комментария
Теги:
codeigniter

1 ответ

0

Возможно, в вашей модели может отсутствовать объявление $ username и $ password

$username = $this->input->post('username'); // change this depends in your input 
$password = $this->input->post('password'); // change this depends in your input
  • 0
    Это ответ? Если предложение напишите как комментарий.
  • 0
    Я объявил их и принял значения, используя метод post.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню