Board index   FAQ   Search  
Register  Login
Board index PHP PHP General

I have a problems with cookies

General discussions related to php

Moderators: macek, egami, gesf

I have a problems with cookies

Postby TheShin » Tue Oct 23, 2012 10:12 am

hi all, i'm newbie in PHP and i'm trying using cookies to transport variables through pages.
But cookies don't want to work... here i'm going to paste my codes.

HERE'S THE HTML FORM
Code: Select all
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Documento senza titolo</title>
<link href="CSS/index.css" rel="stylesheet" type="text/css" />

</head>

<body>

<p align="center">
   <div class="corpo_pagina">
   
       <!-- INIZIO MENU PRINCIPALE -->
   
        <ul class="menu">
           <a href="index.html"><li class="logo"></li></a>
            <a href="index.html"><li class="negozio" style="background-position:bottom"></li></a>
        </ul>
       
        <!-- FINE MENU PRINCIPALE -->
       
        <div class="corpo_testo">
           
           
               <form action="PHP/negozio_elaborazione.php" method="GET">
                <br>
                <br>
                INSERIRE I DATI PERSONALI
                <br>
                <br>
                <input type="text" name="nome" value="NOME" onfocus = "this.value = '';" onblur  = "if(this.value == '') this.value = 'NOME'">
                <input type="text" name="cognome" value="COGNOME" onfocus = "this.value = '';" onblur  = "if(this.value == '') this.value = 'COGNOME'">
                <input type="text" name="indirizzo" value="INDIRIZZO" onfocus = "this.value = '';" onblur  = "if(this.value == '') this.value = 'INDIRIZZO'">
                <input type="text" name="citta" value="CITT&Agrave;" onfocus = "this.value = '';" onblur  = "if(this.value == '') this.value = 'CITT&Agrave;'">
                <input type="text" name="provincia" value="PROVINCIA" onfocus = "this.value = '';" onblur  = "if(this.value == '') this.value = 'PROVINCIA'">
                <br>
                <br>
                SCEGLIERE IL TIPO DI FINESTRA
                <br>
                <br>
                <select name="tipo">
                <option name="finestra">Finestra</option>
                <option name="porta_finestra">Porta Finestra</option>
                </select>
                <br>
                <br>
                SCEGLIERE IL NUMERO DI ANTE
                <br>
                <br>
                <select name="ante">
                <option name="1anta">Un&#39;Anta</option>
                <option name="2ante">Due Ante</option>
                <option name="3ante">Tre Ante</option>
                <option name="4ante">Quattro Ante</option>
                </select>
                <br>
                <br>
                SCEGLIERE IL TIPO DI APERTURA
                <br>
                <br>
                <select name="apertura">
                <option name="scorrevole">Alzante Scorrevole</option>
                <option name="ribalta">Anta Ribalta</option>
                <option name="parallelo">Scorrevole in Parallelo</option>
                </select>
                <br>
                <br>
                SCEGLIERE IL TIPO DI MATERIALE
                <br>
                <br>
                <select name="materiale">
                <option name="legno">Legno</option>
                <option name="legno_alluminio">Legno/Alluminio</option>
                </select>
                <br>
                <br>
                SCEGLIERE IL COLORE A SECONDA DEL MATERIALE
                <br>
                <br>
                SE SCELTO <b>LEGNO</b>:
                <select name="colore_legno">
                <option name="COLORE_LEGNO">SCEGLI COLORE</option>
                <option name="colore1">Colore1</option>
                <option name="colore2">Colore2</option>
                <option name="colore3">Colore3</option>
                <option name="colore4">Colore4</option>
                <option name="colore5">Colore5</option>
                <option name="colore6">Colore6</option>
                </select>
                &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
                SE SCELTO <b>LEGNO/ALLUMINIO</b>:
               
                <select name="colore_alluminio">
                <option name="COLORE_ALLUMINIO">SCEGLI COLORE</option>
                <option name="colore2">Colore1</option>
                <option name="colore3">Colore2</option>
                <option name="colore4">Colore3</option>
                <option name="colore5">Colore4</option>
                <option name="colore6">Colore5</option>
                </select>
                <br>
                <br>
                <input type="submit" name="submit" value="Avanti">
               </form>
                <form action="PHP/back.php" method="get">
                <input type="submit" name="index_back" value="Indietro">
                </form>
            <div>
               
            </div>
           
        </div>
       
   </div>
</p>

</body>
</html>


THE CONFIRMATION PHP PAGE WITH setcookie()
Code: Select all
<?php


   mysql_connect('localhost','root','');
   mysql_query("CREATE DATABASE scacaroni");
   mysql_select_db("scacaroni");
   mysql_query("CREATE TABLE finestre
            (
               id int auto_increment primary key not null,
               nome varchar(200) not null,
               cognome varchar(200) not null,
               indirizzo varchar(200) not null,
               citta varchar(200) not null,
               provincia varchar(200) not null,
               data date not null,
               tipo varchar(200) not null,
               ante varchar(200) not null,
               apertura varchar(200) not null,
               materiale varchar(200) not null,
               colore varchar(200) not null,
               prezzo varchar(20) not null
            )");


   $tipo = $_GET["tipo"];
   $ante = $_GET["ante"];
    $apertura = $_GET["apertura"];
   $materiale = $_GET["materiale"];
   $data_sql = date ("Y-m-G");
   $data = date ("G-m-Y");
   $ora = date ("H:i");
   $nome = $_GET["nome"];
   $cognome = $_GET["cognome"];
   $indirizzo = $_GET["indirizzo"];
   $citta = $_GET["citta"];
   $provincia = $_GET["provincia"];
   $colore_legno = $_GET["colore_legno"];
   $colore_alluminio = $_GET["colore_alluminio"];
   
   setcookie("tipo", $tipo);
   setcookie("ante", $ante);
   setcookie("apertura", $apertura);
   setcookie("materiale", $materiale);
   setcookie("data", $data_sql);
   setcookie("nome", $nome);
   setcookie("cognome", $cognome);
   setcookie("indirizzo", $indirizzo);
   setcookie("citta", $citta);
   setcookie("provincia", $provincia);
   setcookie("colore_legno", $colore_legno);
   setcookie("colore_alluminio", $colore_alluminio);

   if(isset($tipo) && isset($ante) && isset($apertura) && isset($materiale) && $nome != "NOME" && $cognome != "COGNOME" && $indirizzo != "INDIRIZZO")
   {
      echo "LA SUA SCELTA CONSISTE IN:<br/><br/>";
      echo "<li>Una <b>".$tipo."</b><br/><br/></li>";
      echo "CON LE SEGUENTI CARATTERISTICHE:<br/><br/><li>Ante desiderate: ........ <b>".$ante."</b><br/></li>";
      echo "<li>Tipo di apertura: ....... <b>".$apertura."</b></li>";
      echo "<li>Materiale: ................. <b>".$materiale."</b></li>";

      if($materiale == "Legno" && $colore_legno != "SCEGLI COLORE" && $colore_alluminio == "SCEGLI COLORE")
      {
         echo "<li>Colore: ................. <b>".$colore_legno."</b></li>";
      }

      if($materiale == "Legno/Alluminio" && $colore_alluminio != "SCEGLI COLORE" && $colore_legno == "SCEGLI COLORE")
      {
         echo "<li>Colore: ................. <b>".$colore_alluminio."</b></li>";
      }
      if($materiale == "Legno/Alluminio" && $colore_legno != "SCEGLI COLORE" && $colore_alluminio == "SCEGLI COLORE" || $materiale == "Legno" && $colore_alluminio != "SCEGLI COLORE" && $colore_legno == "SCEGLI COLORE")
      {
         echo "<li>Scegli il colore giusto per il tipo di materiale o sarà impossibile continuare</li>";
      }

      echo "<br><br>L'ordine del Sig. <b>".$cognome."&nbsp".$nome."</b>, residente in:
                <br><br>
                Indirizzo: <b>".$indirizzo."</b><br>
                 Città: <b>".$citta."</b><br>
                 Provincia: <b>".$provincia."</b><br><br>
                 è stato effettuato in data:&nbsp";
      echo "<b>".$data."</b>, ";
      echo "alle ore:&nbsp";
      echo "<b>".$ora."</b>";

      echo "<br><br>Se l'ordine effettuato corrisponde con le scelte desiderate, cliccare su <b>Continua</b>, altrimenti su <b>Indietro</b>";

      if($materiale == "Legno/Alluminio" && $colore_legno == "SCEGLI COLORE" && $colore_alluminio != "SCEGLI COLORE" || $materiale == "Legno" && $colore_alluminio == "SCEGLI COLORE" && $colore_legno != "SCEGLI COLORE")
      {
      echo '<br><br><form method="get" action="completa_ordine.php">
              <input type="submit" name="continua" value="Continua">
           </form>';
      }
      if($materiale == "Legno/Alluminio" && $colore_legno != "SCEGLI COLORE" && $colore_alluminio == "SCEGLI COLORE" || $materiale == "Legno" && $colore_alluminio != "SCEGLI COLORE" && $colore_legno == "SCEGLI COLORE")
      {
         echo '<br><br><b>Impossibile continuare</b>';
      }

      echo '<form method="get" action="back.php">
              <input type="submit" name="finestre_back" value="Indietro">
           </form>';

   }
   else
   {
      echo "Impossibile completare l'ordine, inserire <b>TUTTI</b> i campi";
      echo '<br><br><form method="get" action="back.php">
              <input type="submit" name="finestre_back" value="Indietro">
           </form>';
   }
?>


THE FINAL PHP PAGE THAT JAVE TO INHERIT VARIABLES FROM THE CONFIRMATION PAGE
Code: Select all
<?php

   error_reporting (E_ALL ^ E_NOTICE);
   
$tipo = $_COOKIE["tipo"];
$ante = $_COOKIE["ante"];
$apertura = $_COOKIE["apertura"];
$materiale = $_COOKIE["materiale"];
$data_sql = $_COOKIE["data"];
$data = date ("G-m-Y");
$ora = date ("H:i");
$nome = $_COOKIE["nome"];
$cognome = $_COOKIE["cognome"];
$indirizzo = $_COOKIE["indirizzo"];
$citta = $_COOKIE["citta"];
$provincia = $_COOKIE["provincia"];
$colore_legno = $_COOKIE["colore_legno"];
$colore_alluminio = $_COOKIE["colore_alluminio"];
   
   
      /*mysql_connect("locahost", "root", "");
      mysql_select_db("scacaroni");
      mysql_query("INSERT INTO finestre (nome,indirizzo,citta,provincia,data,tipo,ante,apertura,materiale,colore,prezzo)
                  VALUES ('$nome','$indirizzo','$citta','$provincia','$data','$tipo','$ante','$apertura','$materiale','$colore','$prezzo')");*/
      
      echo "LA SUA SCELTA CONSISTE IN:<br/><br/>";
      echo "<li>Una <b>".$tipo."</b><br/><br/></li>";
      echo "CON LE SEGUENTI CARATTERISTICHE:<br/><br/><li>Ante desiderate: ........ <b>".$ante."</b><br/></li>";
      echo "<li>Tipo di apertura: ....... <b>".$apertura."</b></li>";
      echo "<li>Materiale: ................. <b>".$materiale."</b></li>";

      if($materiale == "Legno" && $colore_legno != "SCEGLI COLORE" && $colore_alluminio == "SCEGLI COLORE")
      {
         echo "<li>Colore: ................. <b>".$colore_legno."</b></li>";
      }

      if($materiale == "Legno/Alluminio" && $colore_alluminio != "SCEGLI COLORE" && $colore_legno == "SCEGLI COLORE")
      {
         echo "<li>Colore: ................. <b>".$colore_alluminio."</b></li>";
      }
      if($materiale == "Legno/Alluminio" && $colore_legno != "SCEGLI COLORE" && $colore_alluminio == "SCEGLI COLORE" || $materiale == "Legno" && $colore_alluminio != "SCEGLI COLORE" && $colore_legno == "SCEGLI COLORE")
      {
         echo "<li>Scegli il colore giusto per il tipo di materiale o sar� impossibile continuare</li>";
      }

      echo "<br><br>L'ordine del Sig. <b>".$cognome."&nbsp".$nome."</b>, residente in:
                <br><br>
                Indirizzo: <b>".$indirizzo."</b><br>
                 Città: <b>".$citta."</b><br>
                 Provincia: <b>".$provincia."</b><br><br>
                 è stato effettuato in data:&nbsp";
      echo "<b>".$data."</b>, ";
      echo "alle ore:&nbsp";
      echo "<b>".$ora."</b>";

?>
TheShin
New php-forum User
New php-forum User
 
Posts: 1
Joined: Tue Oct 23, 2012 10:06 am

Re: I have a problems with cookies

Postby seandisanti » Tue Oct 23, 2012 3:08 pm

What exactly is going on that they're not working? a couple of things to watch for, that jump out at me just glancing over your code. 1) set expiration on cookies if you want them to persist after the browser closes. 2) when you set a cookie, it has to be the first output to the page like other headers. 3) Have you considered using session variables instead of cookies? You have a fair amount of cookies being stored on the client machine, you may actually benefit from using session variables to keep the data local to your server. If you've not played with session variables, check out jream.com, he's got a decent 5 minute session tutuorial that can help make sense of sessions even if you've never heard the term.
seandisanti
php-forum Fan User
php-forum Fan User
 
Posts: 838
Joined: Mon Oct 01, 2012 12:32 pm


Return to PHP General

Who is online

Users browsing this forum: Majestic-12 [Bot] and 1 guest

Sponsored by Sitebuilder Web hosting and Traduzioni Italiano Rumeno and antispam for cPanel.

cron