hola gente yo (rompiendo como siempre)
veran tengo un sistema de comentarios en mi web, pero a la cual quiero agregarle (una funcion que me muestre el horario de que fue emitido) ya que lo tengo andando y cuando hay (por ejemplo) 15 comentarios nuevos.... estos son desordenados, es decir, que el de hace 10 minutos lo coloca primero, y el de hace 2 segundos lo coloca en el medio o a lo ultimo de estos comentarios (lo hace de forma desordenada), alguien me podria ayudar?? PASO A COMENTARLES COMO ESTA ECHO EL CODIGO.
index.php; el
contador.txt y el
enviar.php
index.php
Código PHP:
<SCRIPT LANGUAGE="JavaScript">
function nuevocoment() {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open('enviar.php', '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=370,height=350,left = 371.5,top = 172');");
}
</script>
<?
$contador ="comentarios/contador.txt"; // decimos donde esta el contador
$ag = fopen($contador, "r+"); // abrimos el contador
@ $comentarios = fread($ag, filesize($contador)); //lo leemos y lo guardamos en una bariable
fclose($ag); // cerramos el contador
echo "Hay en total: ".$comentarios." Comentarios<p>";// ecribimos el total de comentarios
if($comentarios == '0'){ // si el contador esta en 0 es que no hay nada
echo "No hay solicitudes aún.<br>"; // le desimos que no hay comentarios
}
else // y si no
{
foreach (glob("comentarios/*.php") as $comentari) { // vemos todos los archivos de la carpeta comentarios
include ($comentari); // los incluimos
$nombree = strip_tags($nombre); // no permitimos etiquetas HTML
$comentario = strip_tags($comentario);// no permitimos etiquetas HTML
echo "<strong>Fecha:</strong> $fecha <br>";//escribimos la fecha del post
echo "<strong>Nombre:</strong> $nombre <br>";// escribimos el nombre
echo "<strong>Dedicado a:</strong> $dedicado<br>"; // escribimos el destinatario de la dedicatoria
echo "<strong>Comentarios:</strong> $comentario<br>"; // escribimos el comentario
echo '<hr align="left" width="35%"35%"><br>'; // ponemos la barra separadora
}
}
echo "<a href='#'onclick='Javascript:nuevocoment()' >Solicitar un tema</a>";// escribimos el link para mandar comentarios
?>
Como veran necesitamos una carpeta llamada
COMENTARIOS a la cual se le deberá dar los permisos
777.
enviar.php
Código PHP:
<?php
if ($_POST['enviar']) { // si se apreto el boton "Enviar" ejecutamos el codigo
$archivo ="comentarios/contador.txt"; // dicimos donde esta el contador
$abre = fopen($archivo, "a+"); // lo abrimos
@ $total = fread($abre, filesize($archivo)); // lo leemos
$code = $total+ 1; // le sumamos 1
fclose($abre); // y lo cerramos
$fech = strftime("%d-%m-%y", time()); // vemos que dia es hoy
$comenta = $_POST['comenta'];
$dedicado = $_POST['dedicado']; // vemos el nombre escrito
if(empty($dedicado)){ // si el campo "Dedicado" esta vacio
$dedic = ''; // lo dejamos vacio
}
else// y si no esta vacio
{
$dedic = $_POST['dedicado']; // le damos el nombre que puso
}
$nombre = $_POST['nombre']; // vemos el nombre escrito
if(empty($nombre)){ // si el campo "Nombre" esta vacio
$us = 'Anonimo'; // lo llamamos "anonimo"
}
else// y si no esta vacio
{
$us = $_POST['nombre']; // le damos el nombre que puso
}
$jiw = "comentarios/$code.php";// creamos el archivo
@$aqw = fopen($jiw, "a+"); // lo abrimos
$sssw = "<?
\$nombre = '$us';
\$comentario = '$comenta';
\$fecha = '$fech';
\$dedicado = '$dedic';
?> ";
@$ghjw = fwrite($aqw, $sssw); // lo escribimos
fclose($aqw); // lo cerramos
$abrea = fopen($archivo, "w"); // abrimos el contador
$totala = $total + 1; // sumamos 1 al contador
$grabar = fwrite($abrea, $totala); // lo escribimos
fclose($abrea); // y lo cerramos
?>
<body onLoad="setTimeout('window.close()', 2000)"> <!--//CERRAMOS EL POP UP A LOS 2 SEGUNDOS//-->
<script language="javascript">
opener.location.reload();
</script>
<table width="306" border="1" cellpadding="2" cellspacing="2" bordercolor="#000000" bgcolor="#FFFFFF" align="center">
<!--DWLayoutTable-->
<tr>
<td width="306" height="25"><div align="center"><strong>Radio Luna Nueva dice:</strong></div></td>
</tr>
<tr>
<td height="25"><div align="center"><strong>Petición enviada correctamente.</strong></div></td>
</tr>
</table>
<?
}else{
?>
<table width="306" height="136" border="1" align="center" cellpadding="2" cellspacing="2" bordercolor="#000000" bgcolor="#FFFFFF">
<!--DWLayoutTable-->
<tr>
<td width="306" height="25"><div align="center"><strong>Enviar Petición a la Web</strong></div></td>
</tr>
<tr>
<td height="60"><form name="form1" method="post" action="<?=$_SERVER[QUERY_STRING]?>">
<strong>Nombre:</strong><br>
<label>
<input name="nombre" type="text" id="nombre">
</label>
<br>
<strong>Dedicado a:</strong><br>
<label>
<input name="dedicado" type="text" id="dedicado">
</label>
<br>
<label><strong>Comentario:
</strong><br>
<textarea name="comenta" cols="40" rows="7" id="comenta"></textarea>
</label>
<br><div align="right"> <label>
<input type="reset" name="reset" value="Borrar" class="form">
<input type="submit" name="enviar" value="Enviar" class="form">
</label> </div>
</form></td>
</tr>
</table>
<? }
?>
Bueno aca no hace falta esplicar, lo que hacemos es chequear el formulario que luego enviara el resultado a index.php.
Ahora lo que me faltaria es:
1.) Como crearle la funcion dnd me ponga el horario del comentario?
2.) Como ordenarlas en forma acendente; quedando la mas reciente arriba de toda?
3.) Como limitar los comentarios en la pagina; o se; que cuando pase los 15 comentarios, este nse cre en una pagina nueva?
Me gustaria que quedara algo asi:
Código HTML:
Fecha: 17/10/2011
Nombre: Alejandro
Dedicado a: un amigo
Comentario: LOREM LOREM LOREM LOREM LOREM LOREM LOREM...
----------------------------------------------------------------
Aunque el orden de como quedaria lo pongo yo de a cuerdo la posicion deseada, pèro quiero que me aparesca el horario, y que los comentarios aparescan ordenada ascendentemente y que limite los comentarios a una nueva pagina (asi como lo hace forosdelweb, en dnd limita los temas a 28 temas por pagina).
GRACIAS