Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Problém se zápisem do souboru...

Ahoj všem... Chtěl bych poradit s anketou kterou jsem stáhl z netu a následně upravil aby fungovala jak má...jenže funguje mě v pc (mám php triadu) ale jakmile je hodím na net (na ic.cz) tak mě anketka napíše chybu při hlasování...
kod mám zde:

$nazev = basename(__FILE__);
$souborip="anketa-ip.php";                      //soubor s ip adresami hlasujících
$soubor="hlasuj.php";                           //soubor s hlasy
$aktualni = $REMOTE_ADDR;                       //aktuální ip adresa


$otazka = "Jak se vám líbí<br /> tyto stránky?";                      //Otázka
$odp = array("Super!!!","Dobrý.","Ujde.","Hrůza!!!");                 //Odpovědi


//Kontrola existence souborů
if (!file_exists($souborip))
 {
  err ($souborip);
  exit;
 }
if (!file_exists($soubor))
 {
  err ($soubor);
  exit;
 }
//Konec kontroly

//Otevření a načtení hlasů
$data = fopen($soubor, "r");
$cti = fread($data, filesize($soubor)+10);
fclose($data);
list($a, $b, $c, $d) = explode( "Đ", $cti);

//Hlasování
if (isset($odpoved))
 {
  if (zjistiip($souborip, $aktualni))
   {
    if ($odpoved == "a") {$a++;}
    elseif ($odpoved == "b") {$b++;}
    elseif ($odpoved == "c") {$c++;}
    elseif ($odpoved == "d") {$d++;}

   $zapsat = "$a" . "Đ" . "$b" . "Đ" . "$c" . "Đ" . "$d" . "Đ";
   $kam = fopen($soubor, "w");
   fwrite($kam, $zapsat);        //zapsání nového hlasu do souboru
   fclose($kam);

   $ipsoubor = fopen($souborip, "r");            //zapsání ip adresy odesílatele hlasu
   $data = fread($ipsoubor, filesize($souborip)+10);
   fclose($ipsoubor);

   $write = $data.$aktualni."Đ";

   $kam = fopen($souborip, "r");
   fwrite($kam,$write);
   fclose($kam);

  }
 }

doplněn tag code (host)

Předmět Autor Datum
//Zobrazení výsledků $celkem = $a+$b+$c+$d; $lidi = $celkem; if ($celkem == 0) { $celkem = "1"; $lid…
Anketa v PHP 15.12.2007 17:20
Anketa v PHP
a následně upravil aby fungovala jak má Jo, to vidíme... :-D Řekl bych, že souborům hlasuj.php a a…
host 15.12.2007 17:42
host
To s tím zápisem už mám upravený...to sem se sekl a všim sem si toho až sem to dal sem :-[ jak mám n…
Anketa v PHP 15.12.2007 17:49
Anketa v PHP
Atribut nastavíš ve FTP klientovi... Že by tam, odkud jsi anketu stáhnul, o tom nic nepsali?
host 15.12.2007 17:56
host
dííky moooc 8-) vyřešeno :beer: poslední
Anketa v PHP 15.12.2007 18:04
Anketa v PHP
//Zobrazení výsledků
$celkem = $a+$b+$c+$d;
$lidi = $celkem;

 if ($celkem == 0)
  {
   $celkem = "1";
   $lidi="0";
  }

$pr = $celkem/100;
$a = number_format($a/$pr,1);
$b = number_format($b/$pr,1);
$c = number_format($c/$pr,1);
$d = number_format($d/$pr,1);


$pismeno = array ("a","b","c","d");
$procenta = array ("$a","$b","$c","$d");
$kolik = "4";

echo "<table border='0' cellpadding='0' cellspacing='0'>\n";
echo "<tr><td colspan='2' class='nadpis'>$otazka</td></tr>\n";

 for ($i=0; $i<$kolik ;$i++ )
  {

   if (zjistiip($souborip, $aktualni))
    {
     echo "<tr><td colspan='2' class='text'><a href=index.php?odpoved=$pismeno[$i]>$odp[$i]</a></ td></tr>\n";
    }
     else
    {
     echo "<tr><td colspan='2' class='text' >$odp[$i]</td></tr>\n";
    }

   echo "<tr><td width='85px'><img src='img/sl_mid2.jpg' height='5px' width='".(($procenta[$i])/1.2)."px'></td><td class='text' width='10px'> $procenta[$i]%</td></tr>\n";
  }
echo "<tr><td colspan='2' class='nadpis'>Počet hlasů: $lidi</td></tr></table>\n";


//funkce pro zjištění ip adresy
function zjistiip($souborip, $ip)
 {

  $ipsoubor = fopen($souborip, "r");
  $data = fread($ipsoubor, filesize($souborip)+10);
  fclose($ipsoubor);
  $ipadresy = explode("Đ",$data);

   if (in_array($ip, $ipadresy))
    {
     return false;     //Pokud již bylo z dané ip adresy hlasováno
    }
   else
    {
     return true;     // pokud nebylo z dané ip hlasováno
    }
 } //konec funkce

píše to tuhle chybu:

Warning: fopen(hlasuj.php) [function.fopen.php]: failed to open stream: Permission denied in /home/free/ic.cz/e/exitcup/root/www/sloupec.php on line 88

Warning: fwrite(): supplied argument is not a valid stream resource in /home/free/ic.cz/e/exitcup/root/www/sloupec.php on line 89

Warning: fclose(): supplied argument is not a valid stream resource in /home/free/ic.cz/e/exitcup/root/www/sloupec.php on line 90

a následně upravil aby fungovala jak má

Jo, to vidíme... :-D

Řekl bych, že souborům hlasuj.php a anketa-ip.php musíš nastavit atribut pro zápis (chmod 777).

A zahlédl jsem tam i nějaké další nesmysly:

$ipsoubor = fopen($souborip, "r");            //zapsání ip adresy odesílatele hlasu

Odkdy se zápis nastavuje atributem "r"?

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