¿Que es este sistema?
Con este sistema puedes crear tus propias noticias y agregarles comentarios.
¿Pero me puedes hacer inyeccion html?
No, porque he puesto un sistema que al insertar codigos html los imprime pero no se ejecutan.
¿Como agrego las noticias?
Te tienes que ir al index.php poner el nombre y contraseña y desde hay podras crear las noticias
¿Cual es el nombre y la contraseña?
Por defecto
El nombre:
admin
La contraseña:
admin
Puedes cambiar el nombre y la contraseña en el archivo llamado
index.php ¿Cuantos archivos son?
Son 4 archivos
1- Comentarios.php
2- Conectar.php
3- Index.php
4- Noticias.php
¿Cual es el archivo para modificar la conexion a la base de dato?
El archivo se llama
conectar.php ¿Este sistema tiene filtros?
Si, y son los siguientes:
Para crear una noticia:
1- El titulo debe tener como minimo 6 caracteres.
2- El contenido debe tener como minimo 20 caracteres.
3- El titulo y el contenido no pueden estar en blanco.
Para publicar un comentario:
1- El nombre debe tener como minimo 5 caracteres.
2- El mensaje debe tener como minimo 10 caracteres.
3- El nombre y el mensaje no pueden estar en blanco.
¿Para ver los nuevos comentario tengo que reiniciar la pagina?
No, he puesto un sistema para que cada segundo reinicia la pagina (Tu no te daras ni cuenta) por eso si alguien comenta al segundo lo veras en la pagina.
¿Que tengo que añadir en mi base de dato?
Añade estos codigos en tu base de dato:
Codigo: Comentarios.php
Código PHP:
Ver original<?php
include ("conectar.php");
?>
<?php
$comentarios = mysqli_query($conexion, "SELECT Autor,Comentario,Fecha FROM comentarios WHERE Id_Comentarios = '$_GET[noticia]' ORDER BY Fecha DESC"); echo "<h2>Los comentarios</h2>";
echo "<b>$comentar[Autor]</b> $comentar[Fecha]h <br> <div style='word-wrap:break-word; width:500px;'>$comentar[Comentario]<br></div><br>";
}
echo "<h2>Añadir Comentario</h2>";
echo "<font color='red'>";
if(isset($_POST['enviar'])){ if(strlen($_POST['nombre']) <= "4"){ echo "El nombre debe tener como minimo 5 caracteres.";
}else{
if(strlen($_POST['mensaje']) <= "9"){ echo "El mensaje debe tener como minimo 10 caracteres.";
}else{
if($_POST['nombre'] == "" | $_POST['mensaje'] == ""){
echo "Rellena los campos en blanco.";
}else{
mysqli_query($conexion, "INSERT INTO comentarios(Id,Id_Comentarios,Autor,Comentario,Fecha,Ip) VALUES ('', '$_GET[noticia]', '$_POST[nombre]', '$_POST[mensaje]', NOW(), '$_SERVER[REMOTE_ADDR]')"); echo "<script>setTimeout(document.location.reload(),1);</script>";
}}}
}
echo "</font>";
?>
<form action="" method="post">
<input name="nombre"><br>
<textarea name="mensaje" rows="6" cols="37"></textarea><br>
<input name="enviar" type="submit">
</form>
Conectar.php Index.php
Código PHP:
Ver original<?php
include ("conectar.php");
?>
<?php
// Verifica si el usuario y la contraseña es correcta //
if(isset($_POST['enviar'])){ $nombre = "admin"; // Cambia aqui el nombre
$contraseña = "admin"; // Cambia aqui la contraseña
if($_POST['nombre'] == $nombre AND $_POST['contraseña'] == $contraseña){
header('Location: index.php'); }else{
echo "La contraseña no es correcta";
}
}
?>
<?php
// Crea la noticia y te desconecta //
if($_COOKIE['nombre']){
if(isset($_POST['enviando'])){ echo "<font color='red'>";
if(strlen($_POST['titulo']) <= "5"){ echo "El titulo debe tener como minimo 6 caracteres<br>";
}else{
if(strlen($_POST['contenido']) <= "19"){ echo "El contenido tiene que tener como minimo 20 caracteres<br>";
}else{
if($_POST['titulo'] == "" | $_POST['contenido'] == ""){
echo "Rellena todos los campos en blanco<br>";
}else{
mysqli_query($conexion, "INSERT INTO noticias(Id,Titulo,Contenido,Categoria,Fecha,Ip) VALUES ('', '$_POST[titulo]', '$_POST[contenido]', '$_POST[categoria]', NOW(), '$_SERVER[REMOTE_ADDR]')"); echo "<font color='green'>Noticia generada con exito</font><br>";
}}}
echo "</font>";
}
if(isset($_POST['desconectar'])){ header('Location: index.php'); }
?>
<form action="" method="post">
Titulo: <input name="titulo"><br>
Contenido: <br> <textarea name="contenido" rows="6" cols="37"></textarea><br>
Categoria: <select name="categoria"><option>Futbol<option>Baloncesto</option></select><br>
<input name="enviando" type="submit" value="Publicar noticia">
</form>
<form action="" method="post">
<input name="desconectar" type="submit" value="Desconectar">
</form>
<?php
// Lo que sale si no estas registrado //
}else{
echo '
<form action="" method="post">
Nombre: <input name="nombre"><br>
Contraseña: <input name="contraseña"><br>
<input name="enviar" type="submit">
</form>
<a href="noticias.php">Ver noticias</a>';
}
?>
Noticias.php
Código PHP:
Ver original<?php
include ("conectar.php");
?>
<?php
$noticias = mysqli_query($conexion, "SELECT Categoria FROM noticias");
if($_GET['noticia'] <> ""){
$noticia = mysqli_query($conexion, "SELECT Titulo,Contenido,Fecha FROM noticias WHERE Id = '$_GET[noticia]'"); echo "<b>$not[Titulo]</b> $not[Fecha]<br><br> <div style='word-wrap:break-word; width:500px;'>$not[Contenido]<br></div>";
include ("comentarios.php");
}else{
echo "La noticia no existe.";
}
}elseif($_GET['categoria'] == ""){
echo "¿De que te gustan las notcias? <br>";
$noticia = mysqli_query($conexion, "SELECT DISTINCT Categoria FROM noticias"); echo "<br> <a href='?categoria=$not[Categoria]'>$not[Categoria]</a>";
}}
}elseif($_GET['categoria'] <> "'"){
$noticias = mysqli_query($conexion, "SELECT * FROM noticias WHERE Categoria = '$_GET[categoria]'"); echo "Aqui estan todas las noticias de <b>$_GET[categoria]</b>";
echo "<br><a href='?noticia=$not[Id]'>$not[Titulo]</a>";
}
}else{
mysqli_query($conexion, "INSERT INTO ip(Ip) VALUES ('$_SERVER[REMOTE_ADDR]')"); }
?>