PHP html parametresini Erişme

5 Cevap php

Ben oturumları için basit bir test php script yapmaya çalışıyorum. Temelde bu sayfayı yenileyin, her zaman ($_SESSION saklanan) bir sayacı artırır. O çalışır, ama ben ?destroy=1 parametresi ile sayfayı yeniden yükler oturumu yok etmek için bir bağlantı var çalışıyorum. Ben bu parametre ayarlanır ve böylece oturum yok ama eğer çalışmak için görünmüyor eğer ifadeleri görmek için eğer bir çift denedim.

Ben bile koymak bir ettik eğer parametre ayarlı ise bir mesaj pop-up ana gövdesinde beyanı - ama alınmayı görünmüyor.

(Ben bir PHP acemi olduğum) aptalca bir şey yaptığımı biliyorum ama ben ne olduğunu bulmak için görünmüyor olabilir ...

Kodunu buraya bakınız:

<?php

if ($_POST['destroy'])
{
    session_destroy();
}
else
{
    session_start();
}

?>

<html>
<head>
<title>Session test</title>
</head>

<body>

<?php

if (isset($_POST['destroy']))
{
    echo "Destroy set";
}

$_SESSION['counter']++;

echo "You have visited this page " . $_SESSION['counter'] . " times" . "<BR>";
echo "I am tracking you using the session id " . session_id() . "<BR>";
echo "Click <a href=\"" . $_SERVER['PHP_SELF'] . "?destroy=1\">here</a> to destroy the session.";
?>

5 Cevap

Ben koymak düşünüyorum

$_POST['destroy']

Yerine

$_GET['destroy']

Eğer bir $ _POST değişkeni kullanmak isterseniz bir form kullanmak gerekir. $ _GET Değişkenleri URL saklanır.

Eğer kullanabileceğiniz arada

$ _REQUEST ['Yok']

hangi verilerin bir POST veya GET isteği geçti ise ne olursa olsun çalışmaya devam eder.

In PHP Manual, bir oturumu yok kod parçacığını vardır.

session_start();
$_SESSION = array();
if (isset($_COOKIE[session_name()])) {
    setcookie(session_name(), '', time()-42000, '/');
}
session_destroy();

Evet, yapmak istediğiniz için gidiyveyauz

if( $_GET['destroy'] == 1 )

veya

if( isset($_GET['destroy']) )

(Ben bir php acemi olduğum) aptalca bir şey yaptığımı biliyorum ama ben ne olduğunu bulmak için görünmüyor olabilir ...

bu onu zevk ;) çok şey öğrenmek için gidiyoruz nasıl ...