Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Problema cookie

  1. #1

    Problema cookie

    Buongiorno ragazzi,
    il mio problema è che quando vado in una pagina di conferma, dove devo andare a riprendere i valori settati nelle cookie, al primo caricamento mi dà "Notice: Undefined index: ..." !
    Appena aggiorno la pagina invece me li carica.

    Vi posto un pezzo di codice:

    Codice PHP:
    <?php  
    $num 
    $_COOKIE['count'];  
    $page_title="Conferma";
    if(
    $num 0){  
        
    $azienda=$_COOKIE['azienda'];    
        
    $nome=$_COOKIE['nome'];    
        
    $cognome=$_COOKIE['cognome']; 
        
    $indirizzo=$_COOKIE['indirizzo'];   
        
    $cap=$_COOKIE['cap'];   
        
    $citta$_COOKIE['citta']; 
        
    $provincia=$_COOKIE['provincia'];  
        
    $email=$_COOKIE['email'];    
        
    $settore=$_COOKIE['settore'];   
        
    $prefisso=$_COOKIE['prefisso'];   
        
    $numero=$_COOKIE['numero'];  
    }  
    include (
    "../head_ordini.php"); 
     
    // Invio E - MAIL    
    require('../PDF/fpdf.php');   
    require(
    '../PDF/class.phpmailer.php');
    include(
    "../PDF/class.smtp.php");
        
    $pannello explode(","$_COOKIE["pannello"]);
    $bordo explode(","$_COOKIE["bordo"]);
    $produttore explode(","$_COOKIE["produttore"]); 
    $qualita explode(","$_COOKIE["qualita"]);    
    $finitura explode(","$_COOKIE["finitura"]);    
    $verniciato explode(","$_COOKIE["verniciato"]);    
    $pronto explode(","$_COOKIE["pronto"]);

     
    // ...CODICE PER INVIO MAIL CON PDF ...

    <div class='alert alert-info'>    
    <
    span class="glyphicon glyphicon-ok-sign"></span>    
    IL SUO ORDINE E' STATO INSERITO CON SUCCESSO</div>
    <br />
    <a href='
    ../../web/products.php?action=reset' class="btn btn-default btn-lg" >   
    <span class="glyphicon glyphicon-file"></span> Nuovo ordine</a>
    <a href='
    ../../web/PDF/viewPDF.php?azienda=<?php echo $azienda ?>&
    nome=<?php echo $nome ?>&
    cognome=<?php echo $cognome ?>&
    indirizzo=<?php echo $indirizzo ?>&
    cap=<?php echo $cap ?>&
    citta=<?php echo $citta ?>&
    provincia=<?php echo $provincia ?>&
    email=<?php echo $email ?>&
    settore=<?php echo $settore ?>&
    prefisso=<?php echo $prefisso ?>&
    numero=<?php echo $numero ?>'
    class="btn btn-default btn-lg" > 
    <span class="glyphicon glyphicon-download"></span> Scarica il resoconto dell'ordine in PDF</a>
    <?php include ("../layout_foot.php"?>

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    inizia lo script con un

    Codice PHP:
    if(isset($_COOKIE['count'])) {
        
    // tutto il tuo codice
    }
    else {
       
    // fai altro


  3. #3
    Non funziona così, perchè il count è già settato da prima e lo prende in ogni caso.
    Invece gli altri campi li ho settati praticamente dentro la pagina controller, in questo modo:
    Codice PHP:
    case 'insert'
           
    $ordine=new OrdiniRecord();   
           
    $ordine->setAzienda($_POST['azienda']);
           
    $ordine->setNome($_POST['nome']); 
           
    $ordine->setCognome($_POST['cognome']);
           
    $ordine->setIndirizzo($_POST['indirizzo']);    
           
    $ordine->setNumero($_POST['numero']);     
           
    $ordine->setCap($_POST['cap']);           
           
    $ordine->setCitta($_POST['citta']);      
           
    $ordine->setProvincia($_POST['provincia']);     
           
    $ordine->setEmail($_POST['email']);  
           
    $ordine->setSettoreId($_POST['settoreId']);
           
    $ordine->setPrefisso($_POST['prefisso']);  
           
    $ordine->setCookie();         
           
    $ordine->save();   
           require(
    'Conferm.php');
           break; 

    dove "setCookie()" fà questo:

    Codice PHP:
    public function setCookie(){ 
            
    $sett=$this->getSettore()->getDescrizione();
            
    setcookie('azienda',$this->getAzienda());      
            
    setcookie('nome',$this->getNome());      
            
    setcookie('cognome',$this->getCognome());  
            
    setcookie('indirizzo',$this->getIndirizzo());
            
    setcookie('numero',$this->getNumero()); 
            
    setcookie('cap',$this->getCap());      
            
    setcookie('citta',$this->getCitta());  
            
    setcookie('provincia',$this->getProvincia());
            
    setcookie('email',$this->getEmail());
            
    setcookie('settore',$sett);   
            
    setcookie('prefisso',$this->getPrefisso());
     


  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ma perché settare tutti quei cookie?
    Creane solo uno e come contenuto ci metti un array in formato JSON con tutte le entry che ti servono, così non devi stare a contare niente, vedi solo se il cookie esiste oppure no.
    Codice PHP:
    public function setCookie()
    {
            
    $cookie = array(
                    
    'azienda' => $this->getAzienda(),
                    
    'nome' => $this->getNome(),
                    ...
            );
     
            
    $cookie json_encode($cookie);

            
    setcookie('mio_cookie',$cookie);

    Così poi verifichi solo
    Codice PHP:
    if ( isset($_COOKIE['mio_cookie']) )
    {
            
    // le operazioni da svolgere se il cookie è presente

            // per riprendere i valori del cookie
            
    $cookie json_decode($_COOKIE['mio_cookie'], true);

            
    // ora $cookie contiene un array con tutte le entry settate
    }
    else
    {
            
    // setti il cookie o fai quello che serve


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.