wie unset cookie in PHP?
Ich brauche, um herauszufinden, wie unset dieses cookie. Alles, was ich bisher ausprobiert fehlgeschlagen.
Dies ist, wie ich bin derzeit lösche es und es scheint nicht zu funktionieren.
setcookie("user_id", $user_id, time() - 7200);
Dies ist, wie ich es:
setcookie("user_id", $user_id, time() + 7200);
Habe ich diese Funktion aufgerufen set_session_from_cookie()
prüft, ob ein cookie gesetzt ist, und wenn es gesetzt ist, startet er eine neue Sitzung mit dem cookie.
Das problem ist, dass wenn ich diese auf meine Seite, ich kann mich nicht Abmelden. Ich gehe davon aus dies ist weil ich bin nicht in der Lage, unset die Sitzung.
Den Grund habe ich diese Funktion, wenn ein Benutzer will, um daran erinnert werden, nachdem Sie die Sitzung beenden, können Sie starten Sie die Sitzung, indem Sie die cookie.
function set_session_from_cookie()
{
if (isset($_SESSION['user_id'])) {
echo '';
} else {
$_SESSION['user_id']=$_COOKIE['user_id'];
}
}
Logout:
<?php
require'core.php';
session_destroy();
setcookie("user_id", "", time() - 7200);
header('Location:/social_learning/site_pages/starter-template.php');
Ich meine cookie mit dem folgenden code:
if ($rememberme == "on") {
$user_id = mysql_result($query_run, 0, 'id');
setcookie("user_id", $user_id, time() + 7200);
$_SESSION['user_id'] = $user_id;
redirect('home_page.php');
} else {
if ($rememberme == "") {
echo 'ok';
$user_id = mysql_result($query_run, 0, 'id');
echo $user_id;
$_SESSION['user_id'] = $user_id;
redirect('home_page.php');
}
}
Wie kann ich das Neustarten der Sitzung mit den gespeicherten cookie ohne Verwendung der Funktion, die ich erstellt? Da die Funktion scheint zu sein, wodurch der Benutzer nicht mehr Abmelden.
sollte es das sein? wie kann ich das feststellen?
Nicht verwenden relative Zeiten für das löschen von cookies. Das macht das entfernen hängt von Ihrem Benutzer die Uhr nicht genau. Verwenden Sie eine Zeit von
1
, die fangen jeden, sondern diejenigen mit wirklich kaputten Uhren, die denken, dass es 1970.wie kann ich es auf eine Zeit von 1?
Dies ist nicht sicher. Cookies können einfach bearbeitet werden, und in diesem Fall könnte jemand anmelden, da jeder Nutzer durch editieren der cookie. Sollten Sie benutzen eine Art der Verschlüsselung, die für das cookie.
InformationsquelleAutor arboles | 2012-05-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Set mit dem Ablaufdatum des Cookies auf einen Zeitpunkt in der Vergangenheit (wie eine Sekunde nach Epoche, zum Beispiel).
setcookie("yourCookie", "yourValue", 1);
Dadurch wird der cookie ablaufen soll.
1
statt0
, weil0
setzt das cookie verfällt am Ende der Sitzung.Die Zeit wird in form eines UNIX-timestamp, also ja, 1 war eine lange Zeit 🙂
1 ist "1. Januar, 19:70 00:00:01 UHR"
Genauer gesagt, es ist 1 ist "1. Januar, 19:70 00:00:01 AM UTC". 🙂
im Falle der cookie-domain ist nicht den Standard, dann müssen Sie die Domäne als vierten parameter der setcookie-Funktion, wie im Allgemeinen ist es gut, immer die Dritte (Pfad) und dem vierten (domain) Parameter
InformationsquelleAutor FThompson
Die Lösung dieses Problems war, die ich brauchte, um den richtigen Pfad zu unset cookie da war ich lösche es aus einer anderen Datei, die ich ursprünglich stellen Sie es in.
Fand ich heraus, welchen Weg ich brauchte, um für das unset, indem Sie das cookie in meinem browser-cookies, und einmal fand ich die Cookies in meinem browser, der Weg war aufgeführt in der Nähe der cookie. So habe ich dann den Pfad für das cookie so:
Der Letzte parameter ist der Pfad. Und es hat funktioniert.
Meine ursprüngliche
setcookie
sieht wie folgt aus:InformationsquelleAutor arboles
Gibt es einige Sicherheitsbedenken in Bezug auf code, aber um deine Frage zu beantworten, unset cookie in php, alles, was Sie tun müssen, ist gesetzt Ablaufzeit einen Zeitpunkt in der Vergangenheit:
"loginform.php" ist keine gültige domain, das könnte hier das problem.
legen Sie einfach einen Schrägstrich, wie ich Sie hatte, im Beispiel "/", das ist es, das bedeutet, dass dieses cookie ist für alle Ihre Domäne.
InformationsquelleAutor mohamed elbou
verwenden Sie diesen code
funktioniert jedes mal für mich in jeder website
InformationsquelleAutor Vaibhav Gautam
Blick in das php-Handbuch für Informationen über setcookie
http://php.net/manual/en/function.setcookie.php
Diese Hinweise sollte erklären, dass der Prozess:
InformationsquelleAutor Magento Guy
Im php-Handbuch, können Sie ein cookie gelöscht, indem ein Ablaufdatum in der Vergangenheit liegt:
In einigen Fällen, sollten Sie dem Pfad und domain für Argumente.
In der Tat, wenn Sie ordnen Sie ein cookie mit einem leeren string, es werden auch unset:
Vielleicht müssen Sie angeben, Pfad und domain manuell.
InformationsquelleAutor Yinian Chin