2017-09-04 4 views
0

Ich versuche, alle Abmeldesituationen (Timeout-Sitzungen oder einfach jede Methode, die auf [logout.php] -Seite verweist) zu überschreiben, indem Sie eine einzelne Abmelde-Schaltfläche auf der Indexseite angeben. Ist das möglich? Und was habe ich vermisst? Danke im Voraus.Geben Sie einen einzelnen Logout-Fall an

Der Code in dem verwendeten [index.php]:

<?php 
session_start(); 
if(isset($_POST['logout'])) { 
    $_SESSION['logout_command'] = 1; 
    header("Location: logout.php"); 
} 
?> 

<form action="" method="post"> 
    <input type="submit" name="logout" value="LOGOUT!!!"> 
</form> 

Und der Code in die [logout.php]:

<?php 
session_start(); 
if(isset($_SESSION['logout_command'])) { 
    $check = $_SESSION['logout_command']; 
    if($check = 1) { // AND ONLY IF! 
     session_destroy(); 
     header("Location: login.php"); 
    } else { // BACK OFF! 
     header("Location: index.php"); 
    } 
} else { // ALSO BACK OFF! 
    $_SESSION['logout_command'] = 0; 
    header("Location: index.php"); 
} 
?> 

UPDATE: Also, ich vermisste die Vergleichs- (==) signs ... Auch die [exit()] Funktion nach jedem [header()] in einer Sequenz ... Danke an alle.

+1

Nach jedem 'header ('Location: /example.php');' Sie die verwenden müssen 'exit();' Methode. – KDOT

+0

@Qirel Es war nicht meine Absicht, um ehrlich zu sein ... Ich bin nur besorgt über die Einschränkung des Abmeldeprozesses ... – Sky7ure

+1

@ Sky7ure Es ist in Ordnung, wenn Ihre Frage als Duplikat markiert ist - es ist nur, dass wir häufig gestellte Fragen sammeln/Probleme in einzelnen Threads mit einer tieferen Erklärung, so dass sie für eine größere Benutzerbasis nützlicher und einfacher zu verwenden sind. – Qirel

Antwort

3

Sie sind nicht eine bedingte tun, sind die Zuweisung Sie den Wert in der ersten, wenn:

if($check == 1) { 
+0

Wow! Ist das alles?!^_^" – Sky7ure

+1

Es könnte sein, alles andere sieht gut aus. Hast du nachgesehen? – ishegg

Verwandte Themen