Foros del Web » Programando para Internet » PHP »

sistema equivalente a ".php?variable=valor" ?

Estas en el tema de sistema equivalente a ".php?variable=valor" ? en el foro de PHP en Foros del Web. Hola, os voy a comentar mi caso: tengo un fichero .php que cuando se accede a el nos muestra información de una carrera y hay ...
  #1 (permalink)  
Antiguo 19/03/2009, 05:56
 
Fecha de Ingreso: febrero-2007
Mensajes: 23
Antigüedad: 17 años, 2 meses
Puntos: 2
sistema equivalente a ".php?variable=valor" ?

Hola, os voy a comentar mi caso:

tengo un fichero .php que cuando se accede a el nos muestra información de una carrera y hay una variable que es la que decide de que carrera se va a dar la información, entonces la primera vez que se entra esa variable no tiene valor y no sale ninguna información.

El otro día encontré una forma de darle valor a esa variable antes de entrar a la web y es con el sistema de ".php?variable=valor", pero me pregunto si existen otras formas de hacer lo mismo pero que sea mas seguro y mejor¿?, y tambien saber si con ese sistema se pueden enviar el valor de mas de una variable¿?

Saludos y gracias de antebrazo.
  #2 (permalink)  
Antiguo 19/03/2009, 06:06
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: sistema equivalente a ".php?variable=valor" ?

en tu .php puedes hacer esto

<?php

if(!isset($variable)){
$variable=valor;
}

?>
La función isset( )
Esta función nos permite comprobar si una variable se ha definido y en ese caso devuelve un True.
La sintaxis es isset($variable), es muy útil para comprobar si se han rellenado los campos de un formulario
  #3 (permalink)  
Antiguo 19/03/2009, 06:10
Avatar de AnisDelMono  
Fecha de Ingreso: febrero-2007
Ubicación: Pas de la Casa
Mensajes: 247
Antigüedad: 17 años, 2 meses
Puntos: 7
Respuesta: sistema equivalente a ".php?variable=valor" ?

Puedes darle un valor a la variable por defecto.

Con la funcion empty se sabe si una variable esta vacia (o no tiene valor). Asi, mediante un condicional:

Código PHP:
if (empty($variable)){
$variable "un valor";

es decir "si la variable esta vacia, la variable tiene esta valor";
  #4 (permalink)  
Antiguo 19/03/2009, 06:10
 
Fecha de Ingreso: febrero-2007
Mensajes: 23
Antigüedad: 17 años, 2 meses
Puntos: 2
Respuesta: sistema equivalente a ".php?variable=valor" ?

Pero lo que necesito es que ese valor pueda ser variable.

Saludos y gracias.
  #5 (permalink)  
Antiguo 19/03/2009, 06:13
Avatar de AnisDelMono  
Fecha de Ingreso: febrero-2007
Ubicación: Pas de la Casa
Mensajes: 247
Antigüedad: 17 años, 2 meses
Puntos: 7
Respuesta: sistema equivalente a ".php?variable=valor" ?

Por supuesto que es variable. Las dos propuestas se basan en si exista una variable o si esta vacia. En el caso que existiera, no tomaria el valor por defecto.

Lo que no tengo muy claro es si es isset o empty la funcion a emplear
  #6 (permalink)  
Antiguo 19/03/2009, 06:17
 
Fecha de Ingreso: abril-2008
Ubicación: Rubí
Mensajes: 131
Antigüedad: 16 años
Puntos: 3
Respuesta: sistema equivalente a ".php?variable=valor" ?

Yo uso empty :P
  #7 (permalink)  
Antiguo 19/03/2009, 06:17
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: sistema equivalente a ".php?variable=valor" ?

if(!isset($variable)){
$variable=valor;
}else
$variable= lo que quieras
}
  #8 (permalink)  
Antiguo 19/03/2009, 06:24
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: sistema equivalente a ".php?variable=valor" ?

Bueno es mas comodo usar isset
ya que en principio la variable no esta creada, para estar empty

Pero funcionan ambas.
  #9 (permalink)  
Antiguo 19/03/2009, 06:36
 
Fecha de Ingreso: febrero-2007
Mensajes: 23
Antigüedad: 17 años, 2 meses
Puntos: 2
Respuesta: sistema equivalente a ".php?variable=valor" ?

Perdonar, pero no se si es que no me he explicado bien o no entiendo como funciona lo que me decis, pero lo que busco es un sistema equivalente a a ".php?variable=valor".

Saludos y gracias.
  #10 (permalink)  
Antiguo 19/03/2009, 06:51
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: sistema equivalente a ".php?variable=valor" ?

Pero sll88

si tienes esto en tu archivo php
if(!isset($variable)){
$variable=valor;
}else
$variable=$_GET['variable'];
}

esto solo te va evitar que tengas que enviar un valor al inicio

como este
.php?variable=valor
  #11 (permalink)  
Antiguo 19/03/2009, 09:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: sistema equivalente a ".php?variable=valor" ?

Por otro lado para enviar más variables debes de armar tu Query string correctamente:
Código:
pagina.php?variable=valor&variable2=valor2&variable3=valor3
Saludos.
  #12 (permalink)  
Antiguo 19/03/2009, 11:42
 
Fecha de Ingreso: febrero-2007
Mensajes: 23
Antigüedad: 17 años, 2 meses
Puntos: 2
Respuesta: sistema equivalente a ".php?variable=valor" ?

Cita:
Iniciado por GatorV Ver Mensaje
Por otro lado para enviar más variables debes de armar tu Query string correctamente:
Código:
pagina.php?variable=valor&variable2=valor2&variable3=valor3
Saludos.
Muchas gracias. Eso necesitaba.

Saludos.
  #13 (permalink)  
Antiguo 19/03/2009, 11:51
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 6 meses
Puntos: 18
Respuesta: sistema equivalente a ".php?variable=valor" ?

además no hay que confundir las funciones isset y empty no es que hacen la misma cosa y son alternativos.

isset verifica si existe la variable o si está definida.
empty verifica si la variable está vacía o no, previamente debe de existir o estar definida(isset).
con lo que la lógica quedaría de esta forma
Código :
Ver original
  1. <?php
  2.  
  3. if(isset($var))
  4. {
  5. if(!empty($var))
  6. {
  7. echo $var;
  8. }
  9. else
  10. {
  11. echo 'la variable está vacía';
  12. }
  13. }
  14. else
  15. {
  16. echo 'no existe variable';
  17. }
  18. ?>
si estamos procesando variables que recibimos por url o de un formulario, entonces tendremos que utilizar las superglobales $_POST, $GET,$_REQUEST.

suerte.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #14 (permalink)  
Antiguo 19/03/2009, 12:14
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: sistema equivalente a ".php?variable=valor" ?

Cita:
Iniciado por argy Ver Mensaje
además no hay que confundir las funciones isset y empty no es que hacen la misma cosa y son alternativos.

isset verifica si existe la variable o si está definida.
empty verifica si la variable está vacía o no, previamente debe de existir o estar definida(isset).
con lo que la lógica quedaría de esta forma
Código :
Ver original
  1. <?php
  2.  
  3. if(isset($var))
  4. {
  5. if(!empty($var))
  6. {
  7. echo $var;
  8. }
  9. else
  10. {
  11. echo 'la variable está vacía';
  12. }
  13. }
  14. else
  15. {
  16. echo 'no existe variable';
  17. }
  18. ?>
si estamos procesando variables que recibimos por url o de un formulario, entonces tendremos que utilizar las superglobales $_POST, $GET,$_REQUEST.

suerte.
OFFTOPIC:

Estoy de acuerdo que no es lo mismo isset que empty (php.net perdone a quién dijo lo contrario arriba) aunque... la variable NO es necesario que esté setteada para ser usada con empty.

Yo cada vez uso menos isset, ya que lo que realmente suele importarme es que $var contenga algo, en pocas palabras que no esté setteada, tenga valor cero, NULL, FALSE o "" en mis sistemas es generalmente lo mismo. Ojo, que no se mal interprete que no sea necesario y que no esté yo usando cosas como === FALSE o === NULL, simplemente que en casos como pasos de variables, si no contiene nada lógicamente es como que simplemente no la han enviado. Espero que se comprenda mi punto.

ej en el .php receptor:
Código php:
Ver original
  1. $foo = empty($_GET['foo']) ? 0 : intval($_GET['foo']); #integer
  2. $bar = empty($_GET['bar']) ? '' : $_GET['bar']; #string
  3. echo "foo vale: ", $foo, ". Y bar vale: ", $bar;


Saludos.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #15 (permalink)  
Antiguo 20/03/2009, 03:02
Avatar de AnisDelMono  
Fecha de Ingreso: febrero-2007
Ubicación: Pas de la Casa
Mensajes: 247
Antigüedad: 17 años, 2 meses
Puntos: 7
Respuesta: sistema equivalente a ".php?variable=valor" ?

Gracias por aclararmelo

Pasa que gjx2 y yo posteamos las misma solucion casi instantaneamente y cada uno utilizando una funcion diferente. Aunque, por lo visto, no ha servido de mucho.

Pero por lo menos he profundizado en lo que hace cada funcion. Yo he visto mucho codigo donde prescinden de isset y pasan al empty directamente. Pero entiendo que no son la misma cosa.
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 07:54.