Mysql
 sql >> база данни >  >> RDS >> Mysql

if(!isset($_SESSION['username'])), което кара потребителите да бъдат пренасочени от verify_login_form.php обратно към index.php

Всичко, което трябва да направите, е да създадете сесия за влизане. Така че тук е трикът. Всеки път, когато преминете от индекс към начална страница, трябва да проверявате дали сесията за влизане съществува. Ако не, помолете потребителя да влезе.

Проверете дали даден потребител е влязъл

<?PHP
    session_start();

    if (!(isset($_SESSION['login']) && $_SESSION['login'] != '')) {

        header ("Location: login.php");
    }
?>

Отново, първо стартираме PHP сесия. Изявлението IF, което следва, е доста сложно. Но ние тестваме за две неща:зададена ли е потребителска сесия, наречена login? И тази сесия празен низ ли е?

!(isset($_SESSION['login']) && $_SESSION['login'] != '')

Първата част е следната:

!(isset($_SESSION['login'])

За да проверите дали дадена сесия е зададена, можете да използвате вградената функция isset. Използваме оператора NOT преди него. (Операторът NOT е удивителен знак.) Така че ние казваме, "АКО сесията НЕ е зададена". Сесията може да е зададена, но може да има "1" в нея. Също така трябва да проверим дали сесията, наречена login, НЕ е празен низ. Ако и двете неща се провалят, можем да пренасочим към страницата login.php, тъй като това означава, че потребителят не е влязъл.

За всяка страница във вашия сайт, ако имате горния скрипт в горната част на страницата си, той ще пренасочи потребител, ако не е влязъл. По този начин можете да защитите страниците си от не-членове. Ако са влезли, ще могат да видят страницата.

Излизане Ако погледнете кода за logout.php, ще видите следното:

<?PHP
    session_start();
    session_destroy();
?>

Това е всичко, от което се нуждаете, за да излезете от потребител:започвате сесия и след това издавате командата session_destroy. Всичко, от което се нуждаете, е връзка към тази страница от всяко място на вашия сайт. Връзката би била нещо подобно като вашия HTML:

<A HREF = logout.php>Log Out</A>

Когато потребителят щракне върху тази връзка, той ще бъде отведен на страницата с кода, който унищожава сесията.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изтрийте дублирани mysql редове без първичен ключ

  2. Данните на MySQL INSERT не се съхраняват в правилната db, а само временно?

  3. MySQL wait_timeout не се зачита за дълга заявка?

  4. PHP файлът не може да въведе част от кода

  5. Как да възстановим MySQL база данни от WAMP?