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