Shoutbox timer

Status
Niet open voor verdere reacties.

Supakiller

Gebruiker
Lid geworden
5 sep 2009
Berichten
66
Hallo,

Wij hebben een shoutbox op onze site geplaatst, alles werkt maar hoe maak ik een timer die ervoor zorgt dat ik om de 5 minuten een bericht kan versturen?

Hier is shoutbox.php

Code:
<?php
ob_start();
include("config.php");
	if(! check_login()) {
	exit;
	}


        ?>

<html>
<head>
<title>crimekingsz</title>
<link rel="stylesheet" type="text/css" href="images/template/css/css-v1.css">
</head>
<body bgproperties="fixed">
<table align="center" width="600">
	<tr>
		<td class="subtitle">
  Shoutbox
		</td>

	</tr>
 <BR>

	<tr>
		<td class="maintxt" align="left">
<?php

include("shout.txt");

	  ?>



<form method="POST" action="Shoutbox2.php">

<tr>
		<td class="mainTxt" align="left" width="300">

<br>
<input size="80" maxlength="50" type="text" name="shout">
<input type="submit" value="Verstuur"> </td></tr>
</td>
	</tr>


        <tr>
	<td class="subtitle">&nbsp;</td>
	</tr>
            <tr>
		<td class="mainTxt" align="left" width="300">
                <b>Shoutbox Regels</b><br>
- Niet schelden.<br>
- Geen reclame maken.               <br>
- Geen persoonlijke gegevens van andere verspreiden.<br>
- Geen accounts verkopen.                               <br>
- Geen pornografische, racistische of sexistische teksten plaatsen.<br>

</td></tr>
        <tr>
	<td class="subtitle">&nbsp;</td>
	</tr>

</form>
</body>
</html>
Dit is het volledige script

Code:
<?php

include("shout.txt");

	  ?>
en dit is waar de shouts worden opgeslagen.

Weet iemand hoe ik een timer kan plaatsen die ervoor zorgt dat ik een bericht kan sturen om de 5 minuten ?

Met vriendelijke groet,
Supakiller.
 
Laatst bewerkt:
Ik heb nog geen regel code gezien van de eigenlijke php die ervoor moet zorgen dat de shoutbox werkt, maar er even vanuitgaande dat de shouts in een database komen:
  • zorg ervoor dat er een kolom komt die de tijd en gebruiker_id (of naam icm ip als het om een publieke shoutbox gaat) opslaat
  • maak vervolgens een query die checkt of die gebruiker in de laatste 5 minuten al heeft gepost
  • met een if/else constructie kun je dan bepalen of het nieuwe bericht wordt opgeslagen ($laatste_bericht > 5min) of niet ($laatste_bericht < 5min)
 
Ik heb nog geen regel code gezien van de eigenlijke php die ervoor moet zorgen dat de shoutbox werkt[/list]

Code:
<?php
ob_start();
include("config.php");
	if(! check_login()) {
	exit;
	}

$datfile = "shout.txt";
$MAX_LENGTH = 120; 
$NUM_COMMENTS = 15; 
if (!$name)
{ $name = "$login"; } .
else $name .= ":";

$shout = preg_replace("/</","&lt;",$shout);
$shout = preg_replace("/>/","&gt;",$shout);

$comfile = file($datfile);
if ($shout != "") {
if (strlen($shout) < $MAX_LENGTH) {
$fd = fopen ($datfile, "w");
$shout = stripslashes($shout);
$date_time = date('d-m-Y/H:i:s'); 
fwrite ($fd, "<div style='overflow:hidden'><b> $login :</b> $shout 				                  </div>\n");
for ($i = 0; $i < $NUM_COMMENTS; $i++) {
fwrite ($fd, $comfile[$i]);
}
}
fclose($fd);
}
Header("Location: $HTTP_REFERER"); 

?>

De shouts worden opgeslagen in shout.txt.
En ik moet gewoon een script hebben de ervoor zorgt dat als je binnen 5 minuten wachten op de knop drukt, dat je dat een foutmelding krijgt.
 
Laatst bewerkt:
Je kunt een COOKIE zetten met een verlooptijd van 5 minuten, en checken of die al geset is.

Dat is wel een redelijke check.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan