Autor Zpráva
KUKYn
Profil *
Zdravím všechny,
rád bych, kdyby mi někdo mohl pomoci při řešení mého problému. Věci se mají následovně.
Mám udělaný skript na PHP nástěnku - princip je takový že uživatel vyplní formulář a když jej odešle v PHP se automaticky zadané hodnoty vyplní do předdefinované HTML šablonky a uloží se na začátek textového souboru (slouží jako "databáze"). Obsah souboru se poté pouze funkcí include vloží do stránky. Potřebuji však aby na každý třetí příspěvek se použila jiná předdefinovaná HTML šablonka. To jsem chtěl udělat tak že jsem vytvořil textový soubor do kterého jsem předepsal číslo "3" a pokaždé když se vloží příspěvek se toto číslo o jedničku zvětší. Ve skriptu ověřím zda-li číslo je dělitelné třemi bezezbytku a když jo tak použiji druhou šablonku. Problém je však ten že poprvé mi to projde v pořádku avšak místo aby se z čísla "3" stalo číslo "4" je v textovém souboru hodnota "13". Při dalších průchodech tato hodnota neznámo proč zůstává stejná a vkládá mi to pořád druhou šablonku jako kdyby to číslo bylo pořád dělitelné třema. Rád bych kdyby mi někdo pomohl aby to správně přičítalo po jedný a aby to správně dělilo (13 není dělitelné 3 bezezbytku a přesto to použije šablonu jako kdyby bylo). Předem děkuji za pomoc.

Zde přikládám kód:
  $old = @fread(@fopen("board.dat","r"),@filesize("board.dat")); 
  $poradove_cislo = fopen("poradove_cislo.txt","r");
  $delitel = 3;
  $zbytek = bcmod($poradove_cislo,$delitel);
  if ($zbytek==0) {
  $new = "sablona kdyz je delitelny bezezbytku"; 
  } else {
  $new = "sablona kdyz neni delitelny bezezbytku"; 
}
 $old = $new.$old; 
  $f = fopen("board.dat","w"); 
  fputs($f,$old); 
  fclose($f);
  $f2 = fopen("poradove_cislo.txt","w");
  $nove_poradove = ($poradove_cislo + 1);
  fputs($f2,$nove_poradove);
  fclose($f2);
 
Alphard
Profil
V $poradove_cislo máte ukazatel na soubor, ne číslo.

Zkuste před
 $f2 = fopen("poradove_cislo.txt","w");

vložit fclose(). Jestli máte PHP 5, bude jednodušší kombinace file_put_contents() a file_get_contents().
KUKYn
Profil *
Děkuji mockrát za pomoc. Využil jsem Vámi doporučenou kombinaci file_put_contents() a file_get_contents() a vše funguje jak má.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: