Chat bez SQL - čas vložení příspěvku – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Chat bez SQL - čas vložení příspěvku – PHP – Fórum – Programujte.comChat bez SQL - čas vložení příspěvku – PHP – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Carduus0
Návštěvník
28. 7. 2011   #1
-
0
-

Dobrý den,
začínám s PHP a na své webové stránky jsem si udělal jednoduchý chat. Funguje na principu :

- mám 10 souborů *.txt

- když nějaký uživatel něco napíše, texty co jsou v souborech se posunou o 1 (do prvního souboru se vloží nová zpráva)

- soubory se jednotlivě otevírají a zapisují se na stránku pomocí echo

- musel jsem udělat 2 *.php soubory (stránka zobrazovala pouze 9 příspěvků, poslední (resp. první na začátek) se přidal, až když jsem něco napsal)

chat.php :

<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>

<form METHOD="POST" ACTION="http://www.michprev.wz.cz/MojeTvorba/chat2.php" name="formular" onsubmit="kontrola(this.text.value) ;">
<textarea NAME="text" ROWS=10 COLS=50></textarea><br>
<input TYPE="SUBMIT" NAME="odeslat" VALUE="Odeslat" id='id_textarei'>
</form>

<?
$soubor1 = fopen("./chat.txt", "r"); 
$prvni=fgets($soubor1); //prvni radek
fclose($soubor1);

$soubor2 = fopen("./chat1.txt", "r"); 
$druhy=fgets($soubor2); //prvni radek
fclose($soubor2);

$soubor3 = fopen("./chat2.txt", "r"); 
$treti=fgets($soubor3); //prvni radek
fclose($soubor3);

$soubor4 = fopen("./chat3.txt", "r"); 
$ctvrty=fgets($soubor4); //prvni radek
fclose($soubor4);

$soubor5 = fopen("./chat4.txt", "r"); 
$paty=fgets($soubor5); //prvni radek
fclose($soubor5);

$soubor6 = fopen("./chat5.txt", "r"); 
$sesty=fgets($soubor6); //prvni radek
fclose($soubor6);

$soubor7 = fopen("./chat6.txt", "r"); 
$sedmy=fgets($soubor7); //prvni radek
fclose($soubor7);

$soubor8 = fopen("./chat7.txt", "r"); 
$osmy=fgets($soubor8); //prvni radek
fclose($soubor8);

$soubor9 = fopen("./chat8.txt", "r"); 
$devaty=fgets($soubor9); //prvni radek
fclose($soubor9);

$soubor10 = fopen("./chat9.txt", "r"); 
$desaty=fgets($soubor10); //prvni radek
fclose($soubor10);

echo "$prvni";
echo "<br>";
echo "$druhy";
echo "<br>";
echo "$treti";
echo "<br>";
echo "$ctvrty";
echo "<br>";
echo "$paty";
echo "<br>";
echo "$sesty";
echo "<br>";
echo "$sedmy";
echo "<br>";
echo "$osmy";
echo "<br>";
echo "$devaty";
echo "<br>";
echo "$desaty";
echo "<br>";



?>
</BODY>
</HTML>

chat2.php :

<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>

<form METHOD="POST" ACTION="http://www.michprev.wz.cz/MojeTvorba/chat2.php" name="formular" onsubmit="kontrola(this.text.value) ;">
<textarea NAME="text" ROWS=10 COLS=50></textarea><br>
<input TYPE="SUBMIT" NAME="odeslat" VALUE="Odeslat" id='id_textarei'>
</form>

<?
$soubor1 = fopen("./chat.txt", "r"); 
$prvni=fgets($soubor1); //prvni radek
fclose($soubor1);

$soubor2 = fopen("./chat1.txt", "r"); 
$druhy=fgets($soubor2); //prvni radek
fclose($soubor2);

$soubor3 = fopen("./chat2.txt", "r"); 
$treti=fgets($soubor3); //prvni radek
fclose($soubor3);

$soubor4 = fopen("./chat3.txt", "r"); 
$ctvrty=fgets($soubor4); //prvni radek
fclose($soubor4);

$soubor5 = fopen("./chat4.txt", "r"); 
$paty=fgets($soubor5); //prvni radek
fclose($soubor5);

$soubor6 = fopen("./chat5.txt", "r"); 
$sesty=fgets($soubor6); //prvni radek
fclose($soubor6);

$soubor7 = fopen("./chat6.txt", "r"); 
$sedmy=fgets($soubor7); //prvni radek
fclose($soubor7);

$soubor8 = fopen("./chat7.txt", "r"); 
$osmy=fgets($soubor8); //prvni radek
fclose($soubor8);

$soubor9 = fopen("./chat8.txt", "r"); 
$devaty=fgets($soubor9); //prvni radek
fclose($soubor9);

$soubor10 = fopen("./chat9.txt", "r"); 
$desaty=fgets($soubor10); //prvni radek
fclose($soubor10);


// v tomto odstavci je : date(H:i:s) to je špatně, mají tam být uvozovky, ale s uvozovkami mi to nenapíše datum a i tak je to celé špatně, jelikož mi to bude psát jiné časy než chci 

$soubor = fopen("./chat.txt", "w");
fwrite($soubor,date(H:i:s)." $_POST[text]");
fclose($soubor);

$soubor = fopen("./chat1.txt", "w");
fwrite($soubor,date(H:i:s)."$prvni");
fclose($soubor);

$soubor = fopen("./chat2.txt", "w");
fwrite($soubor,date(H:i:s)."$druhy");
fclose($soubor);

$soubor = fopen("./chat3.txt", "w");
fwrite($soubor,date(H:i:s)."$treti");
fclose($soubor);

$soubor = fopen("./chat4.txt", "w");
fwrite($soubor,date(H:i:s)."$ctvrty");
fclose($soubor);

$soubor = fopen("./chat5.txt", "w");
fwrite($soubor,date(H:i:s)."$paty");
fclose($soubor);

$soubor = fopen("./chat6.txt", "w");
fwrite($soubor,date(H:i:s)."$sesty");
fclose($soubor);

$soubor = fopen("./chat7.txt", "w");
fwrite($soubor,date(H:i:s)."$sedmy");
fclose($soubor);

$soubor = fopen("./chat8.txt", "w");
fwrite($soubor,date(H:i:s)."$osmy");
fclose($soubor);

$soubor = fopen("./chat9.txt", "w");
fwrite($soubor,date(H:i:s)."$devaty");
fclose($soubor);






$soubor1 = fopen("./chat.txt", "r"); 
$prvni=fgets($soubor1); //prvni radek
fclose($soubor1);

$soubor2 = fopen("./chat1.txt", "r"); 
$druhy=fgets($soubor2); //prvni radek
fclose($soubor2);

$soubor3 = fopen("./chat2.txt", "r"); 
$treti=fgets($soubor3); //prvni radek
fclose($soubor3);

$soubor4 = fopen("./chat3.txt", "r"); 
$ctvrty=fgets($soubor4); //prvni radek
fclose($soubor4);

$soubor5 = fopen("./chat4.txt", "r"); 
$paty=fgets($soubor5); //prvni radek
fclose($soubor5);

$soubor6 = fopen("./chat5.txt", "r"); 
$sesty=fgets($soubor6); //prvni radek
fclose($soubor6);

$soubor7 = fopen("./chat6.txt", "r"); 
$sedmy=fgets($soubor7); //prvni radek
fclose($soubor7);

$soubor8 = fopen("./chat7.txt", "r"); 
$osmy=fgets($soubor8); //prvni radek
fclose($soubor8);

$soubor9 = fopen("./chat8.txt", "r"); 
$devaty=fgets($soubor9); //prvni radek
fclose($soubor9);

$soubor10 = fopen("./chat9.txt", "r"); 
$desaty=fgets($soubor10); //prvni radek
fclose($soubor10);

echo "$prvni";
echo "<br>";
echo "$druhy";
echo "<br>";
echo "$treti";
echo "<br>";
echo "$ctvrty";
echo "<br>";
echo "$paty";
echo "<br>";
echo "$sesty";
echo "<br>";
echo "$sedmy";
echo "<br>";
echo "$osmy";
echo "<br>";
echo "$devaty";
echo "<br>";
echo "$desaty";
echo "<br>";



?>

</BODY>
</HTML>

Nyní řeším 2 věci : - chci, aby u každé zprávy byl čas, kdy byla odeslána (nejlépe 1 nebo 2 mezery před textem) tj. celé by to bylo v jedné řádce. - udělat nějakou grafiku (zatím se text zobrazuje pouze na bílou stránku)

Grafiku buď udělám pouze pozadí tak šikovně, že to bude vypadat jako by text byl např. v bublině anebo zkusím text zapisovat do textarea (sice zatím nevím jak, ale nějak na to přijdu) Prosím nerozmlouvejte mi, abych udělal chat jinak.

Nemohl by mi nějak poradit s tím časem? Popř. klidně mi řekněte svůj názor, jak byste udělali grafiku vy. Budu moc vděčný za jakýkoliv názor.

PS : omlouvám se za délku příspěvku

Nahlásit jako SPAM
IP: 109.235.1.–
Řešení
Paja2
~ Moderátor
+2
Věrný člen
28. 7. 2011   #2
-
+1
-
Zajímavé
Vyřešeno Nejlepší odpověď

#1 Carduus
Uprav kod takto

fwrite($soubor,date("H:i:s")." ".$prvni)
Nahlásit jako SPAM
IP: 213.192.19.–
Carduus0
Návštěvník
28. 7. 2011   #3
-
0
-

Děkuji moc. Opravdu to funguje!! A dokonce to i nemění čas (čekal jsem totiž, že při operacích s tím textem se tam bude přepisovat čas). Ještě jednou moc díky.

Nahlásit jako SPAM
IP: 109.235.1.–
Curo
~ Šéfredaktor
+8
Hero
28. 7. 2011   #4
-
0
-

#3 Carduus
Nezapomínej případně označovat vlákna za vyřešená, díky! :-)

Nahlásit jako SPAM
IP: 109.164.4.–
Guitar Hero Master, Project führer & zdejší čaroděj.
Sleduj mě na twitteru – @lukaschury.
Carduus0
Návštěvník
28. 7. 2011   #5
-
0
-

Jejda já zapomněl. :) Rád bych se ještě zeptal na jednu věc, ale nechce se mi zbytečně zakládat nové vlákno. No nevím snad si toho ještě někdo všimne : Dá se do podmínky PHP dostat javascript (potřebuji, aby pokud se podmínko splní, to "vyhodilo" alert/nové okno)

Nahlásit jako SPAM
IP: 109.235.1.–
Curo
~ Šéfredaktor
+8
Hero
28. 7. 2011   #6
-
0
-

#5 Carduus
PHP se vykonává naráz, nečeká na žádný zásah zvenčí. Javascriptem PHP běh neovlivníš.

Nahlásit jako SPAM
IP: 109.164.4.–
Guitar Hero Master, Project führer & zdejší čaroděj.
Sleduj mě na twitteru – @lukaschury.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 8 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý