Потребител може да достъпи страница на друг потребител

Когато сложиш в сесията ID-то - препоръчително е да работиш с него, от колкото с потребителско име. Колкото до подмяна на параметъра при тази ситуация

Код:
$result -> bindParam(1, $_SESSION['username'], PDO::PARAM_INT);

няма да има, понеже се взима стойност от сървъра, но в случая най-много ще те трясне някое изключение, понеже се мъчиш да асоциираш стринг в параметър от тип int. Другото, което не ми харесва е, че ползваш директно стойноти от глобалните масиви про заявките, без да си валидирал дали въобще имаш такива.

Идеята за отделен администраторски пане е следната: правиш си едно php, което ще може да се ползва само от привилегирован потребител (админ), като не изнасяш линк към него, а създаването на валидна сесия към него да бъде обвързано с допълнително правило - например рестрикция по IP.
 
Lamerko, понеже преди това взимах от $_GET id-то на потребителя и съм забравил да сменя и PDO::PARAM_INT..

За админа точно така ше бъде. Той изобщо няма да има видим линк към него. Ще бъде в отделна папка с отделни файлове и там ще има проверка дали потребителя ( някакъв флаг ).

Това за IP-то е добра идея..

p.p.

Ок последно с ID-то ще се работи тъй като си го има в сесията.. бутона остава без предаване на каквото и да е..
Код:
<?php
      if(!empty($_SESSION['username'])) 
                {
                   $pdo = Database::connect();                         
                   $result = $pdo->prepare("SELECT *
                            FROM users
                            WHERE id = ? LIMIT 1");
                                        
                     $result -> bindParam(1, $_SESSION['id'], PDO::PARAM_INT);
                     $result -> execute();
                              // формата
 

Back
Горе