Autor Zpráva
roboti006
Profil *
Ahoj. Mám problém s tímto kódem:
<?php
if(file_exists("pocet.txt")){
print "";
}else{
$file=fopen("pocet.txt","a");
fputs($file,"0");
fclose($file);
}
$soubor="pocet.txt";
$file=fopen("$soubor","r+");
$pocet=fgets($file,100);
$pocet++;
fseek($file,0);
fputs($file,$pocet);
fclose($file);
echo $pocet
?>.
asi 20 minut po nahrání přestal fungovat (do té doby šlapal perfektně) a když jsem zkopíroval původní kód ze zálohy, taky už vůbec nic nedělal. Chybu nevypsal, bylo tam jen bílé okno. Prosím o radu. Nutně potřebuju počítadlo ale web si zakládám na tom že všechno vytvořím nebo upravím sám tkže nechci žádný Toplink či tak. Děkuji za radu
Dav
Profil
Ahoj počítadlo toho to typu ti bude dávat obrovské číslo které ale nebude mít moc společného s počtem návštěv, pří každém přechodu mezi jednotlivými články ti bude přičítat jeden vstup což dle mého názoru nesplnuje účel. Musíš do kódu přidat
$_SESSION['nasteva'] 
bude se ti jeden člověk zapisovat jen jednou. Ten tvůj kód sem zatím neměl čas otestovat kouknu se na něj večer.
roboti006
Profil *
Jo už jsem slyšel o session ale nechápu zápis (to jako stačí dát to tam jako proměnnou, nebo je třeba přidat k tomu i funkci, jsem fakt začátečník).
Prvně jsem myslel že až vyřeším toto, že tam dám $remoteADDR či tak nějak je to a že to bude zapisovat do ip.txt a potom kontrolovat (
if ip.txt = $remoteADDR, exit
),
ale zjistil že to zas tak dobře nezvládám, a že to radši nechám tak, taky jsem si našel článek o sessionech ale ten byl moc odborný na antitalenta mého druhu.
Předem děkuji za pomoc
Dav
Profil
Na začátku kódu by mělo být
session_start();
pak už je to v podstatě normální proměnná ale její obsah se při znovu načtení stránky nezmizí až při zavření prohlížeče. Podrobnější návod zde Odkaz
Doplnil bych
if(empty($_SESSION['navsteva'])){
    $pocet++;

    $soubor = fopen('pocet.txt', 'w');
    fwrite($soubor, $pocet);
    fclose($soubor);

    $_SESSION['navsteva'] = true;
}
  

Jeto zápis do souboru s kontrolou aby se jeden člověk zapsal jen jednou, musíš ještě před to doplnit načtení počtu ze souboru.
roboti006
Profil *
Je velký rozdíl mezi ' a " v PHP, nebo můžu používat obě verze nebo si můžu vybrat kterou ale používat ji jen na ten jeden skript?
A to co jsi napsal bude fungovat jako hotové počítadlo? vypadá to nebezpečně krátce ;) ,vidím že jsi tam vypsal funkci počítadla le furt jsem z toho "amatér". Nemělo by tam být spíš na konci nějaké "else close" nebo "else exit" (nevím jak se to v PHP jmenuje...)
A jak je to s podobností PHP a HTML?
Díky,
Dav
Profil
roboti006:
session_start();

  if(!file_exists('pocet.txt')){
    $pocet = 0;
  }
  else {
    $soubor = fopen('pocet.txt', 'r');
    $pocet = fread($soubor, 100);
    fclose($soubor);
  }

  if(empty($_SESSION['navsteva'])){
    $pocet++;

    $soubor = fopen('pocet.txt', 'w');
    fwrite($soubor, $pocet);
    fclose($soubor);

    $_SESSION['navsteva'] = true;
  }
to je celý kód počítadla.

podmínka if je zakončena bud } nebo end if

Dav:
}
ukonču je ten if

a mezi html a php moc podobností není dalo by se říct že skoro žádná ale navzájem se doplnují například formulář v htlm ti předá data která zpracuješ nějakým php scriptem.
roboti006
Profil *
Jo uvědomil jsem si že jen dobře spolupracují. Jak mám teda použít skript v HTML, když nechci dát skript veřejně (na to mám jinou sekci)
prostě ho nějak zamaskovat abych mohl třeba skript použít úplně na jiném webu, a abych nedal hned kód do placu aby ho všichni zkopčili. Jde to vůbec? Vídám služby kde dělají počítadla a dají ti jen kód (né že bych chtěl něco takového zakládat) a funguje ten skript úplně na jiném serveru oni ti tam daj jen ňákej Iframe či jak to řeší to by mě zajímalo.
Dav
Profil
Když použiješ na stránce HTML a PHP tak při zobrazení zdrojového kódu v prohlížeči se zobrazí jen výsledný HTML, PHP se scripty se provedou a zobrazí se pouze výsledky PHP kód nikdo neuvidí pokud se teda nedostane přímo k .php souborům na ftp.
Pokud chceš psát html i php v jednom souboru musí mít koncovku .php můžeš do něj i htlm a php souboru .html se neprovede.
roboti006
Profil *
Dobře. Tak teď jdu najít nějaký podrobnější článek, a jdu na věc Díky moc :)
Dav
Profil
roboti006:
Doporučuju Odkaz

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0