Autor Zpráva
Anonymní
Profil *
Zdravim, potreboval bych poradit. Mam .PHP soubor a chci docilit toho aby bylo mozne vlozit do nejake HTM strnky javascript, ktery by tam vysledek .PHP souboru zobrazil. Asi neco jako maji reklamni systemy, vlozite si skript do stranky a ta vzdalene nacita obsah z PHP skriptu... Hlavne nechci pouit frame spis neco jako je u .PHP funkce include.

Predem diky za odpoved
Tomik
Profil
To co píšeš je dost obecné, ale bude tady asi jediná cesta - AJAX.

Více se dozvíš např. na těchto místech:
- http://citron.blueboard.cz/clanek-239-ajax-navod-pro-zacatecniky.html (od Jirky Zralého)
- http://www.snizekweb.cz/clanky/ajax-kde-jsou-hranice/ (od Martina Snížka)
- http://www.root.cz/clanky/ajax/ (do Jakuba Vrány)

IMHO o moc víc zdrojů v češtině není.
Anonymní
Profil *
TOMIK:
Diky, trochu vic torozeberu. V PHP jsem si vytvoril skript s listickou (zobrazuje nahodna data z jednoho souboru) a ted potrebuju do jinych stranek (HTML) vlozit kod, ktery zajisti ze se tam listicka zobrazi. Neco jako maji treba reklamni systemy, nekde maji skript a serverum davaji javascript, ktery umozni na jejich strance zobrazovani reklamy generovane systemem.

U PHP by se to dalo nahradit funkcí include ale listicku potrebuju vlozit i do HTML souboru, kde by INCLUDE nefungoval. Predem dekuju
Tomik
Profil

function zobraz(stranka)
{
var url = stranka;

if (url != 0)
{
if (window.ActiveXObject)
{
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
httpRequest = new XMLHttpRequest();
}
httpRequest.open("GET", url, true);
httpRequest.onreadystatechange= function () {processRequest(); } ;
httpRequest.send(null);
}
else
{

document.getElementById("mistoZobrazeni").innerHTML = "";

}
}

function processRequest()
{
if (httpRequest.readyState == 4)
{
if(httpRequest.status == 200)
{
document.write(httpRequest.responseText);
}
else
{
alert("Chyba pri nacitani stanky"+ httpRequest.status +":"+ httpRequest.statusText);
}
}
}


Je to zkopírované z výše zmíněného článku na Citrónu, jen lehce upraveno.
Když budeš chcít zobrazit např. stránku http://www.neco.cz/php.php uděláš to takto:


<script type="text/javascript">
/* <![CDATA[ */
zobraz("http://www.neco.cz/php.php");
/* ]]> */
</script>


Ten soubor php.php by měl vracet to co se pak zapíše do dokumentu, tj. bez doctype atd...

Ještě to lze udělat tak, aby si musel klientům předávat menší kód (a nenutit je ukládáat si definice js fcí na svém serveru):

Ty js fce si definuješ u sebe na sereru v např. soubor funkce.js a pak budes dat jen klientum takovyto js kod:

<script src="http://www.mujweb.cz/funkce.js" type="text/javascript"></script>

<script type="text/javascript">
/* <![CDATA[ */
zobraz("http://www.neco.cz/php.php");
/* ]]> */
</script>


Takže budeš dávat klientům cca 6 řádků kódu a to není nejhorší...
Tomik
Profil
Jo ještě dodatek:

Je jasné, že výstup toho php scriptu se zobrazí na místě kde je volána js fce zobraz...
Anonymní
Profil *
tak jsem z toho jelen. Comusím napsat do toho PHP skriptu aby to pro ten javascrit bylo srozumitelne? Kdyz mam skript tento :

<?
function vtip()
{
// cesta k souboru s eshopy
$soubor = "http://www.xxxxx.com/xxxx.txt";

// načtení souboru do pole
$data = file($soubor);

// zjistíme počet vtipů
$pocetvtipu = count($data)-1;

// vytvoříme náhodné číslo
SRand((double)MicroTime()*1e6);
$nahodnecislo = Rand(0,$pocetvtipu);

// vybereme konkretni vtip
$vygenerovano = $data[$nahodnecislo];

// odstranime konec radku
$vygenerovano = chop($vygenerovano);

return $vygenerovano;
}

echo vtip();
?>

Jinak moc dekuju.
Tomik
Profil
To by mělo být ok...
Anonymní
Profil *
kkhgjh,mnn
Toto téma je uzamčeno. Odpověď nelze zaslat.

0