Ver Mensaje Individual
  #26 (permalink)  
Antiguo 09/09/2011, 16:48
Avatar de Dragon_Mandarin
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!