Use of undefined constant

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 ;}}

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.

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

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

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 ;))

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