Regresar a la página www.ComoCrearTuWeb.com
Página 4 de 5 PrimerPrimer 12345 ÚltimoÚltimo
Resultados 46 al 60 de 67

Tema: [TUTORIAL] Crear sistema de novedades/noticias del tipo pagina.php?id=

  1. #46
    Me va gustando esto... Habitante
    Fecha de Ingreso
    27 ago, 11
    Ubicación
    Santiago
    Mensajes
    38
    Poder de Reputación
    10
    Cita Iniciado por Rabs Ver Mensaje
    Una idea: (Bueno 2):
    Dices que el sistema de moderacion de noticias no tiene casi seguridad... por que no lo tapas un poco con .httacess? Con el cpanel. O tambien lo podrias insertar en un sistema de usuario y ponerte solo a ti. Hay un en especial en este foro que me gusta mucho. Mañana te dejo el link (o en 10 mins si lo encuentro hehe)
    Edit-------
    El link es: http://www.comocreartuweb.com/consul...ma-de-registro
    Yo tengo un sistema de noticias y la verdad si me funciona con seguridad implemente algo que encontre en un tutorial de como loguearse y proteger archivos en directorios, si cualquiera intentase entrar a las paginas que utilizo para publicar o editar las noticias no da acceso y solicitaria colocar el usuario y contrasena de esta.

    Es algo sencillo, si dispongo de tiempo y ustedes quieren contar con este tipo de segurididad les pasaria la forma como deben hacerlo.

  2. #47
    Esto empieza a ser un vicio... Habitante Avatar de Doodleo
    Fecha de Ingreso
    25 abr, 11
    Ubicación
    Galicia (España)
    Mensajes
    1,329
    Poder de Reputación
    17
    Para proteger el directorio moderacion podemos aplicar un tutorial que también publiqué: http://www.comocreartuweb.com/consul...ontrase%C3%B1a

  3. #48
    Me va gustando esto... Habitante Avatar de danny
    Fecha de Ingreso
    16 sep, 11
    Mensajes
    124
    Poder de Reputación
    10
    hola, el post wenisimo hace tiempo que buscaba algo igual, pero me viene un error en la parte de editar la noticia en editar.php y en el navegador me sale el siguiente error "Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\AppServ\www\mi-php\news\moderacion\editar.php on line 22" y el codigo es "// Seleccionamos la noticia correspondiente dependiendo del ID especificado en la URL
    $result=mysql_query("SELECT * FROM `noticias`.`novedades` WHERE id_noticia=$id", $connect) or die (mysql_error());
    "


    A ver si me das una mano con ello ya que me estoy volviendo loco :/. Gracias.

  4. #49
    Me va gustando esto... Habitante
    Fecha de Ingreso
    27 ago, 11
    Ubicación
    Santiago
    Mensajes
    38
    Poder de Reputación
    10
    Como puedo hacer para darle formato a la fecha y hora y queden en español, hasta ahora mi formato se ve asi:

    Fecha: 2011-10-06 20:46:28

    Me gustaria que quedase asi: 06/10/2011 08:46:28 PM
    Me gustaria que quedase asi: 06 de octubre 2011 08:46:28 PM
    Me gustaria que quedase asi: Jueves 06 de octubre 2011 08:46:28 PM

    En esos tipos de formato para ver con cual me conviene mas.

  5. #50
    Recien Llegado! Pasaba por aquí...
    Fecha de Ingreso
    02 feb, 13
    Mensajes
    2
    Poder de Reputación
    0

    viejo hice todo lo que pusistes y no logre nada

    que mas viejo hice todo lo que describes aca y no funciona me meto en publicar.php alli redacto el mensaje cuando le doy publicar mensaje se pasa a la pagina enviar.php y alli queda este sistema tu lo probastes y funciona ¿?

  6. #51
    Esto empieza a ser un vicio... Habitante Avatar de Doodleo
    Fecha de Ingreso
    25 abr, 11
    Ubicación
    Galicia (España)
    Mensajes
    1,329
    Poder de Reputación
    17
    Efectivamente lo probé en el momento en que lo hice y funcionaba, de todos modos tengo pensado actualizar el tema modificando los códigos y añadiéndole alguna que otra cosa :D

  7. #52
    Recien Llegado! Pasaba por aquí...
    Fecha de Ingreso
    04 may, 13
    Mensajes
    1
    Poder de Reputación
    0
    cuando subiras lo q falta del panel espero y sea pronto

  8. #53
    Recien Llegado! Merodeador
    Fecha de Ingreso
    07 nov, 10
    Ubicación
    Purén, Chile
    Mensajes
    7
    Poder de Reputación
    0
    Muchas gracias por el sistema, voy a integrarlo a un sitio web, espero no de problemas y funcione excelente.

    Saludos cordiales.

  9. #54
    Recien Llegado! Pasaba por aquí...
    Fecha de Ingreso
    02 ago, 13
    Mensajes
    1
    Poder de Reputación
    0
    Hola, estoy intentando crear una web basada en este sistema pero no hay forma de solucionar este error en los documentos comentarios.php y noticia.php. No se que es lo que pasa y no tengo mucho conocimiento de PHP por lo que no entiendo muy bien el error que me devuelve. Si pudierais ayudarme. Gracias

    Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\wip\moderacion\comentarios.php: in C:\AppServ\www\wip\moderacion\comentarios.php on line 15

  10. #55
    Recien Llegado! Pasaba por aquí...
    Fecha de Ingreso
    12 ago, 13
    Mensajes
    1
    Poder de Reputación
    0
    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Temp\root\Noticias\noticias.php on line 20

  11. #56
    Recien Llegado! Pasaba por aquí...
    Fecha de Ingreso
    14 ago, 13
    Mensajes
    1
    Poder de Reputación
    0

    Errores

    Valla tiene muchos errores esto.. no he logrado echarlo a andar

  12. #57
    Recien Llegado! Pasaba por aquí...
    Fecha de Ingreso
    09 dic, 14
    Mensajes
    1
    Poder de Reputación
    0
    Hola Buenos dias!

    no puedo ver las imagenes para poder crear las tablas, ojala me puedas enviar las pantallas a mi correo gracias! info@lilysystemsoft.com

    Saludos.

  13. #58
    Me va gustando esto... Habitante
    Fecha de Ingreso
    16 oct, 09
    Mensajes
    56
    Poder de Reputación
    12

    Cool

    Digo lo mismo, falta la base de datos.

  14. #59
    Recien Llegado! Pasaba por aquí...
    Fecha de Ingreso
    24 feb, 15
    Mensajes
    2
    Poder de Reputación
    0
    Soy nuevo en este foro y en lo que a desarrollo web se refiere, de todas formas, he utilizado el código que aparece al comienzo y como he visto que hay gente que dice que no funciona o faltan las BBDD, pues espero que al autor no le parezca mal, pero aquí va mi aportación y mi granito de arena, en principio use el código para aprender acerca de como hacer algo similar y ya que funciona, por si a alguien mas le vale de algo. La explicación esta dada en la primera página, me voy a limitar a solo copiar el código aquí, no se si es lo mas correcto, ante lo cual si esta mal, solo díganmelo y lo corregiré :D

    Empezamos con la BBDD:

    Código:
    --
    -- Estructura de tabla para la tabla `comentarios`
    --
    
    CREATE TABLE IF NOT EXISTS `comentarios` (
    `id` int(11) NOT NULL,
      `id_noticia` int(11) NOT NULL,
      `nick` varchar(20) COLLATE utf8_spanish2_ci NOT NULL,
      `email` varchar(60) COLLATE utf8_spanish2_ci NOT NULL,
      `fechaComentario` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `comentario` text COLLATE utf8_spanish2_ci NOT NULL
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci;
    
    --
    -- Índices para tablas volcadas
    --
    
    --
    -- Indices de la tabla `comentarios`
    --
    ALTER TABLE `comentarios`
     ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `id` (`id`);
    
    --
    -- AUTO_INCREMENT de las tablas volcadas
    --
    
    --
    -- AUTO_INCREMENT de la tabla `comentarios`
    --
    ALTER TABLE `comentarios`
    MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=6;
    Código:
    --
    -- Estructura de tabla para la tabla `noticias`
    --
    
    CREATE TABLE IF NOT EXISTS `noticias` (
    `id_noticia` int(11) NOT NULL,
      `autor` varchar(30) NOT NULL,
      `fecha` varchar(20) NOT NULL,
      `textoNoticia` text NOT NULL,
      `categoria` varchar(20) NOT NULL,
      `titulo` varchar(50) NOT NULL
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;
    
    --
    -- Índices para tablas volcadas
    --
    
    --
    -- Indices de la tabla `noticias`
    --
    ALTER TABLE `noticias`
     ADD PRIMARY KEY (`id_noticia`), ADD UNIQUE KEY `id_noticia` (`id_noticia`);
    
    --
    -- AUTO_INCREMENT de las tablas volcadas
    --
    
    --
    -- AUTO_INCREMENT de la tabla `noticias`
    --
    ALTER TABLE `noticias`
    MODIFY `id_noticia` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=6;
    Y ahora con los archivos de php dentro de la carpeta raiz:
    noticias.php
    Código:
    <!DOCTYPE html>
    <html lang ="es">
    	<head>
    		<title>Lista de noticias publicadas</title>
    		<meta charset="iso-8859-1" />
    	</head>
    	<body>
    
    		<?php
    
    			include_once("config.php");
    
    			
    
    			$query=("SELECT * FROM $tabla ORDER BY id_noticia DESC");
    
    			$result = $conexion->query($query);
    			
    			if(!mysqli_num_rows($result)){
    				echo "Todavía no ha sido publicada ninguna noticia";
    			}else{
    
    				while($row = mysqli_fetch_array($result)){
    
    					$fechaNoticia = date_create($row['fecha']);
    
    					$fechaBD = date_format( $fechaNoticia, "d/m/Y H:i");
    
    					echo "$row[titulo]</br>
    					<small>Publicado por $row[autor] el día $fechaBD</small></br>
    					$row[textoNoticia]</br><small>Publicado en $row[categoria] / <a href='noticia.php?id=".$row['id_noticia']."'>Dejar un comentario</a></small>";
    
    				}
    			}
    
    		?>
    
    	</body>
    </html>
    config.php
    Código:
    <?php
    
    	#Sistema de noticias por Doodleo para la comunidad CCTW. Todas las líneas con # al principio pueden ser borradas ya que son solamente comentarios.
    
    	# Servidor donde se aloja la base de datos.
    	$servidor = "localhost";
    	# Base de datos
    	$db = "pruebas";
    	# Usuario de la base de datos
    	$db_usuario = "root";
    	# Contraseña del usuario
    	$db_pass = "root";
            # Tabla de la BBDD
    	$tabla='noticias';
    	
    
    	# Selección y conexion a la base de datos
    	$conexion = mysqli_connect($servidor,$db_usuario,$db_pass, $db) or die( "Error: " . mysqli_error($conexion));
    
    
    ?>
    noticia.php
    Código:
    <!DOCTYPE html>
    <html lang="es">
    <head>
    	<title> Comentarios de la noticia</title>
    	<meta charset="iso-8859-1" />
    </head>
    <body>
    
    	<?php
    
    		include_once("config.php");
    		//Almacenamos en la variable la ID de la noticia que queremos ver y comprobamos que es valido 
    		//$id= strip_tags($_GET["id"]); 
    		// if(!isnumeric($id) or $id<=0){
    		//		header("location: noticias.php");
    		//		return false;
    		//}
    
    		$id = $_GET['id'];
    
    		$query = ("SELECT * FROM $tabla WHERE id_noticia=$id");
    
    		$result=$conexion->query($query);
    
    		if(mysqli_num_rows($result)){
    			while ($row = mysqli_fetch_array($result)){
    
    					echo "$row[titulo]</br>
    					<small>Publicado por $row[autor] el día $row[fecha]</small></br>
    					</br>
    					$row[textoNoticia]</br>
    					<h1><u>Comentarios</u></h1>";
    
    					
    					$comentarios_query= ("SELECT * FROM comentarios WHERE id_noticia=$id ORDER BY fechaComentario ASC ");
    
    					$comentarios = $conexion->query($comentarios_query);
    
    
    					//Compruebo si hay algun comentario
    					if (!mysqli_num_rows($comentarios)){
    						echo "Sin comentarios";
    					}else{
    						//Si hay algun comentario, los voy cargando uno a uno.
    						while($comentario = mysqli_fetch_array($comentarios)){
    							
    
    							//Importante que los campos se carguen en el orden que aparecen en la base de datos.
    							$nick = $comentario['nick'];
    							//Guardo la variable TimeStamp de la BBDD y le indico a php que es una fecha.
    							$fechaComentario = date_create($comentario['fechaComentario']);
    							$comentario = $comentario['comentario'];
    							
    							//Creo la variable fechaBD, para almacenar la fecha despues de ser formateada al estilo deseado.
    							$fechaBD = date_format( $fechaComentario, "d/m/Y H:i");
    
    
    											
    
    							echo "$nick dijo... </br>
    							$comentario</br>
    							<small>Publicado el $fechaBD  </small></br>";
    						}
    					}
    			}
    
    			//Liberamos los lectores de registros 
    			mysqli_free_result($comentarios);
    			mysqli_free_result($result);
    			//Guardamos la hora actual en una variable
    			$fechaActual = time();
    			echo "</br></br>
    				  <form method='post' action='comentar.php'>
    				  <input type='hidden' name='id_noticia' id='id_noticia' value='$id'>
    				  <label>Nick</br>
    				  <input type='text' name='nick' id='nick' maxlength='20' /></label></br>
    				  <label>Tu email (No será publicado)</br>
    				  <input type='email' name='email' id='email' maxlength='60' /></label></br>
    				  <label>Tu comentario</br>
    				  <textarea name='comentario' id='comentario' ></textarea></label></br>
    				  <input type='hidden' name='fecha' id='fecha' value=$fechaActual></br>
    				  <button type='submit'>Enviar comentario</button></form>  ";
    		} 
    
    	?>
    
    </body>
    </html>
    comentar.php
    Código:
    <?php
    #Configuramos la zona horaria para que sea la de España
    date_default_timezone_set('Europe/Madrid');
    #Guardamos en las variables de fecha y hora de envío del comentario
    $fecha = date("Y/m/d/ H:i:s");
    
    #Información enviada por el ususario
    $id = strip_tags($_POST['id_noticia']);
    $nick = strip_tags($_POST['nick']);
    $email = strip_tags($_POST['email']);
    $comentario = strip_tags($_POST['comentario']);
    
    include_once("config.php");
    #Validamos el comentario
    if(!is_numeric($id) or $id<=0 or !$id or !$nick or !$email or !$comentario)
    {
    	echo "Te faltó por completar algo!";
    	return false;
    }
    
    #Ingresamos el comentario en la BBDD
    $query = ("INSERT INTO comentarios (id_noticia, nick , email , comentario, fechaComentario) VALUES ('$id', '$nick', '$email', '$comentario', '$fecha' )");
    $conexion->query($query);
    
    #Volvemos a la noticia
    
    header ("location: noticia.php?id=$id");
    
    ?>
    publicar.php
    Código:
    <?php
    
    echo '
    <html>
    <head>
    </head>
    <body>
    <form method="post" action="enviar.php">
    <label>Autor de la noticia<br/><input type="text" name="autor" maxlength="255" /></label><br/><br/>
    <label>Título de la noticia<br/><input type="text" name="titulo" maxlength="255" /></label><br/><br/>
    <label>Categoría<br/><input type="text" name="categoria" maxlength="255" /></label><br/><br/>
    <label>Noticia<br/><textarea name="textoNoticia"></textarea></label><br/><br/>
    <button type="submit">Publicar noticia</button>
    </form>
    </body>
    </html>
    ';
    
    ?>
    enviar.php
    Código:
    <?php
    
    //Declaramos la variable para guardar la fecha en la que se publicó la noticia
    $fecha = date("Y/m/d/ H:i:s");
    
    //Conectamos con la BBDD
    include_once('config.php');
    
    //Recogemos las variables
    $autor = $_POST['autor'];
    $titulo = $_POST['titulo'];
    $categoria = $_POST['categoria'];
    $textoNoticias = $_POST['textoNoticia'];
    
    //Comprobamos que han cubierto los datos de la nueva noticia
    if( !$autor || !$titulo || !$categoria || !$novedad)
    {
    	echo '¡Tienes que completar todos los campos para publicar tu noticia!';
    }else{
    	//Ingresamos la noticia en la BBDD
    	$query = ("INSERT INTO noticias (autor, titulo, categoria, fecha, textoNoticia) VALUES ('$autor', '$titulo', '$categoria', '$fecha', '$textoNoticia')");
    	$conexion->query($query);
    }
    
    ?>
    Y ahora dentro de la carpeta de moderacion, los siguientes archivos php:

    index.php
    Código:
    <!DOCTYPE html >
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="es-ES" >
    <head>
    	<meta http-equiv= "Content-Type" content="text/html; charset=iso-8859-1" />
    	<meta name="robots" content="noindex,nofollow" />
    	<title> Sistema de noticias en PHP</title>
    <?php
    	//Conectamos a la BBDD
    	include_once("../config.php");
    
    	//hacemos las consultas
    	$query=("SELECT * FROM noticias");
    	$result = $conexion->query($query);
    	$totalRegistros = mysqli_num_rows($result);
    ?>
    </head>
    <body>
    	<?php
    		$query = ("SELECT * FROM noticias ORDER BY id_noticia");
    		$result = $conexion->query($query);
    
    		if (mysqli_num_rows($result))
    		{
    			while ($row = mysqli_fetch_array($result))
    			{
    				echo " $row[titulo]</br>
    				Publicado por $row[autor] el día $row[fecha]</br></br>
    				$row[textoNoticia]</br></br>
    				Publicado en $row[categoria]</br>
    				<a href='../noticia.php?id=$row[id_noticia]'> Deja tu comentario</a></br>
    				<a href='borrar.php?id=$row[id_noticia]'>Borrar</a></br>
    				<a href='editar.php?id=$row[id_noticia]'>Editar</a></br></br></br>";
    			}
    		} 		
    
    	?>
    </body>
    </html>
    borrar.php
    Código:
    <?php
    	
    	//Declaramos la ID en la que recibimos la ID que pusimos en la URL, por tanto, recibimos el ID de la noticia que queremos borrar
    	$id = $_GET['id'];
    
    	//Conectamos a la BBDD
    	include_once('../config.php');
    
    	//Ahora creamo la sentencia SQL para borrar la noticia correspondiente
    	$query = " DELETE FROM noticias WHERE id_noticia=$id" ;
    	$conexion->query($query) or die(mysqli_error()) ; 
    
    	header ("location: index.php");
    
    ?>
    editar.php
    Código:
    </head>
    <body>
    	<?php
    		// Declaramos la variable ID en la que recibimos el ID que pusimos en la URL, por tanto, recibimos el ID de la noticia que queremos borrar
    		$id = $_GET['id'];
    
    		//Conectamos a la BBDD
    		include_once('../config.php');
    
    		//Selecionamos la noticia correspondiente dependiendo del ID especificado en la URL
    		$query = "SELECT * FROM noticias WHERE id_noticia=$id";
    		$result = $conexion->query($query) or die (mysqli_error());
    
    		if (mysqli_num_rows($result))
    		{
    			while ($row = mysqli_fetch_array($result))
    				{
    					//Mostramos un formulario con los datos de la noticia en inputs para poder modificarlos
    					
    
    					echo " <form method='POST' action='actualizar.php' >
    							<input type='hidden' name='id' id='id' value='$id' />
    							Titulo de la noticia: <input type='text' name='titulo' id='titulo' value='$row[titulo]' /></br>
    							Autor de la noticia: <input type='text' name='autor' id='autor' value='$row[autor]' /></br>
    							Categoría de la noticia: <input type='text' name='categoria' id='categoria' value='$row[categoria]' /></br>
    							Texto de la noticia: <textarea name='textoNoticia' id='textoNoticia'>$row[textoNoticia]</textarea></br>
    							<button type='submit'> Editar noticia</button>
    							</form>
    							";
    
    					
    
    
    				}
    		}
    	?>
    </body>
    </html>
    actualizar.php
    Código:
    <?php
    
    	//Declaramos las variables enviadas por el formulario
    	$id = $_POST['id'];
    	$titulo = $_POST['titulo'];
    	$autor = $_POST['autor'];
    	$categoria = $_POST['categoria'];
    	$textoNoticia = $_POST['textoNoticia'];
    
    	//Conectamos a la BBDD
    	include_once('../config.php');
    
    
    	//Creamos la sentencia SQL para editar los campos de la noticia seleccionada
    	$query = "UPDATE noticias SET titulo='$titulo', autor='$autor', categoria='$categoria' , textoNoticia='$textoNoticia' where id_noticia=$id ";
    	$conexion->query($query) or die (mysqli_error());
    
    	header ("location: index.php");
    
    ?>
    Espero que le sea de utilidad a alguien.
    Última edición por Chequisqui; 05/03/2015 a las 12:21 Razón: Fallo en una linea de codigo

  15. #60
    Recien Llegado! Pasaba por aquí...
    Fecha de Ingreso
    31 mar, 15
    Mensajes
    1
    Poder de Reputación
    0
    amigo me saltan varios errores :/ no se si me podrias ayudar porfa

Temas Similares

  1. Sistema de noticias tipo Blog
    Por Daichii en el foro Otros Elementos
    Respuestas: 1
    Último Mensaje: 03/02/2010, 20:34
  2. Tutorial Sistema de Noticias
    Por Borjimante en el foro Sugerencias
    Respuestas: 18
    Último Mensaje: 30/09/2006, 18:09

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •