Foros del Web » Programando para Internet » PHP »

Gestor de Noticias para HTML con PHP [novato]

Estas en el tema de Gestor de Noticias para HTML con PHP [novato] en el foro de PHP en Foros del Web. Sin tocar nada en el fichero editar.php algo da error ahora. El error es: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in ...

  #121 (permalink)  
Antiguo 04/05/2010, 03:28
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Sin tocar nada en el fichero editar.php algo da error ahora.

El error es:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/a7366460/public_html/noticias/editar.php on line 19

es decir, una coma o punto y coma.. pero por más que lo miro no encuentro donde esta error.

Os dejo el código y a ver si lo encontráis vosotros.

editar.php
Código PHP:
<?
      
//recibimos la variable id enviada en el enlace por GET
      
$id=$_GET[id];
       include (
"conex.php");
      
//hacemos las consultas
      
$result=mysql_query("select * from noticias where id_noticia='$id'",$connect);
      
//Una vez seleccionados los registros los mostramos para su edición
      
while($row=mysql_fetch_array($result)) {
      echo 
"<form action=\"edit.php\" method=\"post\">
      <input type=\"hidden\" name=\"id\" value=\""
.$row[id_noticia]."\">
      <br>Título noticia:<br>
      <input type=\"text\" name=\"titulo\" value=\""
.$row[titulo]."\">
      <br>Autor:<br>
      <input type=\"text\" name=\"autor\" value=\""
.$row[autor]."\">
      <br>Categoría:<br>
      <input type=\"text\" name=\"categoria\" value=\""
.$row[categoria]."\">
      <br>Escriba el articulo<br>
      <textarea name=\"noticia\" cols=\"50\" rows=\"10\">\""
.$row[noticia]."\"</textarea>
      <br><input type=\"submit\" value=\"Guardar\" > <input name="
restablecer" type="reset" id="restablecer" value="Limpiar" />
      </form>"
;
      echo 
"<form action=\"borrar.php\" method=\"post\">
      <input type=\"hidden\" name=\"id\" value=\""
.$row[id_noticia]."\">
      <input type=\"submit\" value=\"Borrar\"><br>
      </form>"
;  
      }
      
mysql_free_result($result);
      
mysql_close($connect);
      
?>
  #122 (permalink)  
Antiguo 04/05/2010, 03:30
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Te falta escapar las comillas de <input name="restablecer"

Un saludo
  #123 (permalink)  
Antiguo 04/05/2010, 03:48
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Cita:
Iniciado por Heli0s Ver Mensaje
Te falta escapar las comillas de <input name="restablecer"

Un saludo
Es cierto, me di cuenta y lo edite segun lo habia posteado, el caso es que se me olvido deciros que ya estaba.

La cosa va progresando!!

La duda que tengo es.. con el RTE (ritch text editor) al añadir imagenes me pide una ruta..

yo las imagenes (todas), las tengo en una carpeta partiendo de la raiz, en "imagenes"

Pero si pongo por ejemplo en la ruta:

imagenes/prueba.jpg

No me sale la imagen ;S, que ruta teng que poner entonces?


Un saludo Heli0s.
  #124 (permalink)  
Antiguo 04/05/2010, 03:55
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Gestor de Noticias para HTML con PHP [novato]

eso depende de donde tengas puesto el fichero que llama a las imagenes y de donde estan colocadas las imagenes.

Prueba con ../imagenes/prueba.jpg
  #125 (permalink)  
Antiguo 04/05/2010, 04:32
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

he echo varias pruebas y parece que las coge todas ahora (he cambiado una cosa del path que venia en el fichero javascript).

Coge tanto ../../imagenes/asda.gif como ../imagenes/asd.gif o imagenes/asd.gif

Por lo que, empieza a buscar desde la carpeta raíz, y como no hay nada más atrás que la raíz, coge el directorio "imágenes" igual.


Pero lo mejor de todo esto es que ahora ya no tengo que crear un campo para guardar la imagen en la bbdd.
  #126 (permalink)  
Antiguo 04/05/2010, 04:53
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Las noticias que voy creando van saliendo en el index.php, y he echo un Limit 5, para que solo salgan las 5 últimas. Hasta ahí OK.

El caso es que he creado otra pagina, noticiero.php, en la que voy a mostrar todas las imágenes, lo que he echo ha sido quitar el Limit 5, asi me las muestra todas.

He barajado 2 opciones, una es paginar las noticias de 10 en 10 y otra es mostrar solo los títulos de las noticias y que dándole click te lleve a otra página en la que solo este esa noticia.


Cual es mas viable y fácil de las dos?


Si eligiésemos la de los títulos, la cosa sería que la pagina con la noticia se generase sola, es posible?

Aunque yo creo que es más fácil la de paginar no?.


Un saludo, y a ver que solución le damos a esto! ^^
  #127 (permalink)  
Antiguo 04/05/2010, 04:57
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

En ambos casos creo que deberías paginar, ya que si al final tienes 100 noticias, aunque solo salga el titulo, sera pesado, y cuando tengas 200, más aún, lo de paginar es imprescindible sea el caso que sea, y lo de mostrar solo titulo o todo, no tiene mayor complicación, simplemente solo imprimes el titulo en pantalla, y que ese titulo tenga un enlace a otro archivo pasandole el ID de la noticia por GET, y que ese archivo ya saque toda la información de la noticia, fecha, titulo, contenido, todo.

Un saludo
  #128 (permalink)  
Antiguo 04/05/2010, 05:19
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Cita:
Iniciado por Heli0s Ver Mensaje
En ambos casos creo que deberías paginar, ya que si al final tienes 100 noticias, aunque solo salga el titulo, sera pesado, y cuando tengas 200, más aún, lo de paginar es imprescindible sea el caso que sea, y lo de mostrar solo titulo o todo, no tiene mayor complicación, simplemente solo imprimes el titulo en pantalla, y que ese titulo tenga un enlace a otro archivo pasandole el ID de la noticia por GET, y que ese archivo ya saque toda la información de la noticia, fecha, titulo, contenido, todo.

Un saludo
Okei, he estado pensando y voy a poner la noticia completa, y pondré 5 por página.

El caso es que ni idea de como paginar, sabes de algun tutorial que este bien?

De todas maneras, voy a ver si veo algo por google..

Un saludo.
  #129 (permalink)  
Antiguo 04/05/2010, 05:21
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Hay muchisimos tutoriales por google:

http://www.desarrolloweb.com/articulos/1035.php
http://www.webtaller.com/construccion/lenguajes/php/lecciones/paginacion-php.php

Si buscas encontrarás muchos más. Un saludo
  #130 (permalink)  
Antiguo 04/05/2010, 05:22
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Busca por este foro, creo recordar que hay preguntas y respuestas ya hechas sobre paginacion. Si no abre post nuevo, pero primero busca
  #131 (permalink)  
Antiguo 04/05/2010, 06:16
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Me quedo con el de Webtaller, esta muy bien explicado, aunque mas o menos con otro que leí mientras me pasabais los enlaces me ha quedado bastante claro.

Ya os comentaré si tengo algún problema.

Un saludo y nuevamente, Gracias.
  #132 (permalink)  
Antiguo 06/05/2010, 02:17
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Estoy al lío con el paginador pero nada.. no hay manera, os dejo el codigo y a ver si me echais una mano;

noticiero.php
Código PHP:
<?

//conexion a la base de datos
include("conex.php")

//establecemos condiciones de paginacion


if (!isset($pg))
$pg 0;
$cantidad 5;
$inicial $pg $cantidad;

//realizamos la busqueda en la base de datos
$pegar "SELECT * FROM noticias ORDER BY fecha DESC LIMIT $inicial,$cantidad";
$cad mysql_db_query(a7366460_jmdc,$pegar) or die (mysql_error());

//calculamos las paginas a mostrar

$contar "SELECT * FROM noticias";
$contarok mysql_db_query(a7366460_jmdc,$contar);
$total_records mysql_num_rows($contarok);
$pages intval($total_records $cantidad);

//imprimiendo los resultados
echo "<br>";
echo 
"<span class="14pix"><b>Titulo</b> | </span>
      <span class="
14pix"><b>Noticia</b></span>
      <br>"
;
      
while (
$row mysql_fetch_array($cad))
{
echo 
"<tr>
    <font><b>$row[titulo]</b> | </font>
    <font>$row[noticia] </font>
    <br>"
;
//fin imprimir resultados
echo "<br>";


//creando los enlaces de paginacion de resultados

echo "<center><p>";
if (
$pg <>0)
{
$url $pg 1;
echo 
"<font><a href='noticiero.php?id=".$id."&pg=".$url."'>? Anterior</a>?</font>";
}
else {
echo 
" ";
}
for (
$i 0$i<($pages 1); $i++) {
if (
$i == $pg) {
echo 
"<font><b>?$i?</b></font>";
}
else {
echo 
"<font><a href='noticiero.php?id=".$id."&pg=".$i."'>".$i."</a>?</font>";
}
}
if (
$pg $pages) {
$url $pg 1;
echo 
"<font><a href='noticiero.php?id=".$id."&pg=".$url."'>Siguiente ?</a></font>";
}
else {
echo 
" ";
}
echo 
"</p></center>";
?>
Me da error en el IF :S
Código:
Parse error: syntax error, unexpected T_IF in /home/a7366460/public_html/noticiero.php  on line 9
  #133 (permalink)  
Antiguo 06/05/2010, 02:27
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Un consejo, muchas veces cuando te indica un error, el problema está en la linea superior a la que te indica el error, el problema es que en el include que tienes arriba del if, no tienes un ;, por lo tanto PHP no sabe diferenciar que son dos funciones diferentes y te da error en el if.

Un saludo
  #134 (permalink)  
Antiguo 06/05/2010, 02:45
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Código PHP:
<?

//conexion a la base de datos
include("conex.php");

//establecemos condiciones de paginacion
if (!isset($pg))
$pg 0;
$cantidad 5;
$inicial $pg $cantidad;


//realizamos la busqueda en la base de datos
$pegar "SELECT * FROM noticias ORDER BY fecha DESC LIMIT $inicial,$cantidad";
$cad mysql_db_query(a7366460_jmdc,$pegar) or die (mysql_error());


//calculamos las paginas a mostrar
$contar "SELECT * FROM noticias";
$contarok mysql_db_query(a7366460_jmdc,$contar);
$total_records mysql_num_rows($contarok);
$pages intval($total_records $cantidad);


//imprimiendo los resultados
while ($row mysql_fetch_array($cad))
{
echo 
"<span class=\"Estilo35\"><img src=\"imagenes/prueba2.png\" width=\"50\" height=\"50\">" .$row[titulo]."</span><br><p>" .$row[noticia]."</p><br><div> Por: ".$row[autor]." | "
.date("d-m-Y",$row[fecha])." | Categoria: ".$row[categoria]." | <a href=\"noticias/editar.php?id=".$row[id_noticia]."\">editar</a></div><br><div align=\"center\"><img src=\"imagenes/separador.png\" width=\"400\" height=\"15\"></div>";
//fin imprimir resultados
echo "<br>";


//creando los enlaces de paginacion de resultados
echo "<center><p>";
if (
$pg <>0)
{
$url $pg 1;
echo 
"<font><a href='noticiero.php?id=".$id."&pg=".$url."'>< Anterior</a></font>";
}
else {
echo 
" ";
}
for (
$i 0$i<($pages 1); $i++) {
if (
$i == $pg) {
echo 
"<font><b>$i</b></font>";
}
else {
echo 
"<font><a href='noticiero.php?id=".$id."&pg=".$i."'>".$i."</a></font>";
}
}
if (
$pg $pages) {
$url $pg 1;
echo 
"<font><a href='noticiero.php?id=".$id."&pg=".$url."'> > Siguiente</a></font>";
}
else {
echo 
" ";
}
echo 
"</p></center>";
?>
Ese es el codigo final que me ha quedado, muestra las noticias y abajo los links, sale 01 > Siguiente.

El caso es que le doy al 1 o al siguiente y no hace nada o muestra los mismos resultados (no se exactamente lo que hace la verdad), tengo resultados como para que mostrase 2 páginas, tengo unas 10 noticias o así..

Un saludo.


PD: Me gustaría hacerlo así que creo que tiene un formato "más correcto" (es de esta manera como he aprendido a hacer las consultas y demas...).
Código PHP:
<?php

//Nos comenectamos a la BBDD.
include("conex.php");

//Propiedades de Paginacion.
if (!isset($pags))
$pags 0;
$cantidad 5;
$inicial $pags $cantidad;

//Realizamos la busqueda en la BBDD.
$noticias=mysql_query("select * from noticias order by fecha Desc $inicial,$cantidad"$connect);
$totalnoticias=mysql_num_rows($noticias);

//Calculamos el numero de páginas a mostrar.
$contar=mysql_query("SELECT * FROM noticias",$connect);
$totalpaginas=mysql_num_rows($contar);
$paginas intval($totalpaginas $cantidad);

//Imprimimos los resultados.
while ($row=mysql_fetch_array($noticias))
{echo 
"<tr>
    <font><b>$row[titulo]</b></font><br>
    <font>$row[noticia] </font>
    <br>"
;
}
echo 
"<br>";

//Creamos los enlaces, Anterior/Siguiente.
echo "<center><p>";
if (
$pags <>0)
{
$url $pags 1;
echo 
"<font><a href='noticiero.php?id=".$id."&pags=".$url."'>? Anterior</a>?</font>";
}
else {
echo 
" ";
}
for (
$i 0$i<($paginas 1); $i++) {
if (
$i == $pags) {
echo 
"<font><b>?$i?</b></font>";
}
else {
echo 
"<font><a href='noticiero.php?id=".$id."&pags=".$i."'>".$i."</a>?</font>";
}
}
if (
$pags $paginas) {
$url $pags 1;
echo 
"<font><a href='noticiero.php?id=".$id."&pags=".$url."'>Siguiente ?</a></font>";
}
else {
echo 
" ";
}
echo 
"</p></center>";
?>
Peroo es que me da error en
Código:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a7366460/public_html/noticiero2.php  on line 14

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/a7366460/public_html/noticiero2.php  on line 22
  #135 (permalink)  
Antiguo 06/05/2010, 02:50
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Te da error porque la consulta está mal, haz un echo mysql_error(), y revisa la consulta, falta un limit, y yo pondría la sintaxis como la que tienes en el ejemplo que si que funciona, me refiero, DESC/ASC en mayusculas, y cosas así que facilitan la lectura de la consulta.

Un saludo
  #136 (permalink)  
Antiguo 06/05/2010, 02:59
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Cita:
Iniciado por Heli0s Ver Mensaje
Te da error porque la consulta está mal, haz un echo mysql_error(), y revisa la consulta, falta un limit, y yo pondría la sintaxis como la que tienes en el ejemplo que si que funciona, me refiero, DESC/ASC en mayusculas, y cosas así que facilitan la lectura de la consulta.

Un saludo

Ya esta arreglado el codigo que quería implementar (y tambien he aplicado tu consejo jeje).

Pero sigue pasando lo mismo, le ponga la página que le ponga, muestra los mismos resultados (he probado cambiandola desde la URL).

Código PHP:
<?php

//Nos comenectamos a la BBDD.
include("conex.php");

//Propiedades de Paginacion.
if (!isset($pags))
$pags 0;
$cantidad 5;
$inicial $pags $cantidad;

//Realizamos la busqueda en la BBDD.
$noticias=mysql_query("SELECT * FROM noticias ORDER BY fecha DESC LIMIT $inicial,$cantidad"$connect);
$totalnoticias=mysql_num_rows($noticias);

//Calculamos el numero de páginas a mostrar.
$contar=mysql_query("SELECT * FROM noticias",$connect);
$totalpaginas=mysql_num_rows($contar);
$paginas intval($totalpaginas $cantidad);

//Imprimimos los resultados.
while ($row=mysql_fetch_array($noticias))
{echo 
"<tr>
    <font><b>$row[titulo]</b></font><br>
    <font>$row[noticia] </font>
    <br>"
;
}
echo 
"<br>";

//Creamos los enlaces, Anterior/Siguiente.
echo "<center><p>";
if (
$pags <>0)
{
$url $pags 1;
echo 
"<font><a href='noticiero2.php?id=".$id."&pags=".$url."'> Anterior</a></font>";
}
else {
echo 
" ";
}
for (
$i 0$i<($paginas 1); $i++) {
if (
$i == $pags) {
echo 
"<font><b>$i</b></font>";
}
else {
echo 
"<font><a href='noticiero2.php?id=".$id."&pags=".$i."'>".$i."</a></font>";
}
}
if (
$pags $paginas) {
$url $pags 1;
echo 
"<font><a href='noticiero2.php?id=".$id."&pags=".$url."'>Siguiente </a></font>";
}
else {
echo 
" ";
}
echo 
"</p></center>";
?>
Da igual esto:

http://juventudmdc.comlu.com/noticiero2.php?id=&pags=189

que esto:

http://juventudmdc.comlu.com/noticiero2.php?id=&pags=189123123

que esto:

http://juventudmdc.comlu.com/noticiero2.php?id=&pags=2


Muestra en todas lo mismo..
  #137 (permalink)  
Antiguo 06/05/2010, 03:02
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

No veo en tu script que recojas la variable $_GET['pags'] en ningún momento, $pags no es lo mismo que $_GET['pags'], solo si tienes register_globals en ON, pero creo que ya lo tienen el 1% o el 0 no lo sé, recoge correctamente la variable.

Un saludo
  #138 (permalink)  
Antiguo 06/05/2010, 03:26
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Ya lo he aplicado a mi index.php, ahora todo funciona bien,

$pags=$_GET[pags]; y funcionando :) jejejeje.

Código PHP:
<?php

//Nos comenectamos a la BBDD.
include("conex.php");

//Recogemos la variable PAGS.
$pags=$_GET[pags];

//Propiedades de Paginacion.
if (!isset($pags))
$pags 0;
$cantidad 5;
$inicial $pags $cantidad;

//Realizamos la busqueda en la BBDD.
$noticias=mysql_query("SELECT * FROM noticias ORDER BY fecha DESC LIMIT $inicial,$cantidad"$connect);
$totalnoticias=mysql_num_rows($noticias);

//Calculamos el numero de páginas a mostrar.
$contar=mysql_query("SELECT * FROM noticias",$connect);
$totalpaginas=mysql_num_rows($contar);
$paginas intval($totalpaginas $cantidad);

//Imprimimos los resultados.
while ($row=mysql_fetch_array($noticias))
{echo 
"<span class=\"Estilo35\"><img src=\"imagenes/prueba2.png\" width=\"50\" height=\"50\">" .$row[titulo]."</span><br><p>" .$row[noticia]."</p><br><div> Por: ".$row[autor]." | "
      
.date("d-m-Y",$row[fecha])." | Categoria: ".$row[categoria]." | <a href=\"noticias/editar.php?id=".$row[id_noticia]."\">editar</a></div><br><div align=\"center\"><img src=\"imagenes/separador.png\" width=\"400\" height=\"15\"></div>";
}
echo 
"<br>";

//Creamos los enlaces, Anterior/Siguiente.
echo "<center><p>";
if (
$pags <>0)
{
$url $pags 1;
echo 
"<font><a href='index.php?id=".$id."&pags=".$url."'> Anterior « </a></font>";
}
else {
echo 
" ";
}
for (
$i 0$i<($paginas 1); $i++) {
if (
$i == $pags) {
echo 
"<font><b>$i</b></font>";
}
else {
echo 
"<font><a href='index.php?id=".$id."&pags=".$i."'>" .$i"</a></font>";
}
}
if (
$pags $paginas) {
$url $pags 1;
echo 
"<font><a href='index.php?id=".$id."&pags=".$url."'> » Siguiente </a></font>";
}
else {
echo 
" ";
}
echo 
"</p></center>";
?>

Gracias, un Saludo Heli0s.
  #139 (permalink)  
Antiguo 06/05/2010, 03:29
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Pon las " " cuando metas un string en un array, me refiero a $_GET[pags], eso lanza un error NOTICE (lo que pasa es que normalmente no está puesto para que se muestren en pantalla), pero suele lanzar un error parecido a: pags no esta definido, asignandolo por defecto como string, te lo asigna por defecto como string, pero lo correcto es que lo pongas tu como string, osease, entre comillas.

Un saludo y un placer ayudarte.
  #140 (permalink)  
Antiguo 06/05/2010, 05:04
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Cita:
Iniciado por Heli0s Ver Mensaje
Pon las " " cuando metas un string en un array, me refiero a $_GET[pags], eso lanza un error NOTICE (lo que pasa es que normalmente no está puesto para que se muestren en pantalla), pero suele lanzar un error parecido a: pags no esta definido, asignandolo por defecto como string, te lo asigna por defecto como string, pero lo correcto es que lo pongas tu como string, osease, entre comillas.

Un saludo y un placer ayudarte.
Ahora que dices eso tienes razón, sale UNDEFINED, como en javascript si no retornas una salida..

Pues nada, a partir de ahora lo haré.

Comillas Dobles o Simples? Porque lo he visto de las dos maneras.
  #141 (permalink)  
Antiguo 06/05/2010, 05:07
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

No importa, la única diferencia que hay entre comillas dobles y simples... te lo pondré en un ejemplo:

Código PHP:
<?php
$var 
"Hola";
echo 
"Con comillas doble: $var <br/>";

echo 
'Con comillas simples: $var <br/>';

?>
Salida en pantalla:

Con comillas doble: Hola
Con comillas simples: $var


Un saludo
  #142 (permalink)  
Antiguo 06/05/2010, 06:11
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Me quedo claro Heli0s.

Bueno, ahora tengo otra duda.. que raro no? jajajaja.

El caso es que he creado un panel de administración en el que hay 3 botones.

"Nueva noticia" > Que va a administrar.php
"Editar Noticia" > Que va a editar.php
"Borrar Noticia" > Que va a borrar.php

El caso es que en editar.php, si no le pasas por la URL el id de la noticia, he añadido esto:

Código PHP:
<html>
<head>
<title>Panel de Administracion - Noticias</title>
<script type="text/javascript" src="scripts/widgEditor.js"></script>
<link href="css/widgEditor.css" rel="stylesheet" type="text/css" /> 
<link href="css/widgContent.css" rel="stylesheet" type="text/css" /> 
<link href="css/main.css" rel="stylesheet" type="text/css" /> 
<link href="css/info.css" rel="stylesheet" type="text/css" /> 
<link href="../css/general.css" rel="stylesheet" type="text/css" /> 
<style type="text/css">
<!--
body {
    background-image: url(../imagenes/bg_pattern.gif);
}
-->
</style>
</head>
<body >
<div id="gnoticias">
<?
      
//recibimos la variable id enviada en el enlace por GET
      
$id=$_GET[id];
       include (
"conex.php");
      
//hacemos las consultas
      
$result=mysql_query("select * from noticias where id_noticia='$id'",$connect);
      
//Una vez seleccionados los registros los mostramos para su edición
      
while($row=mysql_fetch_array($result)) {
      echo 
"<div id=\"gnoticias\">
<table width=\"650\" border=\"0\" align=\"center\">
    <tr>
      <td colspan=\"2\"><div align=\"center\"><img src=\"../imagenes/panel.png\" width=\"500\" height=\"200\" /></div></td>
<tr><td>
      <form action=\"edit.php\" method=\"post\">
      <input type=\"hidden\" name=\"id\" value=\""
.$row[id_noticia]."\">
<b>Título:</b><br>
<input type=\"text\" name=\"titulo\" value=\""
.$row[titulo]."\"><br>
<br><b>Autor:</b><br>
<input type=\"text\" name=\"autor\" value=\""
.$row[autor]."\"><br>
      <br><b>Categoría:</b><br>
      <input type=\"text\" name=\"categoria\" value=\""
.$row[categoria]."\"><br>
      <br><b>Escriba el articulo</b><br>
      <textarea name=\"noticia\" class=\"widgEditor\" cols=\"50\" rows=\"10\">\""
.$row[noticia]."\"</textarea>
      <br><input type=\"submit\" value=\"Guardar\" > <input name=\"restablecer\" type=\"reset\" id=\"restablecer\" value=\"Limpiar\" />
      </form>"
;
      echo 
"<form action=\"borrar.php\" method=\"post\">
      <input type=\"hidden\" name=\"id\" value=\""
.$row[id_noticia]."\">
      <input type=\"submit\" value=\"Borrar\"><br>
      </form>
</td></tr>
</table> "

      }
      
mysql_free_result($result);


    
//Realizamos la consulta.
      
$noticias=mysql_query("select * from noticias order by fecha Desc"$connect);
      
$totalnoticias=mysql_num_rows($noticias);
    
//Mostramos las noticias.
      
while ($row=mysql_fetch_array($noticias))
      {echo 
"<span class=\"Estilo35\"><img src=\"imagenes/prueba2.png\" width=\"50\" height=\"50\">" .$row[titulo]."</span><br><p>" .$row[noticia]."</p><br><div> Por: ".$row[autor]." | "
      
.date("d-m-Y",$row[fecha])." | Categoria: ".$row[categoria]." | <a href=\"editar.php?id=".$row[id_noticia]."\">editar</a></div><br><div align=\"center\"><img src=\"imagenes/separador.png\" width=\"400\" height=\"15\"></div>";
      }

      
mysql_close($connect);
      
?>
</div>
</body>
</html>
El caso es que si no le psas la ID te muestra todas las noticias, pero quiero que una vez elija cual es la noticia que quiere editar, muestre SOLO el formulario para editarlo.

No queda más remedio que hacerlo en otra pagina? O se puede hacer de alguna manera en esa misma modificando algo?


Un saludo.
  #143 (permalink)  
Antiguo 06/05/2010, 06:32
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Bueno Heli0s, n te preocupes, ya lo he echo en páginas separadas.

Un saludo.
  #144 (permalink)  
Antiguo 18/05/2010, 02:41
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Ahora el sistema de editar las noticias no me funciona, yo creo que esta todo correcto, por más que miro no encuentro ningun fallo... :S, te pongo los archivos.

editar.php
Código PHP:
<?
      
//recibimos la variable id enviada en el enlace por GET
      
$id=$_GET[id];
       include (
"conex.php");
      
//hacemos las consultas
      
$result=mysql_query("select * from noticias where id_noticia='$id'",$connect);
      
//Una vez seleccionados los registros los mostramos para su edición
      
while($row=mysql_fetch_array($result)) {
      echo 
"<div id=\"gnoticias\">
<table width=\"650\" border=\"0\" align=\"center\">
    <tr>
      <td colspan=\"2\"><div align=\"center\"><img src=\"../imagenes/panel.png\" width=\"500\" height=\"200\" /></div></td>
<tr>
    <td><div align=\"center\" class=\"Estilo16 Estilo40\">Edita una noticia | <a href='../loginpanel/administracion.php'> Volver </a></div></td>
  </tr>
<tr><td>
      <form action=\"edit.php\" method=\"post\">
      <input type=\"hidden\" name=\"id\" value=\""
.$row[id_noticia]."\">
<b>Título:</b><br>
<input type=\"text\" name=\"titulo\" value=\""
.$row[titulo]."\"><br>
<br><b>Autor:</b><br>
<input type=\"text\" name=\"autor\" value=\""
.$row[autor]."\"><br>
      <br><b>Categoría:</b><br>
      <input type=\"text\" name=\"categoria\" value=\""
.$row[categoria]."\"><br>
      <br><b>Escriba el articulo</b><br>
      <textarea name=\"noticia\" class=\"widgEditor\" cols=\"50\" rows=\"10\">\""
.$row[noticia]."\"</textarea>
      <br><input type=\"submit\" value=\"Guardar\" > <input name=\"restablecer\" type=\"reset\" id=\"restablecer\" value=\"Limpiar\" />
      </form>
</td></tr>
</table>"
;
      }
      
mysql_free_result($result);
      
mysql_close($connect);
      
?>
edit.php
Código PHP:
<?php
include("login.php");
if(
$loginCorrecto)
  { 
      
//recibimos las variables enviadas por el formulario
      
$id=$_POST[id_noticia];
      
$titulo=$_POST[titulo];
      
$autor=$_POST[autor];
      
$categoria=$_POST[categoria];
      
$noticia=$_POST[noticia];

    
    
//incluimos el archivo de conexion
    
include ("conex.php");

      
//modificamos los datos de la base según variables recibidas
      
mysql_query("update noticias Set noticia='$noticia',categoria='$categoria',titulo='$titulo' where id_noticia='$id'"$connect);
      
header("location: ../index.php");
}
__________________
Seamos realistas. Busquemos lo imposible. ;)
La forma de dar las gracias en este foro, es dando Karma, aunque a veces con un simple Gracias, basta.
  #145 (permalink)  
Antiguo 18/05/2010, 02:44
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

No dices en que falla, pero de primeras, te recuerdo que debes poner las comillas en $_POST['loquesea'], y te faltan en todos.

Porque dices que no funciona
  #146 (permalink)  
Antiguo 18/05/2010, 02:46
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Cita:
Iniciado por Flow89 Ver Mensaje
Ahora el sistema de editar las noticias no me funciona, yo creo que esta todo correcto, por más que miro no encuentro ningun fallo... :S, te pongo los archivos.

editar.php
Código PHP:
<?
      
//recibimos la variable id enviada en el enlace por GET
      
$id=$_GET[id];
       include (
"conex.php");
      
//hacemos las consultas
      
$result=mysql_query("select * from noticias where id_noticia='$id'",$connect);
      
//Una vez seleccionados los registros los mostramos para su edición
      
while($row=mysql_fetch_array($result)) {
      echo 
"<div id=\"gnoticias\">
<table width=\"650\" border=\"0\" align=\"center\">
    <tr>
      <td colspan=\"2\"><div align=\"center\"><img src=\"../imagenes/panel.png\" width=\"500\" height=\"200\" /></div></td>
<tr>
    <td><div align=\"center\" class=\"Estilo16 Estilo40\">Edita una noticia | <a href='../loginpanel/administracion.php'> Volver </a></div></td>
  </tr>
<tr><td>
      <form action=\"edit.php\" method=\"post\">
      <input type=\"hidden\" name=\"id\" value=\""
.$row[id_noticia]."\">
<b>Título:</b><br>
<input type=\"text\" name=\"titulo\" value=\""
.$row[titulo]."\"><br>
<br><b>Autor:</b><br>
<input type=\"text\" name=\"autor\" value=\""
.$row[autor]."\"><br>
      <br><b>Categoría:</b><br>
      <input type=\"text\" name=\"categoria\" value=\""
.$row[categoria]."\"><br>
      <br><b>Escriba el articulo</b><br>
      <textarea name=\"noticia\" class=\"widgEditor\" cols=\"50\" rows=\"10\">\""
.$row[noticia]."\"</textarea>
      <br><input type=\"submit\" value=\"Guardar\" > <input name=\"restablecer\" type=\"reset\" id=\"restablecer\" value=\"Limpiar\" />
      </form>
</td></tr>
</table>"
;
      }
      
mysql_free_result($result);
      
mysql_close($connect);
      
?>
edit.php
Código PHP:
<?php
include("login.php");
if(
$loginCorrecto)
  { 
      
//recibimos las variables enviadas por el formulario
      
$id=$_POST[id];
      
$titulo=$_POST[titulo];
      
$autor=$_POST[autor];
      
$categoria=$_POST[categoria];
      
$noticia=$_POST[noticia];

    
    
//incluimos el archivo de conexion
    
include ("conex.php");

      
//modificamos los datos de la base según variables recibidas
      
mysql_query("update noticias Set noticia='$noticia',categoria='$categoria',titulo='$titulo' where id_noticia='$id'"$connect);
      
header("location: ../index.php");
}
Vale debía ser cosa de la base de datos que no lo procesara bien o algo así, porque sin tocar nada habia dejado de funcionar, no mostraba errores pero tampoco editaba el texto en la bbdd :S.

El caso es que si le pongo editar, en el campo Noticia

me sale antes del texto
" texto "
Es decir el texto entre comillas, como puedo quitar para que al editar no me aparezcan esas comillas?

la cosa estará aquí
<textarea name=\"noticia\" class=\"widgEditor\" cols=\"50\" rows=\"10\">\"".$row[noticia]."\"</textarea>

el caso es que esa linea esta como las demás, y en las demás no me pone las comillas :S
__________________
Seamos realistas. Busquemos lo imposible. ;)
La forma de dar las gracias en este foro, es dando Karma, aunque a veces con un simple Gracias, basta.
  #147 (permalink)  
Antiguo 18/05/2010, 02:48
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Cita:
Iniciado por Heli0s Ver Mensaje
No dices en que falla, pero de primeras, te recuerdo que debes poner las comillas en $_POST['loquesea'], y te faltan en todos.

Porque dices que no funciona
Que pasa si no pongo esas comillas? no las he puesto en ningún sitio y de momento siempre me ha funcionado bien.

Hay alguna diferencia?
__________________
Seamos realistas. Busquemos lo imposible. ;)
La forma de dar las gracias en este foro, es dando Karma, aunque a veces con un simple Gracias, basta.
  #148 (permalink)  
Antiguo 18/05/2010, 02:49
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Pues quitandole las comillas que tienes de más en el textarea, de todas maneras ya sabes lo que te dije un día, no deberías usar los echos de esa manera.

Un saludo
  #149 (permalink)  
Antiguo 18/05/2010, 02:50
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Cita:
Iniciado por Flow89 Ver Mensaje
Que pasa si no pongo esas comillas? no las he puesto en ningún sitio y de momento siempre me ha funcionado bien.

Hay alguna diferencia?
Ya te demostré una vez que sin esas comillas el PHP devuelve un error del tipo NOTICE diciendo que ese valor no esta definido pero que por defecto se tratará como string, por lo tanto funciona, pero no quita el hecho de que devuelva un error NOTICE, que no se suelen mostrar en pantalla.

Un saludo
  #150 (permalink)  
Antiguo 18/05/2010, 02:58
Avatar de Flow89  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Respuesta: Gestor de Noticias para HTML con PHP [novato]

Cita:
Iniciado por Heli0s Ver Mensaje
Ya te demostré una vez que sin esas comillas el PHP devuelve un error del tipo NOTICE diciendo que ese valor no esta definido pero que por defecto se tratará como string, por lo tanto funciona, pero no quita el hecho de que devuelva un error NOTICE, que no se suelen mostrar en pantalla.

Un saludo
Tienes razón, lo que pasa es que esto ya lo tenia echo y no lo modifiqué jeje :$
Pero no creas que no te hago caso, apunto todos los consejos que me das y lo aplico jeje

Es cierto, no me acordaba de lo del error notice, como no les muestra... jejej xD

Voy a probar quitando las comillas, Un saludo



-- He probado quitando las comillas y dejando esto

<textarea name=\"noticia\" class=\"widgEditor\" cols=\"50\" rows=\"10\">\".$row[noticia].\"</textarea>

Pero ahora me muestra ". noticia ." xDD
__________________
Seamos realistas. Busquemos lo imposible. ;)
La forma de dar las gracias en este foro, es dando Karma, aunque a veces con un simple Gracias, basta.

Etiquetas: gestor, html
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 18:11.