LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> Chat

Edituj záznam
Kategorie: PHP
Programovací jazyk: PHP
Domovská stránka:
Download:
Tvůrce:
Popis skriptu: Jednoduchy chat bez SQL
Nároky na klienta:
Nároky na server:
Kód s komentáři:
<-- index.php --> 

<? 
require "./const.php"

ClearStatCache(); // vymaz vyrovnavaciu pamet 

if(!File_Exists($subor)) // ak subor neexistuje - vytvor ho 
    
FClose(FOpen($subor,"w")); 
?> 
<html> 
<head> 
    <title>Jednoduchý "chat"</title> 
</head> 

<frameset rows="100,*,20"> 
    <frameset cols="34%,*"> 
        <frame src="head.php?oldSize=<?ClearStatCache(); echo FileSize($subor)?>" name="head"> 
        <frame src="form.php?name=&sprava=" name="form"> 
    </frameset> 
    <frame src="show.php" name="show"> 
</frameset> 

</html> 


<-- show.php --> 

<? 
Header
("Pragma: no-cache"); 
Header("Cache-control: no-cache"); 
Header("Expires: ".GMDate("D, d m Y H:i:s")." GMT"); 
?> 
<html> 
<head> 
    <title>Zobrazenie odkazov</title> 
</head> 
<body bgcolor="#cccccc"> 
<p style="font-family: 'ARIAL CE', 'HELVETICA CE','ARIAL','HELVETICA'; font-size: 12px;"> 
<? 
require "./const.php"// nacitaj "konstanty" 

$fp FOpen($subor,"r"); // otvor subor na citanie 

ClearStatCache(); // vymaz vyrovnavaciu pamet 
$velkostSuboru FileSize($subor); // zisti velkost suboru 

if($velkostSuboru $maxOdkazByte// uz mam v datovom subore viac sprav ako maxPocetOdkaz ? 
    
FSeek($fp,$velkostSuboru $maxOdkazByte); // zmen poziciu na poslednych maxPocetOdkaz 

FPassThru($fp); // vypis suboru od aktualnej pozicie & zatvor subor 
?> 
</p> 
</body> 
</html> 

<-- form --> 

<html> 
<!-- Ak nie je vyplnene meno - zameraj nan kurzor. Inak zameraj na spravu. --> 
<body bgcolor="#666666" onLoad="if(document.f.meno.value.length) document.f.sprava.focus(); else document.f.meno.focus();"> 
<? 
require "./const.php"

if(
$sprava != ""): // ak sprava nieco obsahuje 

    
if($meno == ""
        
$meno "anonym"// ak uzivatel nezadal meno bude "anonym" 
    
else 
        
$meno StripSlashes(StrTr($meno,"<>&","***")); // odstran lomitka spred citlivych znakov a nahradi niektore nebezpecne znaky 

    
$sprava StripSlashes(StrTr($sprava,"<>&","***")); // odstran lomitka spred citlivych znakov a nahradi niektore nebezpecne znaky 

    
$fp fopen($subor,"a"); // otvor subor pre doplnenie 
    
fputs($fp,sprintf($format,$meno,$sprava)); // naformatuj odkaz a zapis ho do suboru 
    
fclose($fp); // zatvor subor 
    
?> 
        <script language="JavaScript"> 
        parent.frames["show"].location = "show.php" // bola pridana sprava, obnov zobrazenie odkazov 
        </script> 
    <? 
    
endif; 
?> 
<form method=post name="f"> 
<table border="0" align="center"> 
    <tr align="center"> 
        <td>meno</td> 
        <td>správa</td> 
    </tr> 
    <tr align="center" valign="baseline"> 
        <td><input type="text" name="meno" size="8" maxlength="<?echo $maxDlzkaMeno?>" value="<?echo $meno?>"></td> 
        <td><input type="text" name="sprava" size="40" maxlength="<?echo $maxDlzkaSprava?>"> <input type=submit value=" Ok "></td> 
    </tr> 
</table> 
</form> 
</body> 
</html> 


<-- head.php --> 

<? 
Header
("Pragma: no-cache"); 
Header("Cache-control: no-cache"); 
Header("Expires: ".GMDate("D, d m Y H:i:s")." GMT"); 
?> 
<html> 
<head> 
    <title>Kontrola nových odkazov</title> 
    <style type="text/css"> 
        input { 
            background-color: #666666; 
            color: #000000; 
            border-left: 0px; 
            border-right: 0px; 
            border-top: 0px; 
            border-bottom: 0px; 
        } 
    </style> 
</head> 
<body bgcolor="#666666"> 
<? 
require "./const.php"

ClearStatCache(); // vymaz vyrovnavaciu pamet 
$newSize FileSize($subor); // zisti velkost suboru 

if($newSize != $oldSize): // pribudol novy odkaz ? 
?> 
    <script language="JavaScript"> 
    parent.frames["show"].location = "show.php" // obnov ramec "show" 
    </script> 
<? 
endif; 
?> 
<form name="form"> 
Kontrola nastane za <input type="text" name="timer" size="3" readonly> s 
</form> 

<script language="JavaScript"> 
var t = 10 // konstanta v sekundach znovunacitania stranky 

function Timer(){ 
    document.form.timer.value = t // vypis do formulara 
    if(!t) // uplynula doba casovaca 
        parent.frames["head"].location = "head.php?oldSize=<?echo $newSize?>
    else{ 
        t-- 
        setTimeout("Timer()",999) // spusti opat o 1 sekundu 
        } 
    } 
Timer() // spustenie odpocitavania 
</script> 

</body> 
</html> 

<-- const.php --> 

<? 
$subor 
"./data.txt"// cesta k suboru, kde sa budu ukladat spravy 

$maxDlzkaMeno 8// maximalna dlzka retazca "meno" 
$maxDlzkaSprava 80// maximalna dlzka retazca "sprava" 

$maxPocetOdkaz 15// kolko poslednych odkazov sa ma zobrazovat ? 

// format zobrazenia spravy 
$format sprintf("%s <b>%%%d.%ds: </b>%%-%d.%ds<br>",Date("d.m.Y H:i:s"),$maxDlzkaMeno,$maxDlzkaMeno,$maxDlzkaSprava,$maxDlzkaSprava); 

// kolko bajtov obsahuje maxPocetOdkaz ? 
$maxOdkazByte StrLen(sprintf($format,"","")) * $maxPocetOdkaz
?>
Zadal/a: Propernex


pridej.cz

> Vyhledávání software
> Vyhledávání článků

18.6.2018 0:43 /František Kučera

Červnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 21. 6. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát na téma: F-Droid, aneb svobodný software do vašeho mobilu. Kromě toho budou k vidění i vývojové desky HiFive1 se svobodným/otevřeným čipem RISC-V.


Přidat komentář

23.5.2018 20:55 /Ondřej Čečák
Od pátku 25.5. proběhne na Fakultě informačních technologií ČVUT v Praze openSUSE Conference. Můžete se těšit na spostu zajímavých přednášek, workshopů a také na Release Party nového openSUSE leap 15.0. V na stejném místě proběhne v sobotu 26.5. i seminář o bezpečnosti CryptoFest.
Přidat komentář

20.5.2018 17:45 /Redakce Linuxsoft.cz
Ve čtvrtek 31. května 2018 připravuje webový magazín BusinessIT ve spolupráci s Best Online Média s.r.o. pátý ročník odborné konference Firemní informační systémy 2018. Akce proběhne v kongresovém centru Vavruška (palác Charitas), Karlovo náměstí 5, Praha 2 (u metra Karlovo náměstí) od 9:00 hod. dopoledne do cca 15 hod. odpoledne. Konference je zaměřena na efektivní využití firemních informačních systémů a na to, jak plně využít jejich potenciál. Podrobnější informace na webových stránkách konfrence.
Přidat komentář

14.5.2018 7:28 /František Kučera
Květnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 17. 5. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát na téma: Audio – zvuk v GNU/Linuxu.
Přidat komentář

7.5.2018 16:20 /František Kučera
Na stránkách spolku OpenAlt vyšla fotoreportáž Pražské srazy 2017 dokumentující srazy za uplynulý rok. Květnový pražský sraz na téma audio se bude konat 17. 5. 2018 (místo a čas ještě upřesníme).
Přidat komentář

17.4.2018 0:46 /František Kučera
Dubnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 4. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tématem tohoto srazu bude OpenStreetMap (OSM) aneb svobodné mapy.
Přidat komentář

16.3.2018 22:01 /František Kučera
Kulatý OpenAlt sraz v Praze oslavíme klasicky: u limonády a piva! Přijďte si posedět, dát si dobré jídlo a vybrat z mnoha piv do restaurace Kulový blesk, který najdete v centru Prahy nedaleko metra I. P. Pavlova na adrese Sokolská 13, Praha 2. Sraz se koná ve čtvrtek 22. března a začínáme v 18:00. Heslo: OpenAlt. Vezměte s sebou svoje hračky! Uvítáme, když si s sebou na sraz vezmete svoje oblíbené hračky. Jestli máte nějaký drobný projekt postavený na Arduinu, nějakou zajímavou elektronickou součástku, či třeba i pěkný úlovek z crowdfundingové akce, neváhejte. Oslníte ostatní a o zábavu bude postaráno.
Přidat komentář

13.2.2018 0:41 /František Kučera
Únorový pražský sraz OpenAltu se koná 15. 2. 2018 a tentokrát se vydáme na návštěvu do jednoho pražského datacentra. Sejdeme se v 17:50 v severovýchodní části nástupiště tramvajové zastávky Koh-I-Noor. Po exkurzi se přesuneme do restaurace U Pštrosa (Moskevská 49), kde probereme tradiční témata (svobodný software a hardware, DIY, CNC, SDR, 3D tisk…) a tentokrát bude k vidění i IoT brána od The Things Network.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

20.2.2018 18:48 / Ivan Majer
portal

20.2.2018 15:57 / Jan Havel
Jak využíváte služby cloudu v podnikání?

16.1.2018 1:08 / Ivan Pittner
verejna ip od o2 ubuntu

15.1.2018 17:26 / Mira Harvalik
Re: Jak udělat HTML/Javascript swiping gallery do mobilu?

30.12.2017 20:16 / Michal Knoll
odmocnina

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2018) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze