Cookies verwijderen
Ultimatum - 06/03/2007 15:44 (laatste wijziging 06/03/2007 16:13)
PHP expert
Ik heb een formulier waar je eerst 3 dingen dmv van een popup moet kiezen en als je wat gekozen hebt dan staan die waarden op de main. Alleen wil ik nu als je dus een waarde hebt gekozen er een plaatje acher komt en als je daar op drukt de cookie weer word verwijderd. De cookies worden wel gezet met javascript maar ze zijn toegangelijk met php. Dus ik snap niet waarom nu wil verwijderen
de functie:
<?php
function Refresh($page, $cookie)
{
if($page == 'continent')
{
if(!empty($cookie))
{
?>
<script type='text/javascript'>
<!--
var now = new Date();
document.cookie = 'Continent=;expires='+now.toGMTString()+';path=/';
//-->
</script>
<?php
}
}
}
?>
<?php
function Refresh( $page , $cookie )
{
if ( $page == 'continent' )
{
{
?>
<script type='text/javascript'>
<!--
var now = new Date();
document.cookie = 'Continent=;expires='+now.toGMTString()+';path=/';
//-->
</script>
<?php
}
}
}
?>
En dan de functie roep ik in een OnClick aan, weet nie of dat wat uitmaakt?
<?php
<a href="#" onClick="<?= Refresh('continent', $_COOKIE['Continent']) ?>; window.location.reload();"><img src="./img/refresh.png" alt="" style="width: 16px; height: 16px" /></a>
?>
<?php
< a href= "#" onClick= "<?= Refresh('continent', $_COOKIE ['Continent']) ?>; window.location.reload();" >< img src= "./img/refresh.png" alt= "" style= "width: 16px; height: 16px" /></ a>
?>
Heb ook print_r($_COOKIE); bovenaan de pagina staan en die zegt dat de cookie gewoon blijft bestaan e.d.
Ook heb ik het zo geprobeerd maar helaas:
<?php
foreach($_COOKIE['Continent'] as $value)
{
unset($value);
}
//of
unset($_COOKIE['Continent']);
?>
<?php
foreach ( $_COOKIE [ 'Continent' ] as $value )
{
}
//of
unset ( $_COOKIE [ 'Continent' ] ) ;
?>
Maar die freakin cookie blijft bestaan...
Oplossing:
setcookie('continent', '', time()-3600);
Bovenstaande is opgelost, maar onderstaande niet
Mijn cookies worden nu dus verwijderd maar als ik nu verwijder en dan een nieuwe continent kies en refresh dan verwijderd hij deze ook gelijk terwijl ik de functie in een onclick heb gezet
functie:
<?php
function Refresh($page)
{
if($page == 'continent')
{
setcookie('Continent', '', time()-3600);
setcookie('Country', '', time()-3600);
setcookie('City', '', time()-3600);
}
elseif($page == 'country')
{
setcookie('Country', '', time()-3600);
setcookie('City', '', time()-3600);
}
elseif($page == 'city')
{
setcookie('City', '', time()-3600);
}
}
?>
<?php
function Refresh( $page )
{
if ( $page == 'continent' )
{
}
elseif ( $page == 'country' )
{
}
elseif ( $page == 'city' )
{
}
}
?>
en roep hem nog steeds zo aan:
<a href="#" onClick="<?= Refresh('continent') ?>"><img src="./img/refresh.png" alt="" style="width: 16px; height: 16px" /></a>
<a href="#" onClick="<?= Refresh( 'continent' ) ?> "><img src="./img/refresh.png" alt="" style="width: 16px; height: 16px" /></a>
3 antwoorden
Gesponsorde links
compudoc - 06/03/2007 16:14 (laatste wijziging 06/03/2007 16:18)
PHP beginner
verwijderen kan met setcookie() alleen moet je dan ipv time()+36000 moet je time()-36000
dus: setcookie('naam', 'waarde', date()-tijd);
misschien kan je eerst checken of er al een cookie is aangemaakt en dan kijken of cookie eerst moet worden verwijderd of aangemaakt
Ultimatum - 06/03/2007 16:20 (laatste wijziging 06/03/2007 16:24)
PHP expert
Maar de cookie word hier neit aangemaakt. Dat word in die popup gedaan met javascript...
Edit:
Als ik het zo doe werkt het ook niet..
<?php
function Refresh($page)
{
if($page == 'continent')
{
if(isset($_COOKIE['Continent']))
{
setcookie('Continent', '', time()-3600);
setcookie('Country', '', time()-3600);
setcookie('City', '', time()-3600);
}
}
elseif($page == 'country')
{
if(isset($_COOKIE['Continent']))
{
setcookie('Country', '', time()-3600);
setcookie('City', '', time()-3600);
}
}
elseif($page == 'city')
{
if(isset($_COOKIE['Continent']))
{
setcookie('City', '', time()-3600);
}
}
}
?>
<?php
function Refresh( $page )
{
if ( $page == 'continent' )
{
if ( isset ( $_COOKIE [ 'Continent' ] ) ) {
}
}
elseif ( $page == 'country' )
{
if ( isset ( $_COOKIE [ 'Continent' ] ) ) {
}
}
elseif ( $page == 'city' )
{
if ( isset ( $_COOKIE [ 'Continent' ] ) ) {
}
}
}
?>
compudoc - 06/03/2007 16:25
PHP beginner
misschien kan je een actie instellen bij het aanmaken/verwijderen van de cookie 0=verwijderen, 1=aanmaken (ik zou alleen niet weten hoe omdat ik geen JS ken)
Gesponsorde links
Dit onderwerp is gesloten .