Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Chat-ongelma

konsta93 [29.10.2006 21:45:33]

#

Moi oon tehny tälläsen:

//Index.php <form action="chat.php" method="post">
<table border="1">
<tr>
<td>Nimesi:<input type="text" maxlength="20" name="nimi">Viesti: <input type=\"text\" name="viesti"><input type="submit" value="Jatka">
</td>
</tr>
</table>
</form>
<hr color="black">
 <?php include("viestit.txt");  ?>
//chat.php
<?php
$aika = date("H:i:s");
if ($nimi !="") {
$uusirivi = "Nimi: <b>$nimi</b> <br>Aika: <b>$aika</b><br> Viesti: <b>$viesti </b><br><br>";
$tiedosto =("viestit.txt");
$av =fopen($tiedosto, "a");
fputs ($av, "$uusirivi");
fclose ($av);
}
if(empty($nimi)) {echo "Hups ! Taisi unohtua Nimi O_o"; exit;}
if(empty($viesti)) {echo "Hups ! Taisi unohtua Viesti o_O"; exit;}
?>
<?php
header ("location: index.php")
?>

Nii tota kysyisin miten saisin tos index.php:s uusimman viestin ekaks ? ja sit et miten saisin et ku kirjottais nimen ja viestin nii toi nimeä ei tarttis kirjottaa uuestaa

Mod. edit: kooditagit

ajv [29.10.2006 22:02:16]

#

Kannattaa lukaista Antin PHP-opas ja erityisesti sen vieraskirja-esimerkki. Mutta ensimmäiseksi, tuo tiedontallennusmenetelmäsi on vääränlainen: ei html:ää datan sekaan.

Blaze [29.10.2006 22:02:26]

#

konsta93 kirjoitti:

Nii tota kysyisin miten saisin tos index.php:s uusimman viestin ekaks ?

Nykyisellä systeemilläs et oikein millään.

Muuta sitä niin, että kirjoitat viestit tuohon viestit.txt:n jokaisen omalle rivilleen ja sitten sen sijaan, että suoraan liität viestit.txt:n indeksisivuun, luet sen rivit taulukkoon, ja tulostat ne käänteisessä järjestyksessä.

$av = fopen('viestit.txt', 'a');
// Huomaa, että käyttäjän antamasta tekstistä pitää siivota kaikki rivinvaihtomerkit pois
fputs($av, str_replace(array("\r\n", "\r", "\n"), '', $uusirivi) . "\n");
fclose($av);
$rivit = file('viestit.txt');
for($i = count($rivit) - 1; $i >= 0; $i--) {
  echo $rivit[$i];
}

konsta93 kirjoitti:

et miten saisin et ku kirjottais nimen ja viestin nii toi nimeä ei tarttis kirjottaa uuestaa

Eikös selaimet tarjoudu muistamaan noihin lomakekenttiin kirjoitetun sisällön?

konsta93 [29.10.2006 23:18:35]

#

Muutin sen sellaseks ja se toimi kiitos :D

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta