Foros del Web » Programando para Internet » PHP »

[APORTE] Sistema de noticias y comentarios

Estas en el tema de [APORTE] Sistema de noticias y comentarios en el foro de PHP en Foros del Web. Lo prometido es deuda como dije en uno de mis post. Me han ayudado con un par de dudas que tuve con este sistema de ...

  #1 (permalink)  
Antiguo 28/10/2008, 14:50
Avatar de karlic0s  
Fecha de Ingreso: abril-2007
Ubicación: Cartagena (Murcia)
Mensajes: 241
Antigüedad: 17 años, 7 meses
Puntos: 18
[APORTE] Sistema de noticias y comentarios

Lo prometido es deuda como dije en uno de mis post. Me han ayudado con un par de dudas que tuve con este sistema de noticias y comentarios, el cual estaba plagado de errores de código, ahora expondré éste código totalmente corregido para el disfrute de la comunidad, la explicación la teneís al poner en google "sistema de noticias y comentarios php" esta en webtaller, scourdesign... Todo es el mismo código (con los mismos errores ¬¬) aquí el corregido con unas pequeñas modificacione. Aviso el código es MUY básico, queda en tu mano modificarlo a tu gusto

Primero ejecutamos la sentencia en la base de datos que queramos para las noticias:

create table noticias (
id_noticia int(4) auto_increment not null,
autor varchar(255),
titulo varchar(255),
categoria varchar(255),
fecha datetime not null,
noticia blob, key(id_noticia)
)

Y ahora para los comentarios:

create table comentarios(
id int(4) not null,
nick varchar(255),
email varchar(255),
comentario blob, key(id))


Ahora el código:

index.php
Código PHP:
<html> 
<head> 
<title>Sistema de noticias</title> 
<?php
//conectamos a la base 
$connect=mysql_connect("localhost","usuario","password"); 

//Seleccionamos la base 
mysql_select_db("tu_base_de_datos",$connect); 

//hacemos las consultas 
$result=mysql_query("select * from noticias order by fecha Desc"$connect); 
$totalregistros=mysql_num_rows($result); 
$result2=mysql_query("select * from comentarios where id",$connect);
$totalcomentarios=mysql_num_rows($result2);
?> 
</head> 
<body> 

<?php
//Recogemos las consultas en un array y las mostramos 
while($row=mysql_fetch_array($result))
{
$result2=mysql_query("select * from comentarios where id='".$row[id_noticia]."'",$connect);
$totalcomentarios=mysql_num_rows($result2);
echo 
'<h3>'.$row[titulo].'</h3>'.$row[articulo].''.$row[autor].' | '.$row[categoria].' | '.$row[fecha].'<br> '.$row[noticia].' <br> <a href="ver.php?id='.$row[id_noticia].'">comentarios('.$totalcomentarios.')</a> | 
<a href="editar.php?id='
.$row[id_noticia].'">editar</a> | <a href="borrar.php?id='.$row[id].'">borrar</a><br><br>';
}
mysql_free_result($result)
?> 
</body> 
</html>
administrar.php:
Código PHP:
<form action="procesanoticia.php" method="post">
Título noticia:<br>
<
input type="text" name="titulo"><br>
Autor:<br>
<
input type="text" name="autor"><br>
Categoría:<br>
<
input type="text" name="categoria"><br>
Escriba el articulo<br>
<
textarea name="articulo" cols="50" rows="10"></textarea><br>
<
input type="submit" value="Publicar"><br>
</
form
procesanoticia.php:
Código PHP:
<?php
//recibo las variables enviadas por el formulario 
$titulo=$_POST[titulo]; 
$autor=$_POST[autor]; 
$categoria=$_POST[categoria]; 
$articulo=$_POST[articulo]; 
//conecto a la base 

$connect=mysql_connect("localhost","usuario","password"); // se conecta con la db
//Seleccionamos la base 
mysql_select_db("tu_base_de_datos",$connect); 
//inserto los registros 
$query "INSERT INTO noticias (titulo,autor,categoria,noticia,fecha) VALUES('$titulo','$autor','$categoria','$articulo',NOW())";
mysql_query($query) or die(mysql_error());
header("location: index.php"); 
?>

editar.php
Código PHP:
<?php

$id
=$_GET["id"];
$connect mysql_connect("localhost","usuario","password");

mysql_select_db("tu_base_de_datos",$connect);

$result=mysql_query("select * from noticias where id_noticia='$id'",$connect);

while(
$row=mysql_fetch_array($result))
{
?>
<form action="edit.php" method="post">
<input type="hidden" name="id" value = "<?php echo $row['id_noticia'];?>"><br>
Título noticia:<br>
<input type="text" name="titulo" value= "<?php echo $row['titulo']; ?>"><br>
Autor:<br>
<input type="text" name="autor" value= "<?php echo $row['autor']; ?> "><br>
Categoría:<br>
<input type="text" name="categoria" value= "<?php echo $row['categoria']; ?> "><br>
Escriba el articulo<br>
<textarea name="noticia" cols="50" rows="10"><?php echo $row['noticia']; ?></textarea>
<br>
<input type="submit" value="Editar"><br>
</form>
<?php
}
mysql_free_result($result);
mysql_close($connect);

?>

edit.php
Código PHP:
<?php
$id
=$_POST['id'];
$titulo=$_POST['titulo'];
$autor=$_POST['autor'];
$categoria=$_POST['categoria'];
$noticia=$_POST['noticia'];

$link mysql_connect("localhost""usuario" "password");

mysql_select_db("tu_base_de_datos",$link);  
$sql "UPDATE noticias SET id_noticia='$id', titulo='$titulo', autor='$autor', noticia='$noticia', categoria='$categoria' WHERE id_noticia=$id";

$result mysql_query($sql$link) or die("Error en consulta $sql:".mysql_error() );

header("location: index.php");
?>
ver.php
Código PHP:
<?php
$id
=$_GET["id"];
$connect mysql_connect("localhost","usuario","password");

mysql_select_db("tu_base_de_datos,$connect);


$result=mysql_query("
select from noticias where id_noticia='$id'",$connect);


while($row=mysql_fetch_array($result))
{
$result2=mysql_query("
select from comentarios where id='$id'",$connect);
$totalcomentarios=mysql_num_rows($result2);
echo '<h3>'.$row[titulo].'</h3>
'.$row[articulo].'<br>
'.$row[autor].' | '.$row[categoria].' | '.$row[fecha].' <br>'.$row[noticia].'
<br><b>comentarios('.$totalcomentarios.')</b><br>
<a href="
editar.php?id='.$row[id].'">editar</a> | <a href="borrar.php?id='.$row[id].'">borrar</a>';
}
mysql_free_result($result)

?> 
<br><br><br><br>
<?php
echo '<h2>Comentarios:</h2><br>';
//hago el llamado a la base
$result=mysql_query("
select from comentarios where id='$id'",$connect);
//Bucle while para visualizarlos
while($row=mysql_fetch_array($result))
{
echo '<h4>Nick: '.$row[nick].':</h4>Email: '.$row[email].'<br>Comentario: '.$row[comentario].'<br><br>';
}
mysql_free_result($result)
?> 

<form action="
editacomentarios.php" method="post">
<input type="
hidden" name="id" value="<?php echo $id;  ?>"><br>
Nick:<br>
<input type="text" name="nick"><br>
E-Mail:<br>
<input type="text" name="email"><br>
Escriba el comentario<br>
<textarea name="comentario" cols="50" rows="10"></textarea>
<br>
<input type="submit" value="Enviar comentario"><br>
</form>
editacomentarios.php
Código PHP:
<?php
$id
=$_POST['id'];
$nick=$_POST['nick']; 
$email=$_POST['email']; 
$comentario=$_POST['comentario']; 
//conecto a la base 

$connect=mysql_connect("localhost","usuario","password"); // se conecta con la db
//Seleccionamos la base 
mysql_select_db("tu_base_de_datos",$connect); 
$query "INSERT INTO comentarios (id,nick,email,comentario) VALUES('$id','$nick','$email','$comentario')";
mysql_query($query) or die(mysql_error());
header("location: ver.php?id=$_POST[id]")
?>

Bueno esto es lo más básico del mundo, simplemente he corregido el código que estaba en las webs que antes nombré, ahora esta en tu mano hacer el borrar.php o meterle estilos con css, html...


Saludos!!
  #2 (permalink)  
Antiguo 28/10/2008, 15:00
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años, 1 mes
Puntos: 34
Respuesta: [APORTE] Sistema de noticias y comentarios

karlic0s, gracias por el aporte, seguramente habrá gente a la que ayude.

Por mi parte, tratare de no ser tan duro, pero le falta muuucho a nivel errores y a nivel seguridad y esto sin testearlo, solo de mirarlo por arriba. Hay cosas básicas que en un sistema abierto directamente no deben existir (ej: llamar a una posición de un array así: $rs[posicion_del_array] o usar un dato de entrada como viene en un query (los GET y POST)).

En fin, este es un foro muuuuy grande, la iniciativa la tomaste y vale mucho, así que ahora a esperar los aportes y así ir solucionando estos pequeños problemas que se ven en el código.

Saludos, y nuevamente felicitaciones.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 28/10/2008, 15:15
Avatar de karlic0s  
Fecha de Ingreso: abril-2007
Ubicación: Cartagena (Murcia)
Mensajes: 241
Antigüedad: 17 años, 7 meses
Puntos: 18
Respuesta: [APORTE] Sistema de noticias y comentarios

Cita:
Iniciado por nicolaspar Ver Mensaje
karlic0s, gracias por el aporte, seguramente habrá gente a la que ayude.

Por mi parte, tratare de no ser tan duro, pero le falta muuucho a nivel errores y a nivel seguridad y esto sin testearlo, solo de mirarlo por arriba. Hay cosas básicas que en un sistema abierto directamente no deben existir (ej: llamar a una posición de un array así: $rs[posicion_del_array] o usar un dato de entrada como viene en un query (los GET y POST)).

En fin, este es un foro muuuuy grande, la iniciativa la tomaste y vale mucho, así que ahora a esperar los aportes y así ir solucionando estos pequeños problemas que se ven en el código.

Saludos, y nuevamente felicitaciones.
Se que falta mucho, se que habran errores de seguridad y demas... yo por mi parte, soy algo novato en PHP, de hecho este código se ha creado en parte a todos los usuarios que me ayudaron en un par de dudas en este mismo foro. El tema de porque este código... simplemente necesitaba un código de noticias y comentarios para mi web y lo busqué en google como se suele hacer :P vi este y se me atragantó por todos los errores que tenia, pero me encapriché en solucionarle todos los errores y al final lo conseguí. En los comentarios de las webs donde estaba este código no habia nadie a quien le hubiera salido y simplemente quería arreglarlo, el código "básico" funciona (que era mi cometido), ahora falta que quien quiera lo modifique a sus necesidades como estoy haciendo yo ahora :P solo quería que la gente casi sin conocimientos de php tuviera un código de noticias y comentarios para su web y como yo no lo encontré por ningun lado me decidí a arreglar el que habia.

Saludos y gracias por tu comentario ^^
  #4 (permalink)  
Antiguo 28/10/2008, 15:34
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 22 años, 1 mes
Puntos: 17
Respuesta: [APORTE] Sistema de noticias y comentarios

Es muy peligroso que usuarios sin apenas conocimientos de PHP cojan código, se pongan a modificarlo a diestro y siniestro y lo pongan en sus webs.

Que funcione no quiere decir que esté bien. Se pueden usar los agujeros de seguridad de los scripts, no sólo para hacer inyección de SQL, sino para atacar a otras web, o al servidor donde está alojada la página, y si éste está compartido podría afectar al resto de páginas alojadas en él.

No es trivial la seguridad en PHP. Está claro que siempre se parte de un estado en el que no se tienen conocimientos, pero yo no publicaría tan a la ligera un sistema en el que no se ha puesto especial enfasis en la seguridad, y menos si es totalmente funcional. Cualquiera puede coger éste código, subirlo a su web y exponerla a mil y un agujeros de seguridad.

No he léido el código, no he analizado cómo está diseñado e implementado, así que no puedo opinar sobre ello, puede que esté muy bien pensado y sea muy funcional, pero ante todo hay que arreglar los peligros de seguridad.

Un buen punto para empezar es una de las reglas de oro de PHP: Valida siempre todo lo que venga a través de POST y GET (y si hay otros métodos, también!), si una cadena no tiene que mostrar HTML, no permitas etiquetas, si va a ir a una consulta, escapala, etc...

Sé que es uno de los puntos más complicados (y aburridos), muchas fallas son dificiles de detectar, pero bajo mi punto de vista es más importante que un script no tenga fallos a que implemente toda la funcionalidad requerida.

Animo con ello.
  #5 (permalink)  
Antiguo 28/10/2008, 15:54
Avatar de karlic0s  
Fecha de Ingreso: abril-2007
Ubicación: Cartagena (Murcia)
Mensajes: 241
Antigüedad: 17 años, 7 meses
Puntos: 18
Respuesta: [APORTE] Sistema de noticias y comentarios

keysher tienes toda la razón... de momento esta este código simple, cuando yo termine el mio (el cual estoy haciendo con un registro de usuarios y un sistema de niveles para editar, borrar noticias...) prometo que lo subiré! :D
Aunque primero era terminar este código que era lo que me urgia y ahora, más facilmente, puesto que no es editar un código con errores, sino ponerle yo otro y me resuslta más facil, le implantaré el tema de la seguridad :P Pero ya digo, que lo único que pretendia con este aporte es ayudar a determinados usuarios que intentaron usar el código de las otras webs y no pudieron, éste esta totalmente depurado de errores y... por lo menos... funciona! :P

Saludos y gracias por sus comentarios
  #6 (permalink)  
Antiguo 28/10/2008, 19:49
 
Fecha de Ingreso: octubre-2008
Mensajes: 102
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: [APORTE] Sistema de noticias y comentarios

Vamos no sean tan duros, el dijo que: "despues yo pagaré por todas sus ayudas", y esta es su forma de pagar, ayudar a alguien que no sepa tanto conocimiento PHP con un sistema de noticias. SI su seguridad es pesima, pero vamos esta recien aprediendo, y aprendio gracias al foro y esta es su forma de agradercerle...

Quizás en un tiempo más venga Sistemas de noticias y comentarios 2.0 con mas opciones, seguridad, etc hecha por el mismo y listo, todo a su debido tiempo...

Ademas si alguien es novato en PHP y baja sistema de noticias, que no saben como se instalan y se ponen a hacer uno ellos mismos saldrian peor...

Sigue asi ^^ Ahora lee sobre seguridad, evitar SQL Injection y otros :P
  #7 (permalink)  
Antiguo 08/12/2008, 04:16
 
Fecha de Ingreso: septiembre-2008
Mensajes: 113
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: [APORTE] Sistema de noticias y comentarios

Por mi parte, muy agradecido a ambos, tanto por el Aporte, como con las criticas (siempre que sean "constructivas")
gracias y s2
  #8 (permalink)  
Antiguo 16/01/2009, 08:00
Avatar de Dragon_Mandarin  
Fecha de Ingreso: marzo-2005
Ubicación: Santiago de Chile
Mensajes: 231
Antigüedad: 19 años, 9 meses
Puntos: 14
Respuesta: [APORTE] Sistema de noticias y comentarios

Estimado karlic0s,

Simple tu sistema, con algunos errores, pero se puede perfeccionar. Se te quedó en el tintero el borrar.php

En el index php, se te olvidó poner '.$row[id_noticia].'" o sea, "noticia" ... id_noticia.

Detalles por el estilo.

Felicitaciones y sigue adelante!!
  #9 (permalink)  
Antiguo 30/01/2009, 20:59
Avatar de MaTyS  
Fecha de Ingreso: enero-2009
Ubicación: Mar del Plata
Mensajes: 220
Antigüedad: 15 años, 11 meses
Puntos: 18
Respuesta: [APORTE] Sistema de noticias y comentarios

Alguien puedo hacer el borrar.php ?
Por favor aportelo :)
  #10 (permalink)  
Antiguo 08/06/2009, 18:58
 
Fecha de Ingreso: mayo-2004
Ubicación: Argentina
Mensajes: 126
Antigüedad: 20 años, 6 meses
Puntos: 1
Respuesta: [APORTE] Sistema de noticias y comentarios

mmmm como se referencia un Comentario a una Noticia??

:S
__________________
Cambalache
  #11 (permalink)  
Antiguo 08/06/2009, 19:21
Avatar de Dragon_Mandarin  
Fecha de Ingreso: marzo-2005
Ubicación: Santiago de Chile
Mensajes: 231
Antigüedad: 19 años, 9 meses
Puntos: 14
Respuesta: [APORTE] Sistema de noticias y comentarios

Cita:
Iniciado por pincho Ver Mensaje
mmmm como se referencia un Comentario a una Noticia??

:S
Revisa este Aporte, ahí está la respuesta a lo que necesitas.

Suerte!
  #12 (permalink)  
Antiguo 08/06/2009, 19:56
 
Fecha de Ingreso: julio-2008
Mensajes: 133
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: [APORTE] Sistema de noticias y comentarios

Muchachos, muy bueno el sistema.

Y como se podria agergar una foto a cada noticia ? O sea, que campo agrego a la BD y despues para mostrarlo en la noticia y para cargarlo en la noticia esa foto ?

Les agradeceria.

Saludos !
  #13 (permalink)  
Antiguo 10/06/2009, 11:40
Avatar de Dragon_Mandarin  
Fecha de Ingreso: marzo-2005
Ubicación: Santiago de Chile
Mensajes: 231
Antigüedad: 19 años, 9 meses
Puntos: 14
Busqueda Respuesta: [APORTE] Sistema de noticias y comentarios

Cita:
Iniciado por ppnet Ver Mensaje
Muchachos, muy bueno el sistema.

Y como se podria agergar una foto a cada noticia ? O sea, que campo agrego a la BD y despues para mostrarlo en la noticia y para cargarlo en la noticia esa foto ?

Les agradeceria.

Saludos !
No se si has estudiado los otros aportes que hay en este apartado especial dedicado, precisamente, a los Aportes hechos por versos integrantes del foro, en particular, los administradores. Allí hay varias soluciones de cómo hacer lo que solicitas.

Bye
  #14 (permalink)  
Antiguo 21/02/2010, 21:03
Avatar de acesino1  
Fecha de Ingreso: octubre-2009
Mensajes: 31
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: [APORTE] Sistema de noticias y comentarios

Gracias andaba buscando esto
  #15 (permalink)  
Antiguo 08/09/2011, 08:29
Avatar de Dragon_Mandarin  
Fecha de Ingreso: marzo-2005
Ubicación: Santiago de Chile
Mensajes: 231
Antigüedad: 19 años, 9 meses
Puntos: 14
Mensaje Respuesta: [APORTE] Sistema de noticias y comentarios

Hola, karlicOs!

Hace tiempo que no veía tu post.

Bueno, ¿sabes?, decidí mejorar tu código.

Veamos la parte del FrontEnd, o sea, lo que ve todo el mundo, pero antes, la base de datos, que también modifiqué:

Código MySQL:
Ver original
  1. -- phpMyAdmin SQL Dump
  2. -- version 2.10.3
  3. -- http://www.phpmyadmin.net
  4. --
  5. -- Servidor: localhost
  6. -- Tiempo de generación: 08-09-2011 a las 11:25:45
  7. -- Versión del servidor: 5.0.51
  8. -- Versión de PHP: 5.2.6
  9.  
  10. SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
  11.  
  12. --
  13. -- Base de datos: `karlicos`
  14. --
  15.  
  16. -- --------------------------------------------------------
  17.  
  18. --
  19. -- Estructura de tabla para la tabla `categoria`
  20. --
  21.  
  22. CREATE TABLE `categoria` (
  23.   `id` int(10) NOT NULL auto_increment,
  24.   `categoria` varchar(190) NOT NULL,
  25.   PRIMARY KEY  (`id`)
  26. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
  27.  
  28. --
  29. -- Volcar la base de datos para la tabla `categoria`
  30. --
  31.  
  32. INSERT INTO `categoria` VALUES (1, 'Cultura');
  33. INSERT INTO `categoria` VALUES (2, 'Astronomia');
  34. INSERT INTO `categoria` VALUES (3, 'Arte');
  35. INSERT INTO `categoria` VALUES (4, 'Musica');
  36. INSERT INTO `categoria` VALUES (5, 'Deportes');
  37. INSERT INTO `categoria` VALUES (6, 'Conspiraciones');
  38. INSERT INTO `categoria` VALUES (7, 'Programacion');
  39.  
  40. -- --------------------------------------------------------
  41.  
  42. --
  43. -- Estructura de tabla para la tabla `comentarios`
  44. --
  45.  
  46. CREATE TABLE `comentarios` (
  47.   `nick` varchar(190) NOT NULL,
  48.   `email` varchar(90) NOT NULL,
  49.   `comentario` longtext NOT NULL,
  50.   PRIMARY KEY  (`id`)
  51. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
  52.  
  53. --
  54. -- Volcar la base de datos para la tabla `comentarios`
  55. --
  56.  
  57.  
  58. -- --------------------------------------------------------
  59.  
  60. --
  61. -- Estructura de tabla para la tabla `noticias`
  62. --
  63.  
  64. CREATE TABLE `noticias` (
  65.   `id_noticia` int(4) NOT NULL auto_increment,
  66.   `autor` varchar(255) NOT NULL,
  67.   `titulo` varchar(255) NOT NULL,
  68.   `categoria` varchar(255) NOT NULL,
  69.   `fecha` datetime NOT NULL,
  70.   `noticia` longtext,
  71.   `foto` varchar(255) NOT NULL,
  72.   PRIMARY KEY  (`id_noticia`)
  73. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ;
  74.  
  75. --
  76. -- Volcar la base de datos para la tabla `noticias`
  77. --
  78.  
  79. INSERT INTO `noticias` VALUES (1, 'John Doe', 'El nuevo COINTELPRO: Ciberguerra de ''hacktivistas'' y la subversión de Anonymous', 'Conspiraciones', '2011-09-07 11:58:17', 'En años recientes ha surgido una nueva forma de activismo en Internet. Con sus numerosas ''filtraciones'' y ''operaciones'', grupos como Wikileaks y su ''hacktivismo'' derivado conocido como ''Anonymous'', han alcanzado una amplia exposición en los principales medios de comunicación. Con el personaje ''V'' de la película de V de Vendetta como inspiración, jóvenes de todo el mundo reúnen fuerzas detrás de la idea de que "algo está muy mal en este país", y se lo hacen saber a todos por medio de las protestas anónimas, hacktivismo en línea en contra de grupos y organizaciones que ven como parte del problema, o con el apoyo a las revoluciones en Egipto, Túnez, y en otros lugares. <br><br>\r\n\r\nSin embargo, el hacktivismo en Internet tiene un precio. De ''terroristas domésticos'', ahora tenemos el potencial para ''hacker terroristas domésticos'', y los principales gobiernos Occidentales y las corporaciones de medios de comunicación rápidamente han comenzado a pregonar este nuevo ángulo en la ''guerra contra el terrorismo''. The Economist, por ejemplo, describió a la ciberguerra actual como "el quinto dominio de la guerra", y el Sub-secretario de la Defensa estadounidense, William J. Lynn, declaró en el 2010 que "como materia doctrinal, el Pentágono ha reconocido formalmente el ciberespacio como un nuevo dominio de guerra... [que] se ha vuelto tan crítico como las operaciones militares en tierra, mar, aire y espacio." \r\n<br><br>\r\nNo obstante, el verdadero problema potencial relacionado con los grupos ''hacktivistas'', es la posibilidad de infiltraciones por parte de operativos del gobierno y la desviación de sus agendas justicieras para que sirvan a las agendas del gobierno y el ejército de EEUU. Mientras que la ciberguerra normalmente está dirigida a poderes extranjeros hostiles, podría decirse que es la hermana menor de COINTELPRO. Justo como la supuesta amenaza ''terrorista'' ha avanzado lenta pero progresivamente a lo domestico con la acentuada asociación propagandística entre la disidencia social y la amenaza de ''terrorismo doméstico'', cada vez más la ciberguerra ha fijado como objetivo a aquellos ciudadanos que toman una posición crítica ante los crímenes de los poderes corporativos, económicos, militares y políticos actuales. Después de todo, la única manera de reprimir a los disidentes que están en contra de los crímenes y la corrupción, tan sistémicos y obvios, es a través de una guerra de información, es decir, propaganda. Por lo tanto, es probable que la ciberguerra y el ''hacktivismo'' jueguen un rol central en COINTELPRO del siglo 21. \r\n<br><br>\r\nPor ende, no es ninguna sorpresa que la ciberguerra haya engendrado toda una industria de firmas y organizaciones privadas y militarizadas, especializadas en esta nueva forma de ''contra inteligencia''. \r\n<br><br>\r\n‘¿A qué foro perteneces actualmente?’ ‘Ciberguerreros’ del ejército estadounidense a sus estaciones, y por toda la red.\r\nComo Sott.net ha venido diciendo por años, COINTELPRO está vivo y coleando, pero no es probable que leas al respecto en los medios de comunicación corporativos. A miembros del público, así como también a los participantes de nuevas formas de activismo ''anónimo'', podría impactarles saber que tales grupos sufren infiltraciones de manera activa e incluso creados con propósitos de división, distracción e interferencia de los objetivos del activismo social. \r\n<br><br>\r\nEl caso reciente de Aaron Barr, CEO de la compañía de seguridad ''HBGary Federal'', que supuestamente se infiltró a Anonymous para descubrir sus identidades verdaderas tan solo para terminar con las cuentas de su compañía y correo electrónico hackeadas, es un buen ejemplo. \r\n<br><br>\r\nRecientemente, Sott.net ha revelado una operación similar, cuyas implicaciones van más allá de una simple infiltración con el propósito de ''recolectar información''. Como mostraremos, los empleados de una ''consultora privada de armas de fuego y seguridad'', Jedburgh Corporation, fueron los responsables de crear y mantener un foro en internet basado en ''Anonymous'', worldrevolt.net, el grupo detrás de las operaciones ''Onslaught'' y ''Tennessee''. Mientras que su foro ''no está activo debido a mantenimiento'' (curiosamente, se desconectaron de la red mientras realizábamos nuestra investigación), todavía pueden ver su página de Facebook, la página de ''Operación Tennessee'' y un video de su reciente ''Operación Onslaught'' en Nashville. Aquí está la descripción, tomada de sus propias páginas de Facebook:', '');
  80.  
  81. -- --------------------------------------------------------
  82.  
  83. --
  84. -- Estructura de tabla para la tabla `usuarios`
  85. --
  86.  
  87. CREATE TABLE `usuarios` (
  88.   `usuario` tinytext NOT NULL,
  89.   `pass` tinytext NOT NULL,
  90.   `nivel_acceso` smallint(4) unsigned NOT NULL default '0',
  91.   PRIMARY KEY  (`ID`),
  92.   UNIQUE KEY `ID` (`ID`)
  93.  
  94. --
  95. -- Volcar la base de datos para la tabla `usuarios`
  96. --
  97.  
  98. INSERT INTO `usuarios` VALUES (1, 'Admin', '21232f297a57a5a743894a0e4a801fc3', 0);
  #16 (permalink)  
Antiguo 08/09/2011, 08:30
Avatar de Dragon_Mandarin  
Fecha de Ingreso: marzo-2005
Ubicación: Santiago de Chile
Mensajes: 231
Antigüedad: 19 años, 9 meses
Puntos: 14
Respuesta: [APORTE] Sistema de noticias y comentarios

En el index.php, creo que es mejor dejar un poco de texto, para evitar una página con textos y textos, o sea, "asabanada" y el clásico enlace "Leer más ..."

Entonces, el index.php:

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  5. <title>Sistema de Noticias de KarlicOs :::.</title>
  6. </head>
  7.  
  8. <body>
  9. <?php
  10. include ('includes/connect.php');
  11. //hacemos las consultas
  12. $result=mysql_query("select * from noticias order by fecha Desc", $connect);
  13. $totalregistros=mysql_num_rows($result);
  14. $result2=mysql_query("select * from comentarios where id",$connect);
  15. $totalcomentarios=mysql_num_rows($result2);
  16. ?>
  17. </head>
  18. <body>
  19.  
  20. <?php
  21. //Recogemos las consultas en un array y las mostramos
  22. while($row=mysql_fetch_array($result))
  23.             {
  24. $result2=mysql_query("select * from comentarios where id='".$row[id_noticia]."'",$connect);
  25. $totalcomentarios=mysql_num_rows($result2);
  26. echo '<h3>'.$row[titulo].'</h3>';
  27. //echo '<br><br>';
  28. //echo ' '.$row[noticia].' <br>';
  29. echo substr($row['noticia'], 0, 550);
  30. echo '&nbsp;<strong>...</strong><br><br>';
  31. echo '<strong>Autor:&nbsp;'.$row[autor].'&nbsp; |&nbsp;Publicado en:&nbsp; '.$row[categoria].'&nbsp; |&nbsp;El:&nbsp; '.$row[fecha].'&nbsp;|&nbsp;Comentarios:&nbsp;('.$totalcomentarios.')&nbsp;|&nbsp;<a href="ver.php?id='.$row[id_noticia].'">Leer mas ...</a></strong>';
  32.     }
  33. ?>  
  34. </body>
  35. </html>

Como podrán ver, la conexión a la base de datos está en una carpeta (includes). Es más adecuado.

La página para ver el resto de la noticia, o sea ver.php:

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  5. <title>Sistema de Noticias de KarlicOs - Ver Noticia :::.</title>
  6. </head>
  7.  
  8. <body>
  9. <?php
  10. require ('includes/connect.php');
  11. $id=$_GET["id"];
  12. $result=mysql_query("select * from noticias where id_noticia='$id'",$connect);
  13. while($row=mysql_fetch_array($result))
  14. {
  15. $result2=mysql_query("select * from comentarios where id='$id'",$connect);
  16. $totalcomentarios=mysql_num_rows($result2);
  17. echo '<h3>'.$row[titulo].'</h3>';
  18. echo ''.$row[noticia].'<br><br><br>';
  19. echo 'Autor:&nbsp;'.$row[autor].' | '.$row[categoria].' |&nbsp;Publicado en:&nbsp; '.$row[fecha].'';
  20. //echo '<a href="editarcomentario.php?id='.$row[id].'">Editar</a> | <a href="borrar.php?id='.$row[id].'">Borrar</a>';
  21. }
  22. ?>
  23. <br><br><br><br>
  24. <?php
  25. echo '<h2>Comentarios:&nbsp;('.$totalcomentarios.')</h2><br>';
  26. //hago el llamado a la base
  27. $result=mysql_query("select * from comentarios where id='$id'",$connect);
  28. //Bucle while para visualizarlos
  29. while($row=mysql_fetch_array($result))
  30. {
  31. echo '<h4>Nick: '.$row[nick].':</h4>Email: '.$row[email].'<br>Comentario: '.$row[comentario].'<br><br>';
  32. }
  33. ?>
  34.  
  35. <form action="publicacomentario.php" method="post">
  36. <input type="hidden" name="id" value="<?php echo $id;  ?>"><br>
  37. Nick:<br>
  38. <input type="text" name="nick"><br>
  39. E-Mail:<br>
  40. <input type="text" name="email"><br>
  41. Escriba el comentario<br>
  42. <textarea name="comentario" cols="70" rows="15"></textarea>
  43. <br>
  44. <input type="submit" value="Enviar comentario"><br>
  45. </form>
  46. </body>
  47. </html>

Y ahora, la página que procesa el comentario, publicacomentario.php:

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  5. <title>Sistema de Noticias de KarlicOs - Publica Comentarios :::.</title>
  6. </head>
  7.  
  8. <body>
  9. <?php
  10. require ('includes/connect.php');
  11. $id=$_POST['id'];
  12. $nick=$_POST['nick'];
  13. $email=$_POST['email'];
  14. $comentario=$_POST['comentario'];
  15. $query = "INSERT INTO comentarios (id,nick,email,comentario) VALUES('$id','$nick','$email','$comentario')";
  16. mysql_query($query) or die(mysql_error());
  17. header("location: ver.php?id=$_POST[id]")
  18. ?>
  19. </body>
  20. </html>

Bueno, el resto de lo se requiere para publicar noticias, lo separé en varias páginas que van dentro de una carpeta, admin, a la cual se accede mediante Usuario y Contraseña. Pero esto lo publicaré otro día.

Saludos!

Ricardo
  #17 (permalink)  
Antiguo 08/09/2011, 08:33
Avatar de Dragon_Mandarin  
Fecha de Ingreso: marzo-2005
Ubicación: Santiago de Chile
Mensajes: 231
Antigüedad: 19 años, 9 meses
Puntos: 14
Mensaje Respuesta: [APORTE] Sistema de noticias y comentarios

Y, finalmente, la conexión a la base de datos, en la carpeta includes:

connect.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. //conectamos a la base  
  4. $connect=mysql_connect("localhost","usuario","password");  
  5. //Seleccionamos la base  
  6. mysql_select_db("karlicos",$connect);  
  7.  
  8. ?>
  #18 (permalink)  
Antiguo 08/09/2011, 08:40
Avatar de Dragon_Mandarin  
Fecha de Ingreso: marzo-2005
Ubicación: Santiago de Chile
Mensajes: 231
Antigüedad: 19 años, 9 meses
Puntos: 14
Exclamación Respuesta: [APORTE] Sistema de noticias y comentarios

Ah!, por cierto,

huelga decir que hay un factor crucial en la parte de los comentarios, como es agregarle el elemento seguridad, ideal con captcha y cómo evitar que si alguien pincha el botón se publique igual, aunque uno o todos los campos estén vacíos. Pero esa es tarea que dejo a los más expertos!

chau
  #19 (permalink)  
Antiguo 09/09/2011, 05:34
 
Fecha de Ingreso: septiembre-2011
Mensajes: 38
Antigüedad: 13 años, 3 meses
Puntos: 5
Respuesta: [APORTE] Sistema de noticias y comentarios

Por Favor dragon puedes decirme si la parte de publicar noticias que querias poner sirve la qu puso karlicos o espero a que la pongas tu??
  #20 (permalink)  
Antiguo 09/09/2011, 06:26
 
Fecha de Ingreso: septiembre-2011
Mensajes: 38
Antigüedad: 13 años, 3 meses
Puntos: 5
Respuesta: [APORTE] Sistema de noticias y comentarios

Bueno, les he creado unos archivos que crean una categoria, los archivos son agcat.php y agregarcategoria.php

agcat.php
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Agregar Categoria</title>
</head>

<body>
<form action="agregarcategoria.php" method="post">
    <input type="hidden" name="id" value="<?php echo $id;  ?>"><br>
    Categoria:<br>
    <input type="text" name="categoria"><br>
    <br>
    <input type="submit" value="Crear"><br>
    </form>

</body>
</html>
agregarcategoria.php
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Agrega una categor&iacute;a</title>
</head>

<body>
<p>
  <?php
require ('includes/connect.php');
$id=$_POST['id'];
$categoria=$_POST['categoria'];
$query "INSERT INTO categoria (id,categoria) VALUES('$id','$categoria')";
    
mysql_query($query) or die(mysql_error());
    echo 
"Los datos se han guardado correctamente.";
?>
</body>
</html>
Bueno, lo he creado yo estos archivos, y estoy contento ya que es de las primeras cosas que hago solito desde que he empezado hace poco con el PHP :D :D :D

Un Saludo!!
  #21 (permalink)  
Antiguo 09/09/2011, 09:03
Avatar de Dragon_Mandarin  
Fecha de Ingreso: marzo-2005
Ubicación: Santiago de Chile
Mensajes: 231
Antigüedad: 19 años, 9 meses
Puntos: 14
Respuesta: [APORTE] Sistema de noticias y comentarios

Cita:
Iniciado por lokor712 Ver Mensaje
Por Favor dragon puedes decirme si la parte de publicar noticias que querias poner sirve la qu puso karlicos o espero a que la pongas tu??

No, amigo, no sirve tal como está. Estoy trabajando en ello, espera hasta la semana que viene.

Saludos y buen fin de semana!

Ricardo
  #22 (permalink)  
Antiguo 09/09/2011, 13:06
Avatar de Dragon_Mandarin  
Fecha de Ingreso: marzo-2005
Ubicación: Santiago de Chile
Mensajes: 231
Antigüedad: 19 años, 9 meses
Puntos: 14
De acuerdo Respuesta: [APORTE] Sistema de noticias y comentarios

¡Cambio de planes! Por asuntos del laburo, la semana que viene no tendré tiempo ni para respirar, así es que, es ahora o nunca!

El sistema de noticias y comentarios ha sido modificado, mejorado e incluido cms (admin), con editor WYSIWYG para formulario que publica-edita noticias y he dejado semi concluido todo, salvo el asunto de publicar la noticia y subir una foto, al mismo tiempo; está hecho el formulario, con los respectivos campos y sobre todo, el que sirve para buscar una foto a fin de incluirla en cada noticia. Pero, desgraciadamente, no me ha resultado lo de subir la foto a una carpeta (uploads, que obviamente, está fuera del admin). Así es que esta tarea la dejo en manos de personas más expertas y ruego que si solucionan el problema, suban el sistema y lo comparten con todos nosotros. A todo esto, es mucho mejor que la ruta o el nombre de la imagen quede almacenada en la base de datos y no en un campo blob, método que no recomiendo, ya que constipan a la pobre base de datos en caso que publiquen mucha información.

Bueno, como dicen los gringos, este sistema es de la onda "use as it, as your own risk" jajaja
Con esto quiero decir que falta mucho por resolver; la obra gruesa está hecha. Pero, a modo de ejemplo, el formulario de los comentarios es desastroso -por decirlo de un modo suave-, ya que si uno pincha el botón de publicar, aunque no haya introducido nada, la data igual es enviada, o sea, ¡sale la nada misma! Equivalente a un comentario fantasma!! jejeje

Bueno, hay que resolver eso y poner comportamientos javascript para hacer que los campos sean obligatorios, etc ... etc ...

¿Seguridad en cuanto a inyección sql?? Oooooh, si, ya lo creo! Tarea para quien se interese en tomar la posta y continuar ... quizás con el tiempo hasta podríamos hacerle el peso a WordPress!! ahahahahah ... Who knows??

Subi todo a Megaupload: http://www.megaupload.com/?d=PUEDIMKW

Dentro del comprimido (apenas 106.69 Kb) está todo y el script es sumamente fácil de montar; completan con su propia data el documento que está en la carpeta includes y listo.

Espero que lo disfruten y, repito, ojalá las almas caritativas y expertas en php+MySQL en este foro, resuelvan los problemas mencionados, entre otros, que no son graves en todo caso.

Saludos,

Ricardo

PD:- Suele ocurrir que el tiempo o número de descargas en Megaupload se termina; avisen y vuelvo a subir el comprimido, otra vez. Ahora si, chau, será hasta una próxima!
  #23 (permalink)  
Antiguo 09/09/2011, 13:09
Avatar de Dragon_Mandarin  
Fecha de Ingreso: marzo-2005
Ubicación: Santiago de Chile
Mensajes: 231
Antigüedad: 19 años, 9 meses
Puntos: 14
Respuesta: [APORTE] Sistema de noticias y comentarios

A todo esto, lokor712, gracias por tu aporte! Lo incluí en el cms.

Ya, ahora sí, me dejo de hinchar!

Chau
  #24 (permalink)  
Antiguo 09/09/2011, 13:54
 
Fecha de Ingreso: septiembre-2011
Mensajes: 38
Antigüedad: 13 años, 3 meses
Puntos: 5
Respuesta: [APORTE] Sistema de noticias y comentarios

Muchas gracias Ricardo, voy a probar tu CMS, y intentaré arreglar lo de los comentarios fantasma, creo que lo puedo hacer, si lo consigo, tener mi palabra de que estará en este foro :D

Buen Fin de Semana!!
  #25 (permalink)  
Antiguo 09/09/2011, 15:26
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 10 meses
Puntos: 89
Respuesta: [APORTE] Sistema de noticias y comentarios

Karlic0s gracias por tu aporte...
Te doy un tach de Karma para que no dejes de hacer estas cosas! ...
Esto habla mas bien de vos, que muchos del foro!
__________________
Mono programando!
twitter.com/eguimariano
  #26 (permalink)  
Antiguo 09/09/2011, 16:48
Avatar de Dragon_Mandarin  
Fecha de Ingreso: marzo-2005
Ubicación: Santiago de Chile
Mensajes: 231
Antigüedad: 19 años, 9 meses
Puntos: 14
Respuesta: [APORTE] Sistema de noticias y comentarios

Cita:
Iniciado por lokor712 Ver Mensaje
Muchas gracias Ricardo, voy a probar tu CMS, y intentaré arreglar lo de los comentarios fantasma, creo que lo puedo hacer, si lo consigo, tener mi palabra de que estará en este foro :D

Buen Fin de Semana!!

Gracias, amigo!

Por mi parte conseguí lo del formulario para publicar la noticia y subir la foto y que el nombre de la misma quede almacenada en la base de datos, con lo cual intervenir el index.p y ver.php del frontend para mostrar la foto, es juego de nenes. Pero eso ya será la semana que viene.

Bien, la nueva página para publicar la noticia, publicar.php:

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  5. <title>Publicar noticia</title>
  6. </head>
  7.  
  8. <body>
  9. <form action="publicando.php" method="post" enctype="multipart/form-data" name="noticia">
  10. Agregar las noticias preferible en formato HTML
  11. T&iacute;tulo de la Noticia<br />
  12.       <input type="text" name="titulo" size="70" id="titulo" class="inputTitulo" />
  13.       <br />
  14. Autor:<br />
  15.       <input type="text" name="autor" size="30" id="autor" class="inputAutor" />
  16.       <br />
  17.       Texto de la Noticia<br />
  18.       <textarea name="noticia" rows="20" cols="90" id="noticia"></textarea>
  19.       <br />
  20.       <input name="fecha" type="hidden" value="<?=date("d-m-Y"); ?> <?=date("h:i:s");?>" />
  21.       <br />
  22.       <label>
  23.         <input type="file" name="foto" id="foto" />
  24.       </label>
  25.       <br />
  26.     Categor&iacute;a<br />
  27.     <select name="categoria" id="categoria">
  28.       <option value="">Escoger de la Lista</option>
  29.       <?php
  30.         include ('includes/connect.php');
  31.     // asignamos una categoria a la noticia
  32.     // mediante un select
  33.     $sqlQuery = mysql_query("SELECT * FROM categoria", $connect)
  34.                                 or die(mysql_error);
  35.     // creamos un bucle while
  36.     // que nos muestre todas las categorias
  37.     // que tenemos guardadas en la BD
  38.     while($row = mysql_fetch_array($sqlQuery)){ ?>
  39. <option value='<?=$row[categoria]; ?>'><?=$row[categoria]; ?></option>
  40.     <? }    ?>
  41.     </select>
  42.     <br />
  43.     <br />
  44.   <input type="submit" name="enviar" value="Enviar" class="button" />  
  45.   <input type="reset" name="button" id="button" value="Restablecer" class="button" />
  46. </form><br />
  47. </body>
  48. </html>

y la página que procesa la data, publicando.php:

Código PHP:
Ver original
  1. <?php
  2. //Subimos le imagen a la carpeta, en este caso "..uploads"
  3. if (isset($_POST['enviar'])) {
  4.     if(is_uploaded_file($_FILES['foto']['tmp_name'])) { // verifica haya sido cargado el archivo
  5. $ruta= "../uploads/".$_FILES['foto']['name']; // Se guardaría dentro de "fotos" con el nombre original
  6. // $ruta= "carpeta/nuevo_nombre.jpg"; si también se quiere renombrar
  7. move_uploaded_file($_FILES['foto']['tmp_name'], $ruta);
  8.      if(move_uploaded_file($_FILES['foto']['tmp_name'], $_FILES['foto']['name'])) { // se coloca en su lugar final
  9. echo "<b>Upload exitoso!. Datos:</b><br>";
  10. echo "Nombre: <i><a href=\"".$_FILES['foto']['name']."\">".$_FILES['foto']['name']."</a></i><br>";
  11. echo "Tipo MIME: <i>".$_FILES['foto']['type']."</i><br>";
  12. echo "Peso: <i>".$_FILES['foto']['size']." bytes</i><br>";
  13. echo "<br><hr><br>";
  14.         }
  15.     }
  16. }
  17. //************ PUBLICAMOS LA NOTICIA *******************/
  18. include ('../includes/connect.php');
  19. //$id_noticia = $_POST["id_noticia"];
  20. $autor = $_POST[autor];
  21. $titulo = $_POST[titulo];
  22. $categoria = $_POST[categoria];
  23. $fecha = $_POST[fecha];
  24. $noticia = $_POST[noticia];
  25. //$foto = $_POST[foto];
  26. $foto = $ruta= $_FILES['foto']['name'];
  27.         echo $ruta;
  28. //inserto los registros
  29. $query = "INSERT INTO noticias (autor, titulo, categoria, fecha, noticia, foto)
  30.        VALUES('$autor', '$titulo', '$categoria', NOW(),'$noticia', '$foto')";
  31. mysql_query($query) or die(mysql_error());
  32. header("location: panel.php");
  33. //************ FIN de PUBLICAMOS LA NOTICIA *******************/
  34. ?>

Y lo que hay que hacer en el borrado de noticias que ya tienes en tu poder es cuando eliminamos la noticia, eliminemos físicamente la foto asociada que se almacenó en la carpeta predefinida. Eso se hace con un unlinck, pero ahora sí que estoy corto de tiempo. A ver si tú resuelves el asunto.

Saludos y buen fin de semana!
  #27 (permalink)  
Antiguo 09/09/2011, 16:52
Avatar de Dragon_Mandarin  
Fecha de Ingreso: marzo-2005
Ubicación: Santiago de Chile
Mensajes: 231
Antigüedad: 19 años, 9 meses
Puntos: 14
Respuesta: [APORTE] Sistema de noticias y comentarios

Por cierto, a fin de conseguir que al subir el sistema nos haga una miniatura, es lo deseable. Hay que usar alguna clase. EN el foro hay código de sobra y si consigues que alguna funcione, estupendo. Esto es para mostrar en el index.php y ver.php una miniatura y no la foto en su tamaño original; si alguien quiere verla, pues se enlaza o se utiliza el lightbox y ya está.

Desafío para la semana que viene; ojalá alguien ayude con esto!

chau
  #28 (permalink)  
Antiguo 10/09/2011, 03:21
 
Fecha de Ingreso: septiembre-2011
Mensajes: 38
Antigüedad: 13 años, 3 meses
Puntos: 5
Respuesta: [APORTE] Sistema de noticias y comentarios

Gracias Ricardo!! Pero a mi no se me veian los botones enviar y restablecer, por tanto, arreglé un opco el código, si a alguien le pasa lo mismo que a mi pues aquí tiene el código:

publicar.php

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>Publicar noticia</title>
</head>
 
<body>
<form action="publicando.php" method="post" enctype="multipart/form-data" name="noticia">
Agregar las noticias preferible en formato HTML
T&iacute;tulo de la Noticia<br />
      <input type="text" name="titulo" size="70" id="titulo" class="inputTitulo" />
      <br />
Autor:<br />
      <input type="text" name="autor" size="30" id="autor" class="inputAutor" />
      <br />
      Texto de la Noticia<br />
      <textarea name="noticia" rows="20" cols="90" id="noticia"></textarea>
      <br />
      <input name="fecha" type="hidden" value="<?=date("d-m-Y"); ?> <?=date("h:i:s");?>" />
      <br />
      <label>
        <input type="file" name="foto" id="foto" />
      </label>
      <br />
    Categor&iacute;a<br />
    <select name="categoria" id="categoria">
      <option value="">Escoger de la Lista</option>
      <?php
      
require ('../includes/connect.php');
    
// asignamos una categoria a la noticia
    // mediante un select
    
$sqlQuery mysql_query("SELECT * FROM categoria"$connect)
                                or die(
mysql_error);
    
// creamos un bucle while
    // que nos muestre todas las categorias
    // que tenemos guardadas en la BD
    
while($rowCat mysql_fetch_array($sqlQuery)){
        echo 
"<option value='$rowCat[categoria]'>$rowCat[categoria]</option>";
    }
    
?>
    </select>
    <br />
    <br />
  <input type="submit" name="enviar" value="Enviar" class="button" />   
  <input type="reset" name="button" id="button" value="Restablecer" class="button" />
</form><br />
</body>
</html>
Muy buen trabajo Ricardo!! Yo hoy no se si podré trabajar en el CMS ya que me tengo que ir pero en cuanto tenga tiempo pues haré lo de los comentario fantasma y intentaré lo de que se vean las imagenes en miniatura

Un Saludo!!

EDIT: Ya he encontrado el error del publicacomentario.php!! lo que hace es publicarlo por ejemplo en la noticia 85, y tu si haces el primer comentario será visible, con la id 85, pero si haces otro te dice que está repetido, bueno, he editado eso, lo malo es que ahora no salen los comentarios jajaja será problema del ver.php porque en la base de datos figura como que si que existe y en el panel de comentarios también, bueno, a ver que se puede hacer.

EDIT 2: Bien!! He conseguido que los comentarios se me agrupen en la noticia que quiero añadiendo una fila en la tabla comentarios, ahora me da un error en la variable $result, aver si lo puedo solucionar, sinó pediré un poco de ayuda jejeje

Última edición por lokor712; 10/09/2011 a las 04:03
  #29 (permalink)  
Antiguo 10/09/2011, 04:58
 
Fecha de Ingreso: septiembre-2011
Mensajes: 38
Antigüedad: 13 años, 3 meses
Puntos: 5
Respuesta: [APORTE] Sistema de noticias y comentarios

Ya está solucionado el problema de los comentarios, os explico los pasos:

Ir a vuestro PhpMyAdmin, a SQL y poner esto:

Código PHP:
ALTER TABLE `comentariosCHANGE `id` `id_comentarioINT11 NOT NULL AUTO_INCREMENT 
Cuendo lo haiais puesto, volver a SQL y poner esto:
Código PHP:
ALTER TABLE `comentariosADD `noticia_idINT11 NOT NULL 
Vale, ya tedréis editada la fila id y añadida la fila noticia_id, bueno, pues ahora vienen los códigos, editaremos los códigos publicacomentario.php y ver.php

publicacomentario.php
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>Sistema de Noticias de KarlicOs - Publica Comentarios :::.</title>
</head>

<body>
<?php
require ('includes/connect.php');
$id=$_POST['id'];
$nick=$_POST['nick']; 
$email=$_POST['email']; 
$comentario=$_POST['comentario']; 
$query "INSERT INTO comentarios (nick,email,comentario,noticia_id) VALUES('$nick','$email','$comentario','$id')";
mysql_query($query) or die(mysql_error());
header("location: ver.php?id=$_POST[id]")
?> 
</body>
</html>
Y ver.php
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>Sistema de Noticias de KarlicOs - Ver Noticia :::.</title>
<script type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+': Es necesario una dirección de e-mail.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+': Es necesario que contenga un numero.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+': Es necesario que contenga un numero entre '+min+' y '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+': Es necesario que escriba un nick/comentario.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>

<body>
<?php
require ('includes/connect.php');
$id=$_GET["id"];
$result mysql_query("select * from noticias where id_noticia='$id'",$connect);
while(
$row mysql_fetch_array($result))
{
$result2=mysql_query("select * from comentarios where noticia_id='$id'",$connect);
$totalcomentarios=mysql_num_rows($result2);
echo 
'<h3>'.$row[titulo].'</h3>';
echo 
''.$row[noticia].'<br><br><br>';
echo 
'Autor:&nbsp;'.$row[autor].' | '.$row[categoria].' |&nbsp;Publicado en:&nbsp; '.$row[fecha].'';
//echo '<a href="editarcomentario.php?id='.$row[id].'">Editar</a> | <a href="borrar.php?id='.$row[id].'">Borrar</a>';
}
mysql_free_result($result)
?> 
<br><br><br><br>
<?php
echo '<h2>Comentarios:&nbsp;('.$totalcomentarios.')</h2><br>';
//hago el llamado a la base
$result=mysql_query("select * from comentarios where noticia_id='$id'",$connect);
//Bucle while para visualizarlos
while($row=mysql_fetch_array($result))
{
echo 
'<h4>Nick: '.$row[nick].':</h4>Email: '.$row[email].'<br>Comentario: '.$row[comentario].'<br><br>';
}
mysql_free_result($result)
?> 

<form action="publicacomentario.php" method="post" onsubmit="MM_validateForm('nick','','R','email','','RisEmail','comentario','','R');return document.MM_returnValue">
<input type="hidden" name="id" value="<?php echo $id;  ?>"><br>
Nick:<br>
<input type="text" name="nick"><br>
E-Mail:<br>
<input type="text" name="email"><br>
Escriba el comentario<br>
<textarea name="comentario" cols="70" rows="15"></textarea>
<br>
<input type="submit" value="Enviar comentario"><br>
</form>
</body>
</html>
Bueno, pues ahora, ya podéis comentar y se añadiran todos los comentarios en la noticia que se haian comentado, ahh!! y también están validados los campos, están validados con la validación de dreamweaver, si la quereis modificar, pues modificar lo que querais.

Un Saludo!!
  #30 (permalink)  
Antiguo 10/09/2011, 05:06
 
Fecha de Ingreso: septiembre-2011
Mensajes: 38
Antigüedad: 13 años, 3 meses
Puntos: 5
Respuesta: [APORTE] Sistema de noticias y comentarios

Se me olvidaba!! También hay que editar el index.php

index.php
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>Sistema de Noticias de KarlicOs :::.</title>
</head>

<body>
<?php
include ('includes/connect.php');
//hacemos las consultas 
$result=mysql_query("select * from noticias order by fecha Desc"$connect); 
$totalregistros=mysql_num_rows($result); 
$result2=mysql_query("select * from comentarios where id_comentario",$connect);
$totalcomentarios=mysql_num_rows($result2);
?> 
</head> 
<body> 

<?php
//Recogemos las consultas en un array y las mostramos 
while($row=mysql_fetch_array($result))
            {
$result2=mysql_query("select * from comentarios where id_comentario='".$row[id_noticia]."'",$connect);
$totalcomentarios=mysql_num_rows($result2);
echo 
'<h3>'.$row[titulo].'</h3>';
//echo '<br><br>';
//echo ' '.$row[noticia].' <br>';
echo substr($row['noticia'], 0550);
echo 
'&nbsp;<strong>...</strong><br><br>';
echo 
'<strong>Autor:&nbsp;'.$row[autor].'&nbsp; |&nbsp;Publicado en:&nbsp; '.$row[categoria].'&nbsp; |&nbsp;El:&nbsp; '.$row[fecha].'&nbsp;|&nbsp;Comentarios:&nbsp;('.$totalcomentarios.')&nbsp;|&nbsp;<a href="ver.php?id='.$row[id_noticia].'">Leer mas ...</a></strong>';
    }
mysql_free_result($result)
?>  
</body>
</html>
Un saludo!! Y aver cuando nos volvemos a ver que ahora no se si podré editar el CMS
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

SíEste tema le ha gustado a 18 personas




La zona horaria es GMT -6. Ahora son las 01:08.