Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Problemas con href

Estas en el tema de Problemas con href en el foro de PHP en Foros del Web. Hola, haciendo pruebas tengo un problema al pasar un parametro con href. El problema esque al pasarlo (<a href=pagina?variable=<?=parametro bd?>) en la pagina de destino ...
  #1 (permalink)  
Antiguo 01/03/2014, 15:07
 
Fecha de Ingreso: marzo-2014
Mensajes: 15
Antigüedad: 10 años, 1 mes
Puntos: 0
Problemas con href

Hola, haciendo pruebas tengo un problema al pasar un parametro con href. El problema esque al pasarlo (<a href=pagina?variable=<?=parametro bd?>) en la pagina de destino me dice que no reconoce la variable en la nueva consulta a la base de datos.

Pongo el ejemplo en cuestión:
Esto es de la pagina que envio. He cambiado cosas, el menú sale bien, fijarse en el href a ver si está bien.
<?
$conexion = mysql_connect("localhost", "root", "");
$basedatos = mysql_select_db("basedatos", $conexion);
$concejos = mysql_query("select * from concejos");
?>
<div style="border-radius: 10px; -moz-border-radius: 10px; -o-border-radius: 10px; -webkit-border-radius: 10px;"" >
<ul class="nav">
<li><a href="">INICIO</a></li>
<li><a href="">LUGAR</a>
<ul>
<?
while ($fila = mysql_fetch_array($conc)){
?>
<li><a href=""><?=$fila["nombre"]?></a>
<ul>
<?
$b = mysql_query("select * from tabla1 inner join tabla2 on (tabla1.cod=tabbla2.cod) where tabla1.cod='$fila[cod]'");
while ($fila2 = mysql_fetch_array($b)){
?>
<li><a href=prueba.php?cod=<?=fila2["cod"]?>><?=$fila2["nom"]?></a></li>
<?
}
?>
</ul>


</li>
<?
}
?>
</ul>
</li>

Esto es en la pagina que recibo:

<?
$conexion = mysql_connect("localhost", "root", "");
$basedatos = mysql_select_db("basedatos", $conexion);
$sql=("select * from tabla2 where cod ='$cod'");
echo ("$sql");

Simplemente muestro lo que llega en cod (variable pasada)

Y esto es lo que me muestra el navegador:
Aviso : Undefined variable: bacalao en lo de bacalao sale talcual, creo que es por el traductor (no le doy mucha importancia porque hasta que se traduce sale cod) y luego sale el echo
select * from barrios donde cod_barrio =''

pero en la url sale bien: prueba.php?cod=POS (en este caso es POS lo que le pasé)

No se si ha quedado claro pero si alguine sabe que pasa o si sabe alguna otra forma de pasar ese codigo. habia pensado en pasarlo con onclick a una funcion de javascript pero tampoco me sale si le pongo this en el parametro que le paso me dice indefinido y si le pado el cod <?=fila2["cod"]?> tampoco sale.
  #2 (permalink)  
Antiguo 01/03/2014, 15:09
 
Fecha de Ingreso: marzo-2014
Mensajes: 15
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Problemas con href

Ya he visto que al escribir el código en el href me falta el simbolo $ seria así:

<a href=prueba.php?cod=<?=$fila2["cod"]?>

un saludo y gracias a todos
  #3 (permalink)  
Antiguo 01/03/2014, 15:11
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Problemas con href

Hola, muy buenas.

Por lo que yo veo le falta un $ y ""

Prueba a cambiarlo por esto:

Código PHP:
Ver original
  1. <a href="prueba.php?cod=<?=$fila2['cod']?>"><?=$fila2["nom"]?></a>

Un cordial saludo.
  #4 (permalink)  
Antiguo 01/03/2014, 15:23
 
Fecha de Ingreso: marzo-2014
Mensajes: 15
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Problemas con href

Hola TSG,

De que faltaba el $ ya lo había visto, he probado como me dices pero sigo obteniendo la misma respuesta.

Gracias por la respuesta.
  #5 (permalink)  
Antiguo 01/03/2014, 15:38
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Problemas con href

Hola, muy buenas.

Prueba a sustituir el segundo while por este:

Código PHP:
Ver original
  1. <?php
  2. while ($fila2 = mysql_fetch_assoc($b)){
  3.        echo "<a href='/prueba.php?cod=".$fila2['cod']."'>";
  4. }
  5. ?>

Si no da resultado dime que error te muestra.

Un cordial saludo.
  #6 (permalink)  
Antiguo 01/03/2014, 16:44
 
Fecha de Ingreso: marzo-2014
Mensajes: 15
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Problemas con href

Hola de nuevo. Me dice esto

Objecto no localizado!

El URL solicitado no ha sido localizado en este servidor. El URL de la página que lo refirió parece ser equivocado u obsoleto. Por favor comunique al autor de esa página acerca del error.

Por favor contacte con el webmaster en caso de que usted crea que existe un error en el servidor.

Error 404

localhost
03/01/14 23:46:55
Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1

Gracias otra vez por tu respuesta
  #7 (permalink)  
Antiguo 01/03/2014, 16:58
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Problemas con href

Hola, muy buenas.

Pero si dice objetivo no localizado, es por que no se encuentra esa dirección.
Lo que es el href redigirá bien, pero seguramente el archivo al que lo mandas osea prueba.php no está bien configurado...

¿Le tienes un $_GET[] para recoger información y todo eso?.

Saludos.
  #8 (permalink)  
Antiguo 01/03/2014, 17:06
 
Fecha de Ingreso: marzo-2014
Mensajes: 15
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Problemas con href

Esto es lo que tengo
<?
$conexion = mysql_connect("localhost", "root", "");
$basedatos = mysql_select_db("basedatos", $conexion);
$sql=("select * from tabla2 where cod ='$cod'");
echo ("$sql");
?>
Tengo mas cosas pero está todo comentado solo he dejado el echo para ver lo que llega. La cosa esque otras veces he hecho ejercicios así y funcionaban.

Que debeía de poner?

Si yo lo pongo como tenía al principio (En el primer comentario) llega a la pagina prueba.php pero no reconoce la variable que le paso, así que prueba está bien, no?. al ponerle lo de ahora es cuando me da objeto no localizado...

Gracias de nuevo
  #9 (permalink)  
Antiguo 01/03/2014, 17:37
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Problemas con href

Hola, muy buenas.

Prueba a poner en el archivo prueba.php

Su conexión a la base de datos y después esto:

Código PHP:
Ver original
  1. $cod = utf8_decode(mysqli_real_escape_string($conexion, ((isset($_GET['cod']) && !empty($_GET['cod']))?$_GET['cod']:false)));

Que lo que hará es recoger el calor de la variable cod que hay en la base de datos... osea sería asín la url:

Código:
prueba.php?cod=CODIGO 
Luego pon también esto:

Código PHP:
Ver original
  1. $comprobarcode = mysql_query("SELECT * FROM tutabla WHERE cod = '".$cod."'");
  2. if(mysql_num_rows($comprobarcode) < 1){
  3.     echo "No existe";
  4. }
  5. else{
  6.     echo "Existe el code en la db";
  7. }

Prueba asín y mira a que te de resultado.
Recuerda adaptar el código a tu código.

Un cordial saludo.
  #10 (permalink)  
Antiguo 02/03/2014, 10:10
 
Fecha de Ingreso: marzo-2014
Mensajes: 15
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Problemas con href

Hola. He puesto lo que me digiste y me sale que no exite. No se que está pasando...
¿Hay alguna otra forma de pasar parametros?
  #11 (permalink)  
Antiguo 02/03/2014, 10:29
 
Fecha de Ingreso: marzo-2014
Mensajes: 15
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Problemas con href

Ya he dado con la solución.

pasandolo en la pagina de origen como tenia al principio, es decir:

href=paginadestino?variable=<=?$fila["campo_basededatos"]?>

solo hay que poner en la pagina de destino un:

$variable2=$_GET['variable'];

De esta forma en $variable 2 se queda lo que hay en variable (que es la que le pasas en el href) y con esta ya puedes trabajar.

Un saludo y gracias por la ayuda.

Etiquetas: href, mysql, select, sql, tabla, variable
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 21:10.