Oznámení
warning s Dibi
před 10 lety
- radekkkk
- Člen | 3
Zdravím, mám problém s Dibi. Používám select na zjištění loginu a hesla (v něm problém není) a po přihlášení uživatele ho přesměruju na úvodní stránku. Když sql dotaz proženu přes Dibi dotaz proběhne, přihlásím se, ale hodí mi warning
Warning: Class __PHP_Incomplete_Class has no unserializer in D:\Program Files\xampp\htdocs\bakalarka\index.php on line 1
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\Program Files\xampp\htdocs\bakalarka\index.php:1) in D:\Program Files\xampp\htdocs\bakalarka\index.php on line 1
při přesunu na jinou stránku a vrácení na úvodní se už, ale warning nevyskakuje, jen na poprvé po přihlášení. Když zavolám ten samý sql dotaz standartně přes mysql žádný warning se neobjeví a vše je OK.
**přes mysql bez Dibi:**
$sql = "SELECT id_zakaznik,prihlasovaci_jmeno, heslo, jmeno, prijmeni, id_role
FROM zakaznik
WHERE prihlasovaci_jmeno='".$login."' AND heslo='".$heslo."'";
$vysledek = MySQL_dotaz($sql);
**přes Dibi:**
dibi_connect(); // má fce pro přihlášení k Dibi
$result = dibi::query('SELECT id_zakaznik, prihlasovaci_jmeno, heslo, jmeno, prijmeni,id_role
FROM [zakaznik]
WHERE [prihlasovaci_jmeno] = %s AND [heslo] = %s', $login, $heslo);
$vysledek = $result->fetchAll();
**na stránce index.php řádku 1 je jen**
<?php session_start();
další řádky jen include
include('/function/db_connect.php');
include('/function/dibi_fce.php');
?>
Dokáže mi někdo poradit, kde je co špatného, aby mi nevyskakovali warningy? Děkuju
Editoval radekkkk (27. 11. 2009 23:07)
před 10 lety
- phx
- Člen | 652
- si precti jak spravne vkladat kody do fora. Ten tvuj prispevek je dost neprehlednej
- co ukladas do session?
před 10 lety
- radekkkk
- Člen | 3
Omlouvám se, nemohl jsem se sem dříve dostat a také za zápis dotazu… V proměnných session ukládám počet položek v košíku (tvořím eshop), přihlašovací informace (role přihlášeného uživatele). Pokud zakomentuji hned na začátku stránky session_start(); warning zmizí, ale také samozřejmě i informace, které nutně potřebuji na stránce.
před 10 lety
- phx
- Člen | 652
Jedine co me napada, je ze do SESSION ukladas nejaky objekt, ktery se neumi serializovat (result z DB).
Jinak bych doporucil vymazat cookies v prohlizeci a zkusit to znovu.
před 10 lety
- radekkkk
- Člen | 3
Děkuji, měl jsem tam jednu session ve které jsem přenášel objekt a ten házel chybu.
dibi_connect();
$result = dibi::query('SELECT id_zakaznik, prihlasovaci_jmeno, heslo, jmeno, prijmeni,id_role
FROM [zakaznik]
WHERE [prihlasovaci_jmeno] = %s AND [heslo] = %s', $login, $heslo);
$vysledek = $result->fetchAll();
$_SESSION['vysledek']=$vysledek; // zde vznikala chyba při přesměrování
Nicméně ten samý kód, bez použití dibi žádnou chybu nedělal.