Nu heb ik een script die zegt dat je al ingelogd bent.
Nu wil ik op alle andere pagina's in het klantenmenu het zelfde script die zegt dat je niet ingelogd bent.
Hoe verander ik dit?


<?php
} else {
       echo "Je bent al ingelogd";
       }

} else {
        echo "Wij zijn tijdelijk aan het werken aan deze website";
        }
?>



Functies:

function checklogin() {
if (mysql_num_rows(mysql_query("SELECT userid, `hash` FROM `sessions` WHERE `userid` = '".sqlsafe($_COOKIE['id'])."' AND `hash` = '".sqlsafe($_COOKIE['hash'])."'"))) {
        $return  = TRUE;
    } else {
        $return = FALSE;
    }

    return $return;
}
Of sessies, for that matter. Je wilt toch niet meerdere keren dezelfde query (op dezelfde pagina, bij aanroep van deze functie) uitvoeren om elke keer hetzelfde te controleren? Dat is pure resource-verspilling.

Zo'n functie lijkt handig, maar dit is nogal verraderlijk. Stel dat je meer van dit soort functies introduceert om informatie op te vragen van gebruikers, straks wordt er her en der op een pagina allerhande gebruikersinformatie getoond die zich alle bedienen van dit soort "hulpfuncties", dan zit je al snel aan tientallen zoniet honderden queries per page-access...

Daarnaast: mysql_... functies zijn (binnenkort voor goed) passé, gebruik MySQLi of PDO.

Als je nieuwe code aan het schrijven bent, zou dit zeker niet met mysql_... functies moeten gebeuren!
zou mysql_num
dan mysqli_num moeten zijn?
mysqli_num_rows(...)

Zie ook php.net!
thx

Reageren