PHP cookie and dynamic insertion

by 3 replies
4
Hello,

I'm trying set cookies for dynamic features. I've been able to get the on page code right that allows me to insert all dynamic features using a custom url string.

i.e.
http://mysites.com/dynamicpage.php?RA_kw=Keyword-
keyword&RA_survey_id=survey_id&RA_id=123&RA_img=im gname

As long as ALL variables are present in the incoming url cookie for each variable sets fine. Upon return visits, user is shown all dynamic cookied features.

Problem 1: If ALL the php variables are NOT present in the url, cookie doesn't set on individual basis.

i.e.

http://mysites.com/dynamicpage.php?RA_kw=Keyword-keyword

Here's the php code:

PHP Code:
<?php
/*    kw = ( Keywords)
    survey_id=survey_id (this variable doesn't change)
    id= ( survey number id)
    img = ( name of image to be pulled from php include.)*/
$kw null;
$survey_id null;
$id null;
$img null;

    if (isset(
$_COOKIE['RA_kw']) 
        && isset(
$_COOKIE['RA_survey_id'])
        && isset(
$_COOKIE['RA_id'])
        && isset(
$_COOKIE['RA_img']))
    {
        
//if cookie variables are already set
    
        //To Do Here:  maybe redirect
        
$kw $_COOKIE['RA_kw'];
        
$survey_id $_COOKIE['RA_survey_id'];
        
$id $_COOKIE['RA_id'];
        
$img $_COOKIE['RA_img'];
        
$_GET['RA_kw'] = $kw;
        
$_GET['RA_survey_id'] = $survey_id;
        
$_GET['RA_id'] = $id;
        
$_GET['RA_img'] = $img;
    }
    else
    {
        
//if cookie varialbes are not set yet

        //set Cookies
        
if (isset($_GET['RA_kw'])){
            
//kw parameter is set
            
setcookie('RA_kw'$_GET['RA_kw'], time() + 60*60*24*30);    //expires in 30 days.
            
$kw $_GET['RA_kw'];
        }
        if (isset(
$_GET['RA_survey_id'])){
            
//survey_id parameter is set
            
setcookie('RA_survey_id'$_GET['RA_survey_id'], time() + 60*60*24*30);    //expires in 30 days.
            
$survey_id $_GET['RA_survey_id'];
        }
        if (isset(
$_GET['RA_id'])){
            
//id parameter is set
            
setcookie('RA_id'$_GET['RA_id'], time() + 60*60*24*30);    //expires in 30 days.
            
$id $_GET['RA_id'];
        }
        if (isset(
$_GET['RA_img'])){
            
//img parameter is set
            
setcookie('RA_img'$_GET['RA_img'], time() + 60*60*24*30);    //expires in 30 days.
            
$img $_GET['RA_img'];
        }

        
//To Do Here: default page
    
}
?>
#programming #cookie #dynamic #insertion #php
  • Not certain what you want to happen. The reason the variables are not being set is because you are referencing something that isn't there.

    How can the code $_GET['RA_kw'] from the url when it doesn't exist?
  • If the data is missing you will need a custom 404 page and let the user know the link cannot be processed as given.
    • [1] reply
    • I think we are missing the point. The problem is that it should set some of the variables if they exist.

      Try showing error/notices and put a die/exit to see the message. It maybe after checking one variable the code crashes.

Next Topics on Trending Feed