Autor Zpráva
LExtR
Profil
Zdravím,

snažím se vytvořit administraci skrze kterou půjde editovat obsah na stránce. Zůstal jsem u přihlašování jelikož se za žádnou cenu nemůžu vypořádat s chybou:

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /www/subdom/##/admin/index.php on line 17

Warning: Cannot modify header information - headers already sent by (output started at /www/subdom/##/admin/index.php:17) in /www/subdom/##/admin/index.php on line 20

Jak jsem si všiml tato chyba je častá u začátečníků kteří si s ní nevědí rady jestli že byl můj postřech správný. Obešel jsem celkem dost fór kde se o této chybě mluvilo ale nemohu ji jednoduše vyřešit už jakou dobu. Vím že se mi to jednou povedlo ale na správný postup si bohužel nevzpomenu.

if(isset($_SESSION['logged'])){
    $sql = mysqli_query($conn, "SELECT * FROM uzivatele WHERE name='".addslashes($_SESSION['nick'])."' AND pass= '".addslashes($_SESSION['pass'])."' AND mail='".addslashes($_SESSION['mail'])."'");
    if(mysqli_num_rows($sql) == 1){$end == false;}
}

Budu vděčný za jakoukoli radu, děkuji.

if($end){header('Location: login.php?action=403');die();}

if(!file_exists('pages/'.strtolower($_GET['str']).'.php')){
    $inklud = 'pages/'.strtolower($_GET['str']).'.php';
}else{
    $inklud = 'pages/uvod.php';
}
úsměv
Profil
cannot modifi header information - header() musis pouzivat pred odeslanim jakykoliv (snad kromě cookie) na uzivatele.
Beavis
Profil
LExtR:
První chyba znamená, že ti dotaz vrací false; hledej chybu v něm.
Druhá znamená, že jsi začal něco vypisovat (ať už úmyslně nebo ne) do stránky a až potom se snažíš upravit hlavičku (ve tvém případě předpokládám funkcí header()).
Dovolím si ještě zmínit, že podmínku máš zřejmě opačně, než by jsi chtěl:
if(!file_exists('pages/'.strtolower($_GET['str']).'.php')){ // = pokud neexistuje soubor z $_GET["str"], tak vlož soubor z  $_GET["str"]? :-) ten vykřičník by tam neměl být.
    $inklud = 'pages/'.strtolower($_GET['str']).'.php'; 
}else{
    $inklud = 'pages/uvod.php';
}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: