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