Autor Zpráva
vomackav
Profil *
Zdravím,

mám na stránkách:

<a href='rady/provozni_rad.pdf'>Provozní řád</a> (PDF)<br>

- potřebuji udělat nějakou kontrolu, zda byl provozní řád otevřen (zda bylo na odkaz kliknuto) - nejlépe uložit do proměnné 1 pokud byl soubor otevřen a 0 pokud ne.

Díky V.
Micruss
Profil
těžko říct, jestli uživatel daný soubor (pdf) má otevřený ale dalo by se pomocí JS zjistit jestli na něj kliknul
vomackav
Profil *
To kliknutí by mi stačilo :-)
abc
Profil
Další možnost je odkaz:
<a href='rady/provozni_rad.php'>Provozní řád</a> (PDF)<br>

A v provozni_rad.php uložit, že byl soubor otevřen a následně vyplivnout pdf
vomackav
Profil *
Díky za nápady. Jak by se to dalo řešit pomocí toho JS?
Kubo2
Profil
vomackav:
Jak by se to dalo řešit pomocí toho JS?
html:
<a href="rady/provozni_rad.pdf" onclick=javascript: return zaloguj_otvorenie(this.href)>Provozní řád</a> <small>(PDF)</small><br>

js:
function zaloguj_otvorenie(coho) {
  var cn = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
  cn.open('POST', "rady/log.php?zaloguj=" + coho + "&" + Math.random().toString());
  cn.send();
  return true;  
}

php:
<?php
if (strtoupper($_SERVER['SERVER_METHOD'] != "POST") {
  @header("HTTP/1.1 400 Bad Request");
  echo "Only POST is allowed.";
  die;
}

if (!empty($_GET["zaloguj"])) {
  @header("HTTP/1.1 400 Bad Request");
  echo "Empty or missing parameter zaloguj.";
  die;
}

$fname = "suborovy-log.log";
$contents = "+1 hit to file $_GET[zaloguj]\n";
@touch($fname);

if (!$fp = @fopen($fname, 'a'))
  exit;

fwrite($fp, $contents);
fclose($fp);

EDIT://No vidím, že som sa dosť rozpísal.
Ale to je len tak námatkovo napísané, PHP je potrebné ak chceš kliknutia na ten odkaz aj natrvalo zaznamenávať.
Vznikne ti v podstate súbor suborovy-log.log v adresari rady/, ktory bude normalne parsovatelny.
Amunak
Profil
vomackav:
Proč to potřebuješ? Chceš počítat stáhnutí, anebo chceš zajišťovat nějaký (třeba i právně vymahatelný) souhlas? Jestli jde o nějaké podmínky používání [webu] nebo tak něco, můžeš třeba pro první návštěvu zobrazit výzvu pro přečtení. Pokud jsou to třeba podmínky registrace, stačí, když tam budeš mít zaškrtávátko "četl jsem a souhlasím s podmínkami (odkaz)". Z principu obvykle není potřeba vymýšlet takové složitosti. Navíc takováhle detekce je stejně dost pofidérní a není spolehlivá.
vomackav
Profil *
Je to požadavek shora a tomu člověk může horko těžko vysvětlovat že toto není standartní postup ověření, zda si někdo přečetl řád či nikoliv.
Zaškrtávátko tam mám. Spíš bude jednodušší přesvědčit zadavatele, že se to takto neřeší.
Díky V.


A díky všem za rady, typy a nápady :-)

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:

0