Foros del Web » Programando para Internet » PHP »

Aporte: Sistema de Comentarios v0.1 sin BD

Estas en el tema de Aporte: Sistema de Comentarios v0.1 sin BD en el foro de PHP en Foros del Web. Por favor comentar y visitar mi sitio Hola, en este post le vengo presentando este aporte creado por mi: Un Sistema de Comentarios sin Base ...
  #1 (permalink)  
Antiguo 15/07/2012, 20:54
Avatar de kendall00  
Fecha de Ingreso: septiembre-2011
Ubicación: $Ubicacion => ['Costa Rica'];
Mensajes: 85
Antigüedad: 12 años, 7 meses
Puntos: 5
De acuerdo Aporte: Sistema de Comentarios v0.1 sin BD

Por favor comentar y visitar mi sitio
Hola, en este post le vengo presentando este aporte creado por mi: Un Sistema de Comentarios sin Base de datos, es muy completo, esta es la version 1.0 y voy a ir dando actualizaciones de dicho sistema.

El proyecto viene en un archivo ZIP, a continuacion les doy un detalle del paquete:

Se necesita:
-Servidor con PHP +4.0 mínimo
-Directorio con permisos 777
Contenidos del paquete
-index.php
-add_comentarios.php
-comentarios.php
-id.php
-error.php
-delete_all.php

Ver en Vivo [Demo]
http://www.kendall000.tk/proyectos/comentarios/v1.0
Descargar [Rapidshare]
https://rapidshare.com/files/2909313644/Comentarios by Kendall v1.0.rar
**Códigos***

index.php
Código HTML:
Ver original
  1. <?php
  2. if (!file_exists('add_comentarios.php'))
  3. {echo 'El archivo add_comentarios.php no existe, sin este archivo no se puede ejecutar el script!';}
  4. ?>
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml">
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8. <title>Comentarios</title>
  9. <style type="text/css">
  10. body {
  11.     margin-left: 0px;
  12.     margin-top: 0px;
  13.     margin-right: 0px;
  14.     margin-bottom: 0px;
  15.     font-family:Tahoma, Geneva, sans-serif;
  16. }
  17. #top {
  18.     background-color:#000;
  19.     color:#FFF;
  20.     font-size:18px;
  21.     padding:1%;
  22.     width:98%;
  23. }
  24. #comentarios {
  25.     float:left;
  26.     width:75%;
  27.     margin-top:1%;
  28.     margin-left:1%;
  29.     background-color:#DDD;
  30.     color:#000;
  31. }
  32. #error {
  33.     border-color:#F00;
  34.     background-color:#FF8484;
  35.     border-width:1px;
  36.     border-style:solid;
  37.     margin-top:1%;
  38.     margin-left:1%;
  39.     margin-right:1%;
  40.     padding:1%;
  41. }
  42. #info {
  43.     border-color:#00F;
  44.     background-color:#09F;
  45.     border-width:1px;
  46.     border-style:solid;
  47.     margin-top:1%;
  48.     margin-left:1%;
  49.     margin-right:1%;
  50.     padding:1%;
  51. }
  52. /*////////////////////////////*/
  53. #comentario-nombre {
  54.     background-color:#000;
  55.     color:#FFF;
  56.     padding-top:15px;
  57.     padding-bottom:15px;
  58.     padding-left:1%;
  59.     padding-right:1%;
  60.     width:98%; 
  61. }
  62. #comentario-fecha {
  63.     background-color:#999;
  64.     color:#000;
  65.     padding:1%;
  66.     width:98%; 
  67. }
  68. #comentario-texto {
  69.     background-color:#CCC;
  70.     color:#000;
  71.     padding:1%;
  72.     width:98%; 
  73. }
  74. .dc {
  75.     font-family: Arial, Helvetica, sans-serif;
  76.     font-size: 10px;
  77.     font-style: italic;    
  78. }
  79. <script language="javascript" type="text/javascript">
  80. function foco (){
  81. var nombre = document.getElementById('nombre');
  82. nombre.focus();
  83. }
  84. </head>
  85. <body onload="foco()">
  86. <div id="top" align="center">
  87. Comentarios acerca del WebSite*
  88. </div>
  89. <div id="info">Versión 1.0 | Kendall González León | <a href="delete_all.php">Borrar Comentarios</a></div>
  90. <div id="error">
  91. <?php include ("error.php")?>
  92. </div>
  93. <div id="comentarios">
  94. <?php
  95. $path = 'comentarios.php';
  96. $mode = 'r';
  97. $gestor_leer = fopen($path,$mode);
  98. $pre_comentarios = fread($gestor_leer,filesize($path));
  99. fclose($gestor_leer);
  100. ####################################################
  101. if ($pre_comentarios == '<!-- Comentarios -->'){
  102. echo 'No hay comentarios';}
  103. else
  104. {$comentarios = $pre_comentarios;}
  105. echo $comentarios;
  106. ?>
  107. <hr />
  108. <form action="add_comentarios.php" method="get" id="add_comentario">
  109.   <table width="493" border="0" cellpadding="0">
  110.     <tr>
  111.       <td width="25%">Nombre*</td>
  112.       <td width="75<h5></h5>"><input name="nombre" type="text" id="nombre" value="<?php echo $_REQUEST['nombre']?>" /></td>
  113.     </tr>
  114.     <tr>
  115.       <td>Email*</td>
  116.       <td><input type="text" name="email" id="email" value="<?php echo $_REQUEST['email']?>" /></td>
  117.     </tr>
  118.     <tr>
  119.       <td>Comentario*</td>
  120.       <td><textarea name="comentario" id="comentario" cols="45" rows="5"><?php echo $_REQUEST['comentario']?></textarea></td>
  121.     </tr>
  122.     <tr>
  123.       <td>&nbsp;</td>
  124.       <td><input type="submit" name="button" id="button" value="Enviar" />
  125.         <input type="reset" name="button2" id="button2" value="Restablecer" /></td>
  126.     </tr>
  127.   </table>
  128. </form>
  129. </div>
  130. </body>
  131. <!--Kendall González León -->
  132. </html>

add_comentarios.php

Código PHP:
Ver original
  1. <?php
  2. #Errores:
  3. /**
  4. x001 = Nombre null
  5. x002 = Email null
  6. x003 = Comentario null
  7. x004 = File id.php no existe
  8. x005 = File id.php no es editable
  9. x006 = File comentarios.php no existe
  10. x007 = File comentarios.php no es editable
  11. */
  12. #Defino las variables
  13. $nombre = $_REQUEST['nombre'];
  14. $email = $_REQUEST['email'];
  15. $comentario = $_REQUEST['comentario'];
  16. $fecha = date('l jS \of F Y h:i:s A P ').' GMT';
  17. $path_id = 'id.php';# Si lo cambia, tambien cambiar los datos de error.php
  18. $path_comentarios = 'comentarios.php';# Si lo cambia, tambien cambiar los datos de error.php
  19. $mas = '&nombre='.$nombre.'&email='.$email.'&comentario='.$comentario;
  20. #Empiezo las validaciones...
  21.  
  22. if ($nombre == '')
  23. {header ("Location: index.php?error=x001".$mas);}
  24. else
  25. {if ($email == '')
  26. {header ("Location: index.php?error=x002".$mas);}
  27. else
  28. {if ($comentario == '')
  29. {header ("Location: index.php?error=x003".$mas);}
  30. else
  31. {if (file_exists($path_id))
  32. {if (file_exists($path_comentarios))
  33. {if (is_writable($path_id))
  34. {if (is_writable($path_comentarios)){
  35. # Si todo está bien, comenzamos el proceso!
  36. #Obtenemos el ID del último comentario
  37. $mode_leer_id = 'r';
  38. $gestor_leer_id = fopen ($path_id,$mode_leer_id);
  39. $id_leido = fread($gestor_leer_id,filesize($path_id));
  40. fclose($gestor_leer_id);
  41. #Hacemos un +1 para este nuevo comentario!
  42. $nuevo_id = $id_leido +1;
  43. #Definir texto debajo de los comentarios
  44. $leyenda = 'Con Dios todo es posible';
  45. ####################################################
  46. #Comentario...
  47. $texto = '
  48. <div id="comentario-nombre">'.$nombre.'</div>
  49. <!--Email: $email -->
  50. <div id="comentario-fecha">'.$fecha.' | Id:'.$nuevo_id.'</div>
  51. <div id="comentario-texto">'.$comentario.'
  52. <div class="dc" id="dc">' . $leyenda . '</div></div>
  53. ';
  54. #Añadimos comentarios, abriendo primero la conexion
  55. $mode_añadir_comentarios = 'a+';
  56. $gestor_añadir = fopen($path_comentarios,$mode_añadir_comentarios);
  57. fwrite ($gestor_añadir,$texto);
  58. fclose($gestor_añadir);
  59. #Guardamos el nuevo id...
  60. $mode_guardar_id = 'c+';
  61. $gestor_guardar_id = fopen($path_id,$mode_guardar_id);
  62. fwrite($gestor_guardar_id,$nuevo_id);
  63. fclose($gestor_guardar_id);
  64. header ("Location: index.php");}
  65. else
  66. {header ("Location index.php?error=x007".$mas);}}
  67. else
  68. {header ("Location index.php?error=x005".$mas);}}
  69. else
  70. {header ("Location: index.php?error=x006".$mas);}}
  71. else
  72. {header ("Location: index.php?error=x004".$mas);}}}}
  73. ?>
  74. <!--Kendall González León -->

error.php

Código PHP:
Ver original
  1. <?php
  2. /*
  3. x001 = Nombre null
  4. x002 = Email null
  5. x003 = Comentario null
  6. x004 = File id.php no existe
  7. x005 = File id.php no es editable
  8. x006 = File comentarios.php no existe
  9. x007 = File comentarios.php no es editable
  10. */
  11. $path_id = 'id.php';#de add_comentarios.php
  12. $path_comentarios = 'comentarios.php';#de add_comentarios.php
  13. ///////////////////////////////////////
  14. $e = $_REQUEST['error'];
  15. $msg_x001 = 'El nombre no puede estar vacio';
  16. $msg_x002 = 'El e-mail no puede estar vacio';
  17. $msg_x003 = 'El comentario no puede estar vacio';
  18. $msg_x004 = 'El archivo ' . $path_id . ' no existe. Error de Server, cree un nuevo archivo';
  19. $msg_x005 = 'El archivo ' . $path_id . ' no es editable. Error de Configuracion, establesca permisos 777';
  20. $msg_x006 = 'El archivo ' . $path_comentarios . ' no existe. Error de Server, cree un nuevo archivo';
  21. $msg_x007 = 'El archivo ' . $path_comentarios . ' no es editable. Error de Configuracion, establesca permisos 777';
  22. $msg_bien = 'Ningún error.';
  23. if ($e == 'x001'){
  24. echo $msg_x001;}
  25. else
  26. {if ($e == 'x002')
  27. {echo $msg_x002;}
  28. else
  29. {if ($e == 'x003')
  30. {echo $msg_x003;}
  31. else
  32. {if ($e == 'x004')
  33. {echo $msg_x004;}
  34. else
  35. {if ($e == 'x005')
  36. {echo $msg_x005;}
  37. else
  38. {if ($e == 'x006')
  39. {echo $msg_x006;}
  40. else
  41. {if ($e == 'x007')
  42. {echo $msg_x007;}
  43. else
  44. {echo $msg_bien;}}}}}}}
  45. ?>
  46. <!--Kendall González León -->

Estos son los archivos indispensables, los demas son solo donde se guardan los comentarios, y el ID automatico.

Este proyecto es 100% gratis, en index.php hay un link que dice "Borrar" se debe borrar para que los usuarios no borren los comentarios obviamente, pero está ahí para que el WebMaster pueda borrarlos y sepa como. Saldrá la versión 2.0 que utilizo ajax para enviar el comentario sin cargar la página, entre otros

Por favor, si leiste todo comenta si te gusto y si te sirvio, recomendaciones, etc, ¿puntos? claro, gracias soy un chico de 15 años iniciandose en php.
Visiten mi sitio:
http://www.kendall000.tk

Última edición por kendall00; 15/07/2012 a las 21:01
  #2 (permalink)  
Antiguo 15/07/2012, 21:02
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: Aporte: Sistema de Comentarios v0.1 sin BD

está muy bueno
  #3 (permalink)  
Antiguo 15/07/2012, 22:29
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Aporte: Sistema de Comentarios v0.1 sin BD

Preferiria usar en su caso SQLite a usar un archivo de texto simple, pero no esta mal, personalmente desaconsejo usar $_REQUEST, ya que PHP procesará las variables enviadas sin importar si son via post o via get, y esto podría considerarse una vulnerabilidad o por lo menos facilitaria estar enviado mensajes al foro como spam, etc
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #4 (permalink)  
Antiguo 19/07/2012, 19:37
Avatar de kendall00  
Fecha de Ingreso: septiembre-2011
Ubicación: $Ubicacion => ['Costa Rica'];
Mensajes: 85
Antigüedad: 12 años, 7 meses
Puntos: 5
Respuesta: Aporte: Sistema de Comentarios v0.1 sin BD

Nueva Actualizacion disponible! Visiten http://www.kendall000.tk/site/

Etiquetas: comentarios, free, kendall00, no_base_de_datos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:17.