Foros del Web » Programando para Internet » PHP »

Variables globales cuando pincho el enlace

Estas en el tema de Variables globales cuando pincho el enlace en el foro de PHP en Foros del Web. Hola amigos, lo que me pasa es quiero registrar unas variables globales justo cuando pincho en el enlace que me pasa a la otra página. ...
  #1 (permalink)  
Antiguo 09/05/2006, 10:55
 
Fecha de Ingreso: mayo-2006
Ubicación: Lliria - Valencia - España
Mensajes: 33
Antigüedad: 11 años, 7 meses
Puntos: 0
Variables globales cuando pincho el enlace

Hola amigos,
lo que me pasa es quiero registrar unas variables globales justo cuando pincho en el enlace que me pasa a la otra página.

Tengo varias noticias en una misma base de datos, cada una tiene su título y su contenido. Pero en esta página sólo se muesta un trozo del contendo y hay un enlace a una página que está todo el contenido.

Entonces lo que quiero es que cuando pinche en ese enlace, me guarde la variable $_SESSION['titulo'] = $titulo, y $_SESSION['contenido'] = $contenido, porque en cada enlace esas variables valen algo diferente.

Por último, cómo las llamo desde la página que está todo el contenido?

Gracias.
  #2 (permalink)  
Antiguo 09/05/2006, 11:38
 
Fecha de Ingreso: mayo-2006
Mensajes: 49
Antigüedad: 11 años, 7 meses
Puntos: 2
De acuerdo falta de práctica

Hola.

El fallo que me comentas, es bastante típico. El uso de variables de sesión solo está permitido en el servidor, ya que por seguridad son invisibles al cliente. Lo que se suele hacer para lo que me comentas es poner un enlace hacia la noticia completa de la siguiente manera:

Código:
www.dominio.com/noticia.php?id=12
Eso implica el uso de variables $_GET['nombrevariable']. En primer lugar puedes ver el campo id=12, donde "id" es el nombre de la variable y 12 es el número de la noticia.

En la página de noticias completas (en este caso noticia.php) puedes hacer una búsqueda tal que:
$sql = "SELECT * FROM `noticias` WHERE `id`=".$_GET['id'];

Esto implica que debes tener una columna en la tabla que se llame "id", que sea "primaria" y te sugiero que de tipo "auto_increment".

Me imagino que lo que querias hacer era una búsqueda sql de la noticia * con el título X y el texto Y. Normalmente, cuando hace una búsqueda en un script PHP, se hace por índice (lo que te he explicado). Imagínate que tienes dos noticias repetidas por la causa que sea: dará error o te devolverá 2 noticias. De esta manera los índices son únicos y no da pie a confusión

Para obtener la URL en formato de variables get, cuando muestres las noticias debes hacer lo siguiente:

Código:
while ($registro = mysql_fetch_array($result)) {
echo "Noticia:".$registro['texto']."<br>";
echo "<a href=\"www.dominio.com/noticias.php?id=".$registro['id']."\">Leer todo...</a>";
}
------------------------------------------------------------------------------
Carles Martínez · http://www.xatcom.net/ · diseño web y comunicación

Última edición por carmarri; 09/05/2006 a las 13:57
  #3 (permalink)  
Antiguo 10/05/2006, 01:34
 
Fecha de Ingreso: mayo-2006
Ubicación: Lliria - Valencia - España
Mensajes: 33
Antigüedad: 11 años, 7 meses
Puntos: 0
Gracias.

Me ha servido de mucho tu explicacion.

He pasado la fecha y un indice que me hacen de claves primarias, y luego he buscado en la base de datos ese registro y me funciona.

Otra vez Gracias.

Última edición por caper; 10/05/2006 a las 02:10
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 05:10.