Foros del Web » Programando para Internet » PHP »

Problema al pasar variable por URL

Estas en el tema de Problema al pasar variable por URL en el foro de PHP en Foros del Web. Buenas, espero que me puedan ayudar ya que mi script no funciona y no se por que...estoy haciendo un formulario para modificar los datos de ...

  #1 (permalink)  
Antiguo 02/06/2008, 06:45
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Problema al pasar variable por URL

Buenas, espero que me puedan ayudar ya que mi script no funciona y no se por que...estoy haciendo un formulario para modificar los datos de mi base de datos. Los datos los puedo cargar de 2 formas, o seleccionando el articulo que quiero cargar de un select (POST) o mediante una búsqueda en mi base de datos que me muestra las coincidencias en una tabla...Pues bien, si lo hago mediante el select funciona perfectamente, ya que me carga el formulario con los datos correctos. Sin embargo si lo hago mediante una búsqueda no funciona. Es decir, la búsqueda me la hace correctamente y se muestra correctamente en la tabla, sin embargo cuando pulso en el campo que tengo seleccionado para que me cargue el formulario con los datos no lo hace. He probado a imprimir la variable que recibo por GET de la tabla y la imprime bien, sin embargo no me la coge para mostrar los cambios, ¿saben por qué puede ser?

Este código php es el que me indica de donde viene la carga del archivo, si aquí imprimo $ande me sale 1 en pantalla, si embargo al hacer el if no me lo ejecuta y siempre pasa al else, por lo que si vengo de la tabla no se muestra nada.
Código PHP:
$ande=$_GET['busk'];
if (
$ande==1//si viene de busqueda por coincidencia
{
    
$iddis=$_GET['id'];
}
else 
//si viene del select
{
    
$iddis=$_POST['sello'];

Espero me puedan ayudar, muchas gracias!
  #2 (permalink)  
Antiguo 02/06/2008, 06:53
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema al pasar variable por URL

hola

si no enseñas la busqueda con select y la otra busqueda, no quedara mas remedio que intentar adivinar, jeje

Un saludo
  #3 (permalink)  
Antiguo 02/06/2008, 07:01
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema al pasar variable por URL

Búsqueda con el SELECT...este pasa por POST y me lo recibe bien:

Código PHP:
<option selected value="">&nbsp;</option> //la opcion por defecto esta
<?php
$tablasello 
mysql_query("select * FROM sellos WHERE Borrado='0' ORDER BY RefNom");
while (
$registrosello mysql_fetch_array($tablasello))
{
    
?>
    <option> <?php echo $registrosello['NombreSello']; ?></option>
    <?php
}
mysql_free_result($tablasello);
mysql_free_result($registrosello);
Esta es la tabla que muestro y el link para obtener el id del articulo a modificar, si hago el $_GET me lo printa bien, por lo que el problema no creo que viene de aquí, sin embargo no me lo coge al hacer el IF

Código PHP:
while($row mysql_fetch_array($result)){

  echo 
"<tr>";
  echo 
"<td><a href=\"MoSdatossello.php?id=".$row['Id_Sello']."&busk=1\" style=\"text-decoration:underline;cursor:pointer;\">".$row['RefNom']."</a></td>";
  echo 
"<td>".$row['NombreSello']."</td>"
  echo 
"<td>".$row['Dueno']."</td>";
  echo 
"<td>".$row['Mail1']."</td>";
  echo 
"<td>".$row['Mail2']."</td>";
  echo 
"<td>".$row['Web1']."</td>";
  echo 
"<td>".$row['Web2']."</td>";
  echo 
"<td>".$row['Telf1']."</td>";
  echo 
"<td>".$row['Telf2']."</td>";
  echo 
"</tr>";

  #4 (permalink)  
Antiguo 02/06/2008, 10:14
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema al pasar variable por URL

Cita:

$ande=$_GET['busk'];
echo $ande;
if ($ande==1) //si viene de busqueda por coincidencia
{
$iddis=$_GET['id'];
}
else //si viene del select
{
$iddis=$_POST['sello'];
}
haz un echo de la variable $ande
  #5 (permalink)  
Antiguo 02/06/2008, 13:03
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema al pasar variable por URL

Ya he hecho un echo de la variable, lo he comentado antes, y cuando viene de la tabla tiene valor 1, sin embargo no se por que no entra y siempre me hace el else...si entro por el otro lado no printa nada...¿alguna idea?

También he provado a poner en vez de == a poner != pero nunca me coge el valor del $_GET ($ande), eso si, lo printa bien...
  #6 (permalink)  
Antiguo 02/06/2008, 13:13
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema al pasar variable por URL

prueba a definir antes el valor de busk y lo pasas igual que haces


Código PHP:
$busqueda="1";
while(
$row mysql_fetch_array($result)){ 

  echo 
"<tr>"
  echo 
"<td><a href=\"MoSdatossello.php?id=$row['Id_Sello']&busk=$busqueda\" style=\"text-decoration:underline;cursor:pointer;\">".$row['RefNom']."</a></td>"
  echo 
"<td>".$row['NombreSello']."</td>";  
  echo 
"<td>".$row['Dueno']."</td>"
  echo 
"<td>".$row['Mail1']."</td>"
  echo 
"<td>".$row['Mail2']."</td>"
  echo 
"<td>".$row['Web1']."</td>"
  echo 
"<td>".$row['Web2']."</td>"
  echo 
"<td>".$row['Telf1']."</td>"
  echo 
"<td>".$row['Telf2']."</td>"
  echo 
"</tr>"

  #7 (permalink)  
Antiguo 02/06/2008, 13:18
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema al pasar variable por URL

Nada, sigue sucediendo lo mismo...esto no me había pasado nunca...gracias x el interes!!! seguiré buscando a ver si encuentro una solución...si tienes alguna idea más será muy agradecida...
  #8 (permalink)  
Antiguo 02/06/2008, 13:20
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema al pasar variable por URL

intentalo haciendolo mayor a cero y no igual

Código PHP:

$ande
=$_GET['busk']; 
if (
$ande>0//si viene de busqueda por coincidencia 

    
$iddis=$_GET['id']; 

else 
//si viene del select 

    
$iddis=$_POST['sello']; 

  #9 (permalink)  
Antiguo 02/06/2008, 13:24
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema al pasar variable por URL

Más de lo mismo, sigue sin funcionar...

También he mirado que no sea problema de $_GET['id'], pero también me lo printa bien...

Última edición por Kilofafeure; 02/06/2008 a las 13:30
  #10 (permalink)  
Antiguo 02/06/2008, 13:29
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema al pasar variable por URL

prueba algo asi

Código PHP:
$ande=$_GET['busk'];  
if (isset(
$ande==1)) //si viene de busqueda por coincidencia  
{  
    
$iddis=$_GET['id'];  
}  
else 
//si viene del select  
{  
    
$iddis=$_POST['sello'];  

  #11 (permalink)  
Antiguo 02/06/2008, 13:30
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema al pasar variable por URL

encontre esto en el manual de php

Cita:
isset() sólo trabaja con variables, ya que pasar cualquier otra cosa resultará en un error de intérprete. Para chequear si se han definido constantes, use la función defined().


no se es muy raro todo esto
  #12 (permalink)  
Antiguo 02/06/2008, 13:33
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema al pasar variable por URL

y esto tambien es del manual de php, lo que haces esta bien, por lo que no entiendo, te lo tendra que resolver uno de los maestros del foro

Código PHP:

<?php
     
if ($a == $b)  //ejemplo del manual
     
{
         print(
"something");
     }
?>
  #13 (permalink)  
Antiguo 02/06/2008, 13:36
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema al pasar variable por URL

Yano se que mas buscar, prueba esto ultimo

Código PHP:

$ande
=$_GET['busk']; 
$unidad "1";
if (
$ande==$unidad//si viene de busqueda por coincidencia 

    
$iddis=$_GET['id']; 

else 
//si viene del select 

    
$iddis=$_POST['sello']; 

  #14 (permalink)  
Antiguo 02/06/2008, 13:38
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema al pasar variable por URL

Al final me ha entrado en el IF

Código PHP:
$ande=$_GET['busk'];
if (isset(
$ande)==1)  //si viene de busqueda por coincidencia
{
    
$iddis=$_GET['id'];
    echo 
$iddis;
}
else
{
    
$iddis=$_POST['sello'];

Se que ha entrado porque me printa $iddis, pero ahora no me coge este valor, debe ser por lo mismo, sin embargo poniendole

Código PHP:
isset($iddis)=$_GET['id']; 
me tira un error. Voy a buscar información sobre isset y a ver si consigo que funcione...Muchiiiiiiiiiiiiiiiiiiiiisimas gracias!!! me estaba volviendo loco!!!
  #15 (permalink)  
Antiguo 02/06/2008, 16:58
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 45
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Problema al pasar variable por URL

Hola kilofafeure

Prueba con esto:

if(isset($iddis) && isset($iddis)!="")
$iddis=$_GET["id"];
  #16 (permalink)  
Antiguo 03/06/2008, 01:37
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema al pasar variable por URL

Gracias pero sigue sin funcionar, la cuestion es que me sigue printando bien las variables...¿alguna idea más? las vars pasan con valor pero no se por que sigue sin cogerlo...

Código PHP:
$ande=$_GET['busk'];
$id=$_GET['id'];

if (isset(
$ande)==1)  //si viene de busqueda por coincidencia
{
    if(isset(
$id) && isset($id)!="")
    {
        
$iddis=$id;
        echo 
$ande;
        echo 
$iddis;
        echo 
$id;
    }
}
else
{
    
$iddis=$_POST['sello'];

  #17 (permalink)  
Antiguo 03/06/2008, 01:51
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 45
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Problema al pasar variable por URL

Mira a ver esto:

En vez de:

$id=$_GET['id'];

pon:

$id=basename($_GET['id']);


Un saludo
  #18 (permalink)  
Antiguo 03/06/2008, 01:56
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema al pasar variable por URL

Más de lo mismo, se imprimen bien las variables pero no me carga los datos de la BBDD...
  #19 (permalink)  
Antiguo 03/06/2008, 02:05
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 45
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Problema al pasar variable por URL

Hola de nuevo kilofafeure

Después de volver a mirar este codigo:

$ande=$_GET['busk'];
$id=$_GET['id'];

if (isset($ande)==1) //si viene de busqueda por coincidencia
{
if(isset($id) && isset($id)!="")
{
$iddis=$id;
echo $ande;
echo $iddis;
echo $id;
}
}
else
{
$iddis=$_POST['sello'];
}

hagas lo que hagas siempre va al else ya que el primer if no lo reconoce y por tanto el segundo es imposible que se meta. Es asi? De ser asi, cambia "if (isset($ande)==1)" por
if(isset($ande) && isset($ande)==1) o if(isset($ande) && isset($ande)!="")

Espero que ahora si que te funcione

Un saludo
  #20 (permalink)  
Antiguo 03/06/2008, 02:07
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema al pasar variable por URL

Ahora he provado esto...

Código PHP:
$busqueda="1";
$ids=$row['Id_Sello'];
while(
$row mysql_fetch_array($result))
{
  echo 
"<tr>";
  echo 
"<td><a href=\"MoSdatossello.php?id=$ids&busk=$busqueda\" style=\"text-decoration:underline;cursor:pointer;\">".$row['RefNom']."</a></td>";
  echo 
"<td>".$row['NombreSello']."</td>"
  echo 
"<td>".$row['Dueno']."</td>"
en vez de como lo tenia antes que pasaba
Código PHP:
$row['Id_Sello'
y ahora me imprime el valor de ande pero no el valor del id, así que pasa el doble isset pero no printa nada...

Código PHP:
$ande=$_GET['busk'];
$id=$_GET['id'];

if (isset(
$ande)==1)  //si viene de busqueda por coincidencia
{
    if(isset(
$id) && isset($id)!="")
    {
        
$iddis=$id;
        echo 
$ande;
        echo 
$iddis;
        echo 
$id;
    }
}
else
{
    
$iddis=$_POST['sello'];

No se que puede ser...esto es locura máxima...un saludo y gracias...
  #21 (permalink)  
Antiguo 03/06/2008, 02:09
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema al pasar variable por URL

Cita:
Iniciado por josofol Ver Mensaje
hagas lo que hagas siempre va al else ya que el primer if no lo reconoce y por tanto el segundo es imposible que se meta. Es asi? De ser asi, cambia "if (isset($ande)==1)" por
if(isset($ande) && isset($ande)==1) o if(isset($ande) && isset($ande)!="")

Espero que ahora si que te funcione

Un saludo
Pero no siempre va al else, ya que sino no me printaria las variables, no? bueno ahora tengo que irme en cuanto vuelva lo provare y comentare otra vez...Muchas gracias again!
  #22 (permalink)  
Antiguo 03/06/2008, 04:20
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema al pasar variable por URL

en este if le estas diciendo
si existe $id(que se supone que existe) Y $id es distinto de vacio que entre en el if
y si no lo hace sera porque no se cumplen las condiciones del if
Cita:

if(isset($id) && isset($id)!="")

Última edición por jaronu; 03/06/2008 a las 04:26
  #23 (permalink)  
Antiguo 03/06/2008, 04:58
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema al pasar variable por URL

Cita:
Iniciado por josofol Ver Mensaje
hagas lo que hagas siempre va al else ya que el primer if no lo reconoce y por tanto el segundo es imposible que se meta. Es asi? De ser asi, cambia "if (isset($ande)==1)" por
if(isset($ande) && isset($ande)==1) o if(isset($ande) && isset($ande)!="")
Hola josofol! he provado lo que me dijiste y tampoco funciona...le he puesto un echo en el else para ver si entra o no y no entra ya que no me lo printa, como dije si que entra en el if ya que me printa los echos que le pongo dentro...sin embargo ahora solo me printa el $ande, cuando antes también me printaba el $id y $iddis, cosa extraña ya que se encuentran denro de: if(isset($id) && isset($id)!="")

Código PHP:
$ande=$_GET['busk'];
$id=$_GET['id'];

if(isset(
$ande) && isset($ande)==1)  //si viene de busqueda por coincidencia
{
    if(isset(
$id) && isset($id)!="")
    {
        
$iddis=$id;
        echo 
$ande;
        echo 
$iddis;
        echo 
$id;
    }
}
else
{
    echo 
"no entra";
    
$iddis=$_POST['sello'];

  #24 (permalink)  
Antiguo 03/06/2008, 05:14
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 45
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Problema al pasar variable por URL

Pues ya no se. Solo mira a ver si es la url que le pasas. Es decir pasale solo los dos valores a evaluar:

echo "<td><a href='MoSdatossello.php?id=$ids&busk=$busqueda'>"

Ya me comentas.
  #25 (permalink)  
Antiguo 03/06/2008, 05:27
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema al pasar variable por URL

Nada, sigue igual. Lo curioso es que si se lo paso así:
Código PHP:
<a href="MoSdatossello.php?id=".$row['Id_Sello']."&busk=$busqueda\" style=\"text-decoration:underline;cursor:pointer;\"> 
me printa el id. Sin embargo si lo hago así:
Código PHP:
<a href="MoSdatossello.php?id=$ids&busk=$busqueda\" style=\"text-decoration:underline;cursor:pointer;\"> 
no me lo printa...dios que desesperación...weno muchas gracias, a ver si alguien lo ve y me sabe decir que pasa...muxas gracias...
  #26 (permalink)  
Antiguo 03/06/2008, 05:35
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema al pasar variable por URL

hola

has de escapar las comillas que estan dentro del echo""

como hacias al principio

ahora solo escapas las comillas finales del a herf


Cita:
<a href=\"MoSdatossello.php?id=$ids&busk=$busqueda\" style=\"text-decoration:underline;cursor:pointer;\">


o lo que te pone josofol con colmillas simples
  #27 (permalink)  
Antiguo 03/06/2008, 05:52
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema al pasar variable por URL

Cita:
Iniciado por jaronu Ver Mensaje
hola
has de escapar las comillas que estan dentro del echo""
como hacias al principio
ahora solo escapas las comillas finales del a herf
o lo que te pone josofol con colmillas simples
Cuando dices que escape las comillas que quieres decir?lo último que he puesto es como lo tenia al principio y como dice josofol tampoco me funciona...
  #28 (permalink)  
Antiguo 03/06/2008, 05:55
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema al pasar variable por URL

cuando pones

echo "contenido que sea<a herf ="........." </a>"

el a herf vuelve a tener comillas y para que php no crea que las has cerrado las del echo las escapas con una barra invertida

echo "contenido que sea<a herf =\".........\" </a>"
  #29 (permalink)  
Antiguo 03/06/2008, 06:08
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 45
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Problema al pasar variable por URL

El problema es que ya usas bien el escape en este post y comentas que no va. De ahi que te ponga la otra alternativa de URL. De todas maneras, me gustaría saber en tu bbdd que formato tiene tu id.

Gracias y ya me comentas.


Cita:
Iniciado por Kilofafeure Ver Mensaje
Ahora he provado esto...

Código PHP:
$busqueda="1";
$ids=$row['Id_Sello'];
while(
$row mysql_fetch_array($result))
{
  echo 
"<tr>";
  echo 
"<td><a href=\"MoSdatossello.php?id=$ids&busk=$busqueda\" style=\"text-decoration:underline;cursor:pointer;\">".$row['RefNom']."</a></td>";
  echo 
"<td>".$row['NombreSello']."</td>"
  echo 
"<td>".$row['Dueno']."</td>"
en vez de como lo tenia antes que pasaba
Código PHP:
$row['Id_Sello'
y ahora me imprime el valor de ande pero no el valor del id, así que pasa el doble isset pero no printa nada...

Código PHP:
$ande=$_GET['busk'];
$id=$_GET['id'];

if (isset(
$ande)==1)  //si viene de busqueda por coincidencia
{
    if(isset(
$id) && isset($id)!="")
    {
        
$iddis=$id;
        echo 
$ande;
        echo 
$iddis;
        echo 
$id;
    }
}
else
{
    
$iddis=$_POST['sello'];

No se que puede ser...esto es locura máxima...un saludo y gracias...
  #30 (permalink)  
Antiguo 03/06/2008, 06:26
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema al pasar variable por URL

Id_Sello lo tengo como un Int(10) con Unsigned Zero Fill y por supuesto auto incrementable...podría ser por el unsigned zero fill??? sin embargo cuando lo printa printa todos los ceros y el número correctamente...voy a ver si poniendo sólo a unsigned funciona...pues no funciona pero me los printa bien...
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 22:34.