Solved

Unable To Remove Cookies in codeigniter

Posted on 2010-11-28
5
2,998 Views
Last Modified: 2012-08-13
dear

problem is this :

when i am not able to reset cookies but there's two ways one way i can do but another way i cannot.

1. i place one link as domain.com/user/logout

when user click on this then i place code

$this->session>un_set('user_id');
delete_cookie('user_id');
redirect('domain.com','refresh');

in this user redirect to this link then move to domain.com but again user login in..

2. when i call domain.com/user/logout from address bar then it do same function but this do all things as per requirement unset session and delete cookies and user logout.

so please let me know why this happen.. i need when user click on logout button then all done.

Thanks
0
Comment
Question by:activesoftware
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
5 Comments
 
LVL 110

Accepted Solution

by:
Ray Paseur earned 500 total points
ID: 34231520
All instances of a browser share the same cookie jar.  So if you test with more than one window open you will get strange results.  Try closing all your browsers, then opening one and only one window to the app and trying it again.

Not specific to codeigniter, but here is a sample logout script.  Read it over - code and comments, and let me know if there is anything you do not understand.

Best, ~Ray
<?php // RAY_logout_example.php
error_reporting(E_ALL);

// MAN PAGE HERE: http://us.php.net/manual/en/book.session.php
// ALWAYS START THE SESSION ON EVERY PAGE
session_start();

// SEE IF THE CLIENT IS ALREADY LOGGED OUT
if (empty($_SESSION["uid"]))
{
    echo "<br/>YOU ARE NOT LOGGED IN \n";
    echo "<br/>CLICK HERE TO <a href=\"RAY_login_example.php\">LOG IN</a>\n";
    die();
}

// SET THE EXPIRATION FOR COOKIES
$cookie_expires	= time() - date('Z') - 60*60*24; // A 24-HOUR DAY IN SECONDS ( = 86,400 )

// CLEAR THE INFORMATION FROM THE $_SESSION ARRAY
$_SESSION = array();

// IF THE SESSION IS KEPT IN COOKIE, FORCE SESSION COOKIE TO EXPIRE
if (isset($_COOKIE[session_name()]))
{
    setcookie(session_name(), NULL, $cookie_expires, '/');
}

// TELL PHP TO ELIMINATE THE SESSION
session_destroy();


// OPTIONAL - CLEAR ALL COOKIES
// foreach ($_COOKIE as $key => $value)
// {
//    setcookie($key, NULL, $cookie_expires, '/');
// }

// OPTIONAL - REDIRECT TO THE HOME PAGE
// header("Location: /");
// exit;


// GIVE THE CLIENT A LINK TO THE LOGIN
echo "<br/>YOU ARE LOGGED OUT\n";
echo "<br/>CLICK HERE TO <a href=\"RAY_login_example.php\">LOG IN</a>\n";

Open in new window

0
 
LVL 110

Expert Comment

by:Ray Paseur
ID: 34273641
I object to deleting this question -- it's one that seems to appear a lot, and we should have good answers for it in the EE data base.  

If my response was not helpful, you should post back with a question to clarify.  If my response was helpful, you should award the points.  If you found a completely different answer from a separate source you should post that answer with a code sample to illustrate it, and accept it as the solution.  

Thanks, ~Ray
0
 

Expert Comment

by:_alias99
ID: 34367472
Starting the auto-close procedure on behalf of the question asker.

_alias99
Community Support Moderator
0

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If you've heard about htaccess and it sounds like it does what you want, but you're not sure how it works... well, you're in the right place. Read on. Some Basics #1. It's a file and its filename is .htaccess (yes, with a dot in the front). #…
Introduction This article is intended for those who are new to PHP error handling (https://www.experts-exchange.com/articles/11769/And-by-the-way-I-am-New-to-PHP.html).  It addresses one of the most common problems that plague beginning PHP develop…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question