men jeg ønsker og ha 2 check i mit isset(), så den både check imod userId, samt om status er li med 1 fra min table..
<?php session_start(); $userId = $_SESSION["userId"]; if($result = $db->query("SELECT * FROM Users WHERE id = '$userId'")) { if($result->num_rows) { if($row = $result->fetch_object()) { $status = $row->status; } } $result->free(); } ?>
men får bare op denne fejlmelding
Fatal error: Cannot use isset() on the result of an expression (you can use "null !== expression" instead) in /customers/4/8/3/os-dart.no/httpd.www/test/admin/index.php on line 17
Fatal error: Uncaught Error: Call to a member function query() on null in /customers/4/8/3/os-dart.no/httpd.www/test/admin/index.php:13 Stack trace: #0 {main} thrown in /customers/4/8/3/os-dart.no/httpd.www/test/admin/index.php on line 13
så i if($status !== 1) testes om $status ikke er ligmed værdien 1 datatypen int
>er dette en sikker løsning til en admin side eller findes der en bedre løsning?? rimelig sikker, du kan sikkert finde andre løsninger, når du gør så brug den der passer dig bedst
jeg tror jeg ville bruge Prepare Statement i SQL, og bindeparam $userId. istedet for direkte $_POST / $_GET værdier i SQL.
>$userId = $_SESSION["userId"]; ville jeg lave om til $userId = (int) $_SESSION["userId"]; da jeg antager $userId er en integer, så sender du andet over ens int, bliver det typecasted til int, så du her får en grov afvaskning af dine data.
Synes godt om
1 synes godt om dette
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.