Use of undefined constant

Odpowiedz Nowy wątek
2017-12-29 13:12
0

Witam, Mam dziwny problem którego nie moge zlokazizować. Analizując całą drohge formularza nie moge odszukać problemu, stworzyłem wszystko jeszcze raz i jest ten sam problem.

Message: Use of undefined constant  - assumed ''
Filename: models/Mdl_users.php
Line Number: 106

106 linia w tym modelu to ostatnia linia, podpowiedz dotycząca stałej jak widać też nie wskazuje gdzie może być problem.
Nie wiem o co może chodzić, w modelu odpalane jest:

function pword_check($username, $pword) {
        $table = $this->get_table();
        $this->db->where('pword', $pword); 
        $this->db->where('username', $username);
        $query=$this->db->get($table);
        $num_rows = $query->num_rows();

            if ($num_rows>0)    {
                return TRUE;
            }   else {
                return FALSE;
            }
    }

Wszelkie nazwy - wszyztsko sprawdzane zgadza sie, na konieć trasy błędy wyświetla mi trzecia linie w kontrolerze który ładyje ten model - ta linie to no nawias otwierający główna klase kontrolera (jest domknięty xD)

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Users extends MX_Controller
{

function __construct() {
parent::__construct();
}
    function submit()   {
        $this->form_validation->set_rules('username', 'Username', 'required|xss_clean');
        $this->form_validation->set_rules('pword', 'Password', 'required|xss_clean|callback_pword_check');

            if ($this->form_validation->run($this) == FALSE)    {
                $this->login();
            }
            else    {
                echo 'Udało sie zalogować'; die(); 
            }
    }

    function pword_check($pword)    {
        $username  = $this->input->post('username', TRUE);
        $pword  = $this->input->post('pword', TRUE);
        $this->load->model('mdl_users');
        $result = $this->mdl_users->pword_check('username', 'pword');

            if ($result == FALSE)   {
                $this->form_validation->set_message('pword_check', 'Podałes nieprawidłowe hasło , dawaj jesszcze raz!');
                return FALSE;
            }
            else    {
                return TRUE;
            }
    }

    function  login() {
        $data['view_file'] = 'loginform';
        $this->load->module('template');
        $this->template->user($data);
    }
}

Wywołanie funkcji login i submit wywala dokładnie ten sam błąd, na marginesie bo wiem ze to bez zensu wywołanie pword_chceck robi ten sam problem

Wszelkie helpery, modele, itp załadowanie ...

Dzięki za pomoc i pozdrawiam ;}}

edytowany 1x, ostatnio: Patryk27, 2017-12-29 13:15

Pozostało 580 znaków

2017-12-29 13:16
0

Sprawdź czy w pliku nie znajduje się jakiś znak w stylu pustej spacji (jeśli masz ustawione formatowanie UTF8).
Plus uprość kod do najmniejszej wersji powodującej dalej problem.


edytowany 1x, ostatnio: Patryk27, 2017-12-29 13:16

Pozostało 580 znaków

2017-12-29 13:26
0

ale to chyba dosyć stary kod, bo nowszych wersjach nie używa się xss_clean do walidacji, już raczej html_escape przy polach do wpisywania


Pozostało 580 znaków

2017-12-29 13:48
0

ale to chyba dosyć stary kod, bo nowszych wersjach nie używa się xss_clean do walidacji, już raczej html_escape przy polach do wpisywania

Tak, są to stare dwie linijhki do przetestowania tego co ważniejsze, docelowo będzie kilkanaście formularzy, jak przyjdzie czas to odświeże info i postąpie tak jak trzeba. Same regóły walidacji jednak nie stwarzają problemu, wczoraj nawet co sprawdziłem z samym "required"

Sprawdź czy w pliku nie znajduje się jakiś znak w stylu pustej spacji (jeśli masz ustawione formatowanie UTF8).
Plus uprość kod do najmniejszej wersji powodującej dalej problem.

Jeżeli chodzi o znaki to czysto ;}
Jeżeli chodzi o uproszczenie wygląda to tak

domenka/users/login -> i tu mamy tak ...

    function  login() {
        $data['view_file'] = 'loginform';
        $this->load->module('template');
        $this->template->user($data);
    }

templatka nie robi problemu w innych miejscach - wiec odpada ;)
formularz logowania jest mniej podejżany - ale może byc błąd własnie w nim, wiec ...

<h2>Formularz Logowania</h2>
<h3>Jeżeli posiadasz konto w moim serwisie wpisz dane i kliknij " ok "</h3>

<?php echo validation_errors("<p style='color: red;'>", "</p>"); 

    $this->load->helper('security'); 
        echo form_open('users/submit');
        echo form_input('username', 'admin');
        echo '<br>';
        echo form_password('pword', 'GhxDW31234');
        echo '<br>';
        echo form_submit('submit', 'OK' );
        echo form_close();
?>

I mopdel - na 99 procent winny

<?php 
if (!defined('BASEPATH')) exit('No direct script access allowed');
class Mdl_users extends CI_Model {

function __construct() {
parent::__construct();
}

    function get_table() {
        $table = 'users';
        return $table;
    }

    function pword_check($username, $pword) {
        $table = $this->get_table();
        $this->db->where('pword', $pword); 
        $this->db->where('username', $username);
        $query=$this->db->get($table);
        $num_rows = $query->num_rows();

            if ($num_rows>0)    {
                return TRUE;
            }   else {
                return FALSE;
            }
    }}
?>

Nie ma ani jednej linijki, której bym tu nie umieścił, cała reszta w komentarzach a błąd dokładnie ten sam ... xD
Jakies pomysły - Dzięki

PS: Hasło i tak jest testowe xD

edytowany 1x, ostatnio: Arek Mikolajczak, 2017-12-29 14:04

Pozostało 580 znaków

2017-12-29 17:26
0

Nastepnie miałem problemy ze zwykłym redirect()

Helper oczywicie załadopwany był, niby mniało działac a zwykłe przekierowywanie które działało 1000 razy nagle nie działało ...

Znalazłem odpowiedz: w pliku index.php dodaj w pierwzej lini

ob_start();

Wszystko zaczeło działać, wszystkie "ostrzerzenia znikneły", jeżeli ktos może wyjaśnić co to jest - jeżeli nie to sam doczytam jutro czy pojutrze ;}}
__ Sporządze oczywiście wtedy info dla potomnych gdzy rozpracuje ten problem ;))

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0