Foros del Web » Programando para Internet » PHP »

recuperar variable

Estas en el tema de recuperar variable en el foro de PHP en Foros del Web. Tengo el siguiente código Página donde aparece listado noticias: noticias.php Código PHP: while( $tabla = mysql_fetch_array ( $lista )){  echo  "<table width='655' border='1' cellspacing='0' cellpadding='0'>" ;  echo  "<tr><td><strong> Titulo: </strong>" . ...
  #1 (permalink)  
Antiguo 21/08/2007, 09:38
 
Fecha de Ingreso: julio-2007
Mensajes: 63
Antigüedad: 12 años, 4 meses
Puntos: 0
recuperar variable

Tengo el siguiente código


Página donde aparece listado noticias:
noticias.php

Código PHP:
while($tabla=mysql_fetch_array($lista)){
 echo 
"<table width='655' border='1' cellspacing='0' cellpadding='0'>";
 echo 
"<tr><td><strong> Titulo: </strong>".$tabla['titulo']."</td></tr>";
 echo 
"<tr><td><strong>Contenido: </strong>".$tabla['cont']."</td></tr>";
  echo 
"<tr><td><strong>Escrito por: </strong>".$tabla['id_usuario']."</td></tr>";
 echo 
"<tr><td><a href=\"modifica_noticia.php?idNoticia=".$tabla['id_noticia']."\">Modificar</a></td></tr>";  
 echo 
"</table>"
Página donde se modifica la noticia seleccionada. Aparece el formulario con los datos ya guardados:
modifica_noticia.php

Código PHP:
<?
...
$idNoticia = (int) $_GET['idNoticia'];
$cerca=mysql_query("SELECT * FROM noticias WHERE id_usuario LIKE '$id' AND id_noticia='$idNoticia'"$link);  
$rs=mysql_fetch_array($cerca);
?>

Y finalmente la página donde me actualiza los datos. Al pulsar Guardar en la página anterior me redirecciona a:
actualiza_noticia.php

Código PHP:
$actualiza=mysql_query("UPDATE noticias SET titulo='$titulo', contenido='$cont', WHERE id_usuario LIKE '$id' AND id_noticia='$idNoticia'"$link); 
Al ejecutarlo me sale el siguiente error:
Notice: Undefined index: idNoticia de la pagina actualiza_noticia.php

Como puedo hacer referencia a la variable de la otra página? lo que quiero es que SOLO me actualize la noticia que estaba modificando

gracias!
  #2 (permalink)  
Antiguo 21/08/2007, 09:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Re: recuperar variable

Puedes pasarla en un campo hidden, de tu formulario o en el action de tu form:
Código HTML:
<form action="pagina.php?idNoticia=el_id_de_noticia"> 
O asi:
Código HTML:
<input type="hidden" name="idNoticia" value="id_noticia" /> 
Saludos.
  #3 (permalink)  
Antiguo 21/08/2007, 10:06
 
Fecha de Ingreso: julio-2007
Mensajes: 63
Antigüedad: 12 años, 4 meses
Puntos: 0
Re: recuperar variable

Hola GatorV

He utilizado la segunda opción, y me funciona cuando pongo por ejemplo:

<input type="hidden" name="idNoticia" value="7" >

pero yo no quiero poner un número especifico en mi código, ya que como usuario lo desconozco. Quiero hacer referencia al ya utilizado: .$tabla['id_noticia'].

gracias
  #4 (permalink)  
Antiguo 21/08/2007, 10:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Re: recuperar variable

Pues solo pon el ya referenciado:
Código PHP:
<input type="hidden" name="idNoticia" value="<?php echo $tabla['id_noticia']; ?>" />
Saludos.
  #5 (permalink)  
Antiguo 21/08/2007, 10:12
 
Fecha de Ingreso: julio-2007
Mensajes: 63
Antigüedad: 12 años, 4 meses
Puntos: 0
Re: recuperar variable

Bien!

Pues al final lo tengo con
Código HTML:
<input type="hidden" name="idNoticia" value="<? echo $idNoticia; ?>" /> 
ya que así es como lo referencio en esa misma página.

Gracias de nuevo
  #6 (permalink)  
Antiguo 21/08/2007, 10:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Re: recuperar variable

Te recomiendo acostumbrarte a usar <?php en lugar de <? ya que en muchos servidores tienen desactivado el usar <? para codigo PHP.

Saludos.
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 03:44.