Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Php - cookies - rada, nefunguje mi?

Ahoj, učím se php, takže se neděste neefektivního zpracování, vysvětlím oč jde, zkouším si vyrobit takové malé hlasování s cookies.

Program funguje dobře, ale jeho hlavní funkce nefunguje, cookies je nastavený na 10 minut, každých 10 minut může uživatel hlasovat, ale to cookies nefunguje, stále píše že neexistuje, prosím o radu, kde je problém.

Děkuji všem za rady.

<?php
  
  
  $pocet=0;
  $soubor = "moje.txt";
  $kukis =  $soubor."hlasovani";
  echo $kukis;
  
  if(!isset($_COOKIE[$kukis])) {
  echo "kukis  NEexistuje";
                SetCookie ($kukis, "1", time()+10*60);  
            
                    if(!file_exists($soubor)){
                       
                        $file=fopen($soubor,"a"); //pozice kam se bude zapisovat v souboru
                        fputs($file,"0"); //zapíše nulu
                        fclose($file);//zavře soubor
                        
                    }else{
                        $file=fopen("$soubor","r+");//otevření souboru
                        $pocet=fgets($file);    //získání předešlé hodnoty
                        $pocet++; //přičte jedničku
                        fseek($file,0); //pozice kam se bude zapisovat v souboru
                        fputs($file,$pocet);  //zapíše aktuální hodnotu do souboru
                        fclose($file);  //zavře soubor
                    }
                 echo $pocet; //vypíše aktualní hodnotu    
      
  }else{
        echo "kukis jiz existuje";
                   if(!file_exists($soubor)){
                        $file=fopen($soubor,"a"); //pozice kam se bude zapisovat v souboru
                        fputs($file,"0"); //zapíše nulu
                        fclose($file);//zavře soubor
                    }else{
                        $file=fopen("$soubor","r+");//otevření souboru
                        $pocet=fgets($file);    //získání předešlé hodnoty
                        //  $pocet++; //přičte jedničku
                        fseek($file,0); //pozice kam se bude zapisovat v souboru
                        fputs($file,$pocet);  //zapíše aktuální hodnotu do souboru
                        fclose($file);  //zavře soubor
    
                        echo $pocet;
                    }
  }
      
      
      
      
  ?>
Předmět Autor Datum
Nemůžeš nastavit cookies po té co něco vypíšeš, např. pomocí echo. Nejdřív musíš nastavit cookies a…
patrik147 25.05.2013 12:27
patrik147
Díky za radu, upravil jsem na: A porad je to stejne.. <?php $pocet=0; $soubor = "moje.txt"; $kukis… poslední
MašinkaTomáš 25.05.2013 12:33
MašinkaTomáš

Díky za radu, upravil jsem na:
A porad je to stejne..

  <?php
  
  
  $pocet=0;
  $soubor = "moje.txt";
  $kukis =  $soubor."hlasovani";

  
  if(!isset($_COOKIE[$kukis])) {

                SetCookie ($kukis, "1", time()+10*60);  
                  echo "kukis  NEexistuje";
                    if(!file_exists($soubor)){
                       
                        $file=fopen($soubor,"a"); //pozice kam se bude zapisovat v souboru
                        fputs($file,"0"); //zapíše nulu
                        fclose($file);//zavře soubor
                        
                    }else{
                        $file=fopen("$soubor","r+");//otevření souboru
                        $pocet=fgets($file);    //získání předešlé hodnoty
                        $pocet++; //přičte jedničku
                        fseek($file,0); //pozice kam se bude zapisovat v souboru
                        fputs($file,$pocet);  //zapíše aktuální hodnotu do souboru
                        fclose($file);  //zavře soubor
                    }
                 echo $pocet; //vypíše aktualní hodnotu    
      
  }else{
        echo "kukis jiz existuje";
                   if(!file_exists($soubor)){
                        $file=fopen($soubor,"a"); //pozice kam se bude zapisovat v souboru
                        fputs($file,"0"); //zapíše nulu
                        fclose($file);//zavře soubor
                    }else{
                        $file=fopen("$soubor","r+");//otevření souboru
                        $pocet=fgets($file);    //získání předešlé hodnoty
                        //  $pocet++; //přičte jedničku
                        fseek($file,0); //pozice kam se bude zapisovat v souboru
                        fputs($file,$pocet);  //zapíše aktuální hodnotu do souboru
                        fclose($file);  //zavře soubor
    
                        echo $pocet;
                    }
  }
      
      
      
      
  ?> 

Zpět do poradny Odpovědět na původní otázku Nahoru