Results 1 to 9 of 9

Hybrid View

  1. #1
    Join Date
    Dec 2009
    Location
    Amersfoort, The Netherlands
    Posts
    2,845
    Plugin Contributions
    25

    Default Re: Age verification with cookie in header

    PHP Code:
    if( isset( $_SESSION['age_verification'] ) and $_SESSION['age_verification'] != true ) die( header('Location: http://www.google.com'   ); 
    should be:
    PHP Code:
    if( isset( $_SESSION['age_verification'] ) and $_SESSION['age_verification'] != true ) die( header('Location: http://www.google.com'   )); 
    You missed a closing )

  2. #2
    Join Date
    May 2015
    Posts
    21
    Plugin Contributions
    0

    Default Re: Age verification with cookie in header

    Quote Originally Posted by Design75 View Post
    PHP Code:
    if( isset( $_SESSION['age_verification'] ) and $_SESSION['age_verification'] != true ) die( header('Location: http://www.google.com'   ); 
    should be:
    PHP Code:
    if( isset( $_SESSION['age_verification'] ) and $_SESSION['age_verification'] != true ) die( header('Location: http://www.google.com'   )); 
    You missed a closing )
    Thank you for the response Design75. I updated the code and I still receive a 500 internal error after the first instance of this code. I wonder if where I place the code on the index.php file matters. The template I am running is Winchester responsive. Currently I am placing the following at the top of index.php:

    PHP Code:
        <?php
    session_start
    ();
        if(! isset( 
    $_SESSION['age_verification'] ) or $_SESSION['age_verification'] != true ) die( header("Location: checkage.php?url=http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]") );

        
    // session_destroy(); // uncomment to reset for testing and debugging.

    ?>
    Here is the checkage.php file:
    PHP Code:
    <?php

       
        
    // checkage.php
        
    session_start();

        
    // checkage.php
        
    if( isset( $_POST['yes'] ) )
        {
            
    $_SESSION['age_verification'] = true;

            if( isset( 
    $_GET['url'] ) )
            {
                die( 
    header('Location: ' $_GET['url'] ) ); 
            } 
            else
            {
                die( 
    header('Location: index.php') );
            }
        }
        elseif( isset( 
    $_POST['no'] ) )
        {
            
    $_SESSION['age_verification'] = false;
        }

        
    // The below line will check if someone has already said no so you can show them a page which tells them to they are too young.
        
    if( isset( $_SESSION['age_verification'] ) and $_SESSION['age_verification'] != true ) die( header('Location: http://www.google.com'));

        
    ?>

        <form method="POST" >
        <fieldset>
        <legend>Are you over 18?</legend>
        <input type="submit" name="yes" value="Yes" /> <input type="submit" name="no" value="No" />
        </fieldset>
        </form>

  3. #3
    Join Date
    Jul 2012
    Posts
    16,816
    Plugin Contributions
    17

    Default Re: Age verification with cookie in header

    On a side note, with all the code placed where it is, the form is not presented on a properly setup html page... There's no html, header, or body tags applied from what it looks like...

    Also guessing that you don't want your webpage indexed? As how will an SE navigate the page under the current setup?
    ZC Installation/Maintenance Support <- Site
    Contribution for contributions welcome...

  4. #4
    Join Date
    May 2015
    Posts
    21
    Plugin Contributions
    0

    Default Re: Age verification with cookie in header

    Quote Originally Posted by mc12345678 View Post
    On a side note, with all the code placed where it is, the form is not presented on a properly setup html page... There's no html, header, or body tags applied from what it looks like...

    Also guessing that you don't want your webpage indexed? As how will an SE navigate the page under the current setup?
    Hello mc12345678,

    Attached is a copy of my index.php . I am not too proficient in PHP. I would like to have SE navigate the page if possible.

    Code:
    <?php
       
    session_start(); 
        if(! isset( $_SESSION['age_verification'] ) or $_SESSION['age_verification'] != true ) die( header("Location: checkage.php?
    
    url=http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]") ); 
    
        // session_destroy(); // uncomment to reset for testing and debugging.
    
    
    /**
     * index.php represents the hub of the Zen Cart MVC system
     * 
     * Overview of flow
     * <ul>
     * <li>Load application_top.php - see {@tutorial initsystem}</li>
     * <li>Set main language directory based on $_SESSION['language']</li>
     * <li>Load all *header_php.php files from includes/modules/pages/PAGE_NAME/</li>
     * <li>Load html_header.php (this is a common template file)</li>
     * <li>Load main_template_vars.php (this is a common template file)</li>
     * <li>Load on_load scripts (page based and site wide)</li>
     * <li>Load tpl_main_page.php (this is a common template file)</li>
     * <li>Load application_bottom.php</li>
     * </ul>
     *
     * @package general
     * @copyright Copyright 2003-2005 Zen Cart Development Team
     * @copyright Portions Copyright 2003 osCommerce
     * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
     * @version $Id: index.php 2942 2006-02-02 04:41:23Z drbyte $
     */
    /**
     * Load common library stuff 
     */
      require('includes/application_top.php');
    
      $language_page_directory = DIR_WS_LANGUAGES . $_SESSION['language'] . '/';
      $directory_array = $template->get_template_part($code_page_directory, '/^header_php/');
      foreach ($directory_array as $value) { 
    /**
     * We now load header code for a given page. 
     * Page code is stored in includes/modules/pages/PAGE_NAME/directory 
     * 'header_php.php' files in that directory are loaded now.
     */
        require($code_page_directory . '/' . $value);
      }
    
    
    
    
    /**
     * We now load the html_header.php file. This file contains code that would appear within the HTML <head></head> code 
     * it is overridable on a template and page basis. 
     * In that a custom template can define its own common/html_header.php file 
     */
      require($template->get_template_dir('html_header.php',DIR_WS_TEMPLATE, $current_page_base,'common'). '/html_header.php');
    /**
     * Define Template Variables picked up from includes/main_template_vars.php unless a file exists in the
     * includes/pages/{page_name}/directory to overide. Allowing different pages to have different overall
     * templates.
     */
    
    
    
      require($template->get_template_dir('main_template_vars.php',DIR_WS_TEMPLATE, $current_page_base,'common'). '/main_template_vars.php');
    /**
     * Read the "on_load" scripts for the individual page, and from the site-wide template settings
     * NOTE: on_load_*.js files must contain just the raw code to be inserted in the <body> tag in the on_load="" parameter.
     * Looking in "/includes/modules/pages" for files named "on_load_*.js"
     */
      $directory_array = $template->get_template_part(DIR_WS_MODULES . 'pages/' . $current_page_base, '/^on_load_/', '.js');
      foreach ($directory_array as $value) { 
        $onload_file = DIR_WS_MODULES . 'pages/' . $current_page_base . '/' . $value;
        $read_contents='';
        $lines = @file($onload_file);
        foreach($lines as $line) {
          $read_contents .= $line;
        }
      $za_onload_array[] = $read_contents;
      }
    /**
     * now read "includes/templates/TEMPLATE/jscript/on_load/on_load_*.js", which would be site-wide settings
     */
      $directory_array=array();
      $tpl_dir=$template->get_template_dir('.js', DIR_WS_TEMPLATE, 'jscript/on_load', 'jscript/on_load_');
      $directory_array = $template->get_template_part($tpl_dir ,'/^on_load_/', '.js');
      foreach ($directory_array as $value) { 
        $onload_file = $tpl_dir . '/' . $value;
        $read_contents='';
        $lines = @file($onload_file);
        foreach($lines as $line) {
          $read_contents .= $line;
        }
        $za_onload_array[] = $read_contents;
      }
    
      // set $zc_first_field for backwards compatibility with previous version usage of this var
      if (isset($zc_first_field) && $zc_first_field !='') $za_onload_array[] = $zc_first_field;
    
      $zv_onload = "";
      if (isset($za_onload_array) && count($za_onload_array)>0) $zv_onload=implode(';',$za_onload_array);
    
      //ensure we have just one ';' between each, and at the end
      $zv_onload = str_replace(';;',';',$zv_onload.';');
    
      // ensure that a blank list is truly blank and thus ignored.
      if (trim($zv_onload) == ';') $zv_onload='';
    /**
     * Define the template that will govern the overall page layout, can be done on a page by page basis
     * or using a default template. The default template installed will be a standard 3 column layout. This
     * template also loads the page body code based on the variable $body_code.
     */
      require($template->get_template_dir('tpl_main_page.php',DIR_WS_TEMPLATE, $current_page_base,'common'). '/tpl_main_page.php');
    
    
    ?>
    </html>
    <?php
    
    
    
    
    /**
     * Load general code run before page closes
     */
    ?>
    <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

 

 

Similar Threads

  1. Setting age verification and cookie question, plase advise! ? :)
    By bruceallen in forum Templates, Stylesheets, Page Layout
    Replies: 3
    Last Post: 9 May 2014, 06:02 PM
  2. v150 Age Verification Script
    By jhowe in forum Templates, Stylesheets, Page Layout
    Replies: 2
    Last Post: 7 Aug 2012, 10:58 PM
  3. Age Verification or Restriction
    By Sweet ZouZou in forum General Questions
    Replies: 15
    Last Post: 10 Nov 2010, 09:46 AM
  4. Age Verification
    By signs in forum General Questions
    Replies: 0
    Last Post: 12 Jul 2009, 04:08 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg