Foros del Web » Programando para Internet » PHP »

Enviar valor de variable en un campo HIDE de formulario y recogerla tras enviar

Estas en el tema de Enviar valor de variable en un campo HIDE de formulario y recogerla tras enviar en el foro de PHP en Foros del Web. Ahora tengo otro problema que no se cómo corregir.. Uso esto para mostrar las filas de una tabla de mi BD: Código PHP: include( "bd.php" ...
  #1 (permalink)  
Antiguo 18/06/2009, 04:24
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 10 meses
Puntos: 0
Exclamación Enviar valor de variable en un campo HIDE de formulario y recogerla tras enviar

Ahora tengo otro problema que no se cómo corregir..
Uso esto para mostrar las filas de una tabla de mi BD:

Código PHP:

include("bd.php");

$link=Conectarse();

//echo "Conexion con la base de datos conseguida.<br>";

$_pagi_sql="SELECT * FROM  games where plataforma='PS3'";
$_pagi_cuantos5// Numero de juegos por página

include('paginator.inc.php');

echo 
"<table width='100%' align='center' border='1'>";
echo 
"<tr><th colspan=7><center><img src=ps3.png width=200 height=200>PS3</center></th></tr>";

while (
$fila=mysql_fetch_row($_pagi_result))
{
    echo 
"<tr>";
    foreach(
$fila as $dato)
    {
        echo 
"<td> $dato </td>";
    }

    echo 
"<td><a href='admin_edita_form_ps3.php?nombre_juego=$fila[2]'>Editar</a></td>";    
    echo 
"<td><a href='admin_elimina_form_ps3.php?nombre_juego=$fila[2]'>Eliminar</a></td>";
    echo 
"</tr>";
}

echo 
"</table>";

echo 
$_pagi_navegacion;

mysql_close($link); //cierra la conexion
?> 

Lo que hace es mostrar al lado de los datos de cada fila, un enlace a un formulario para editar los datos de la fila.

El problema..es que tal como está el código, en el formulario recojo el nombre_juego que envío desde el enlace:

echo "<td><a href='admin_edita_form_ps3.php?nombre_juego=$fila[2]'>Editar</a></td>";

así:

$id=$_GET['nombre_juego'];


Problema: da igual el enlace que haga click, que al enviarme al formulario, siempre recoge los datos de la primera fila..,en vez de cada enlace (Editar se llama) me envíe los datos de su fila correspondiente..

No se en qué fallo si es en el while o qué..pero ojalá puedan ayudarme y gracias de nuevo



------------------------------------------------------- De aquí para abajo ya está solucionado :)
Hola,
Quiero enviar un input oculto (hide), de un formulario, pero que envíe un value con una variable del mismo archivo, al archivo que envía el formulario (al action="X.php"), para poder recoger el valor en X.php en otra variable nueva.

Pero no se qué poner en el value para que para poder recoger el dato luego con:
$valor_hide=$_POST['hide'];

El formulario empieza así:


Código PHP:
<?php
    
include("bd.php");
    
$link=Conectarse();
    
$id=$_GET['nombre_juego'];
    
$result=mysql_query("SELECT * FROM  games where plataforma='PS3'",$link);
    
$fila mysql_fetch_array($result);
    
mysql_close($link);        
    
?>

Y continua ya fuera del <?php ?> con..

Código HTML:
<form name="altajuegos" method="post" action="admin_edita_ps3.php" enctype="multipart/form-data"> 
	
		<center>	
		
			<fieldset style="border:solid blue">
			
				<legend align="center"><font color="blue">Alta Juegos</font></legend>
	
				<table style="border:solid purple" cellpadding="2" cellspacing="2" border="1">
			
					<tr>
				
						<td align="center"><input type="hide" name="id" value='$id'></td>
				
					</tr> 
Pues lo que quiero es recoger la variable ID de la primera parte del código, en el value del campo hide del formulario, para que al enviar, pueda recoger ese valor con otra variable en admin_edita_ps3.php (el action del formulario).

Espero haberme explicado bien, gracias
----------------------------------------------------------------

Última edición por arkfantasy; 18/06/2009 a las 06:39
  #2 (permalink)  
Antiguo 18/06/2009, 05:48
Avatar de desendoll  
Fecha de Ingreso: mayo-2008
Mensajes: 340
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Enviar valor de variable en un campo HIDE de formulario y recogerla tras e

El value='$id' deberia estar escrito como value='<?=$id;?>' , no se si es este el problema que tienes...
__________________
Francesc Jimenez
  #3 (permalink)  
Antiguo 18/06/2009, 05:56
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: Enviar valor de variable en un campo HIDE de formulario y recogerla tras e

Lo primero es que no es

Código HTML:
<td align="center"><input type="hide" name="id" value='$id'></td> 
Forma correcta

Código:
<td align="center">
<input type="hidden"  name="id" value="<?php echo $id ?>">
</td>

Última edición por gjx2; 18/06/2009 a las 06:04
  #4 (permalink)  
Antiguo 18/06/2009, 06:08
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Enviar valor de variable en un campo HIDE de formulario y recogerla tras e

Cita:
Iniciado por gjx2 Ver Mensaje
Lo primero es que no es

Código HTML:
<td align="center"><input type="hide" name="id" value='$id'></td> 
Forma correcta

Código:
<td align="center">
<input type="hidden"  name="id" value="<?php echo $id ?>">
</td>

Gracias a los 2,
Desendoll:
ahora estaba value='$id" solo porque estaba probando otras formas..porque la supuesta forma que sabía no la recordaba..

gjx2:
Y sí se que era hidden solo que lo puse mal aquí sin querer..pero eso lo tengo bien en mi código, voy a probar lo del echo, porque probé igual pero sin el echo..
no me di cuenta de que sin echo no lo mostraría..voy a probar, y gracias por adelantado :)
  #5 (permalink)  
Antiguo 18/06/2009, 06:28
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: Enviar valor de variable en un campo HIDE de formulario y recogerla tras e

Existen etiquetas cortas en php

por ejemplo puedes imprimir con solo <?=$valor;?> o tambien <?php echo $valor;?>
La unica diferencia es que no todas las versiones de php soportan etiquetas cortas por tanto
es mejor poner la forma compactible con todos <?php echo $valor; ?>

Mas sobre el tema http://craftyman.net/porque-no-usar-short-tags-en-php/


Suerte .

Última edición por gjx2; 18/06/2009 a las 06:30 Razón: Incluir lnk
  #6 (permalink)  
Antiguo 18/06/2009, 06:29
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Enviar valor de variable en un campo HIDE de formulario y recogerla tras e

Ahora tengo otro problema que no se cómo corregir..
Uso esto para mostrar las filas de una tabla de mi BD:

Código PHP:

include("bd.php");

$link=Conectarse();

//echo "Conexion con la base de datos conseguida.<br>";

$_pagi_sql="SELECT * FROM  games where plataforma='PS3'";
$_pagi_cuantos5// Numero de juegos por página

include('paginator.inc.php');

echo 
"<table width='100%' align='center' border='1'>";
echo 
"<tr><th colspan=7><center><img src=ps3.png width=200 height=200>PS3</center></th></tr>";

while (
$fila=mysql_fetch_row($_pagi_result))
{
    echo 
"<tr>";
    foreach(
$fila as $dato)
    {
        echo 
"<td> $dato </td>";
    }

    echo 
"<td><a href='admin_edita_form_ps3.php?nombre_juego=$fila[2]'>Editar</a></td>";    
    echo 
"<td><a href='admin_elimina_form_ps3.php?nombre_juego=$fila[2]'>Eliminar</a></td>";
    echo 
"</tr>";
}

echo 
"</table>";

echo 
$_pagi_navegacion;

mysql_close($link); //cierra la conexion
?> 

Lo que hace es mostrar al lado de los datos de cada fila, un enlace a un formulario para editar los datos de la fila.

El problema..es que tal como está el código, en el formulario recojo el nombre_juego que envío desde el enlace:

echo "<td><a href='admin_edita_form_ps3.php?nombre_juego=$fila[2]'>Editar</a></td>";

así:

$id=$_GET['nombre_juego'];


Problema: da igual el enlace que haga click, que al enviarme al formulario, siempre recoge los datos de la primera fila..,en vez de cada enlace (Editar se llama) me envíe los datos de su fila correspondiente..

No se en qué fallo si es en el while o qué..pero ojalá puedan ayudarme y gracias de nuevo
  #7 (permalink)  
Antiguo 18/06/2009, 06:33
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Enviar valor de variable en un campo HIDE de formulario y recogerla tras e

Entiendo, gracias gjx2, imaginaba que sería por problemas de versiones, ya que siempre usábamos en clases Ubuntu, e instlábamos todo por separado.

Pero ahora esto lo tenemos que hacer en Windows, usando Wamp (que no me gusta nada).

Y no me mostraba o recogía los datos sin el "echo" delante :).

A ver si puedes ayudarme con mi otro problema..creo que tras eso, ya no necesitaré más ayuda en nada.. pero todo esto es urgente porque he de acabarlo hoy.

Y los profesores como que no sirven de mucha ayuda...
  #8 (permalink)  
Antiguo 18/06/2009, 06:41
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: Enviar valor de variable en un campo HIDE de formulario y recogerla tras e

Tu otro problema no lo tengo bien claro

No entiendo esta parte

Problema: da igual el enlace que haga click, que al enviarme al formulario, siempre recoge los datos de la primera fila..,en vez de cada enlace (Editar se llama) me envíe los datos de su fila correspondiente..
  #9 (permalink)  
Antiguo 18/06/2009, 06:46
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Enviar valor de variable en un campo HIDE de formulario y recogerla tras e

Te lo explico de una forma más fácil, un segundo
  #10 (permalink)  
Antiguo 18/06/2009, 06:54
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Enviar valor de variable en un campo HIDE de formulario y recogerla tras e

Cita:
Iniciado por arkfantasy Ver Mensaje
Te lo explico de una forma más fácil, un segundo

Ya que no llevo 30 días aquí, no puedo poner URLs, así que les quité la H a http

Mira estas 2 fotos, una es la lista de las filas de la BD, cada uno con su EDITAR, y ELIMINAR (este no importa ahora) al lado.

El problema es que cuando le doy al enlace de editar de cualquiera, siempre me envía al formulario, con los datos del primero de la lista.

Por ejemplo aquí está la lista:

ttp://img199.imageshack.us/img199/3729/verps3.png

Y cuando le doy al Editar del juego "Uncharted", me envía al formulario con los datos del primero "YFF"

ttp://img34.imageshack.us/img34/461/verps3fail.png
  #11 (permalink)  
Antiguo 18/06/2009, 07:12
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: Enviar valor de variable en un campo HIDE de formulario y recogerla tras e

Tienes que mostrar el codigo del archivo que estas llamando.

admin_edita_form_ps3.php
  #12 (permalink)  
Antiguo 18/06/2009, 07:18
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Enviar valor de variable en un campo HIDE de formulario y recogerla tras e

Cita:
Iniciado por gjx2 Ver Mensaje
Tienes que mostrar el codigo del archivo que estas llamando.

admin_edita_form_ps3.php
ok

Código PHP:
<html>

    <head>
    
        <title> Alta de Juegos </title>
    
    </head>
    
    <body bgcolor="lightblue">
    
    
    <?php
    
include("bd.php");
    
$link=Conectarse();
    
$id=$_GET['nombre_juego'];
    
$result=mysql_query("SELECT * FROM  games where plataforma='PS3'",$link);
    
$fila mysql_fetch_array($result);
    
mysql_close($link);        
    
?>
    
    
    
    
    
    
    <h1><center><font color="red">JUEGOS</font></center></h1>
    
    <form name="altajuegos" method="post" action="admin_edita_ps3.php" enctype="multipart/form-data"> 
    
        <center>    
        
            <fieldset style="border:solid blue">
            
                <legend align="center"><font color="blue">Alta Juegos</font></legend>
    
                <table style="border:solid purple" cellpadding="2" cellspacing="2" border="1">
            
                    <tr>
                
                        <td align="center"><input type="hidden" name="id" value="<?php echo $id ?>" ></td>
                
                    </tr>
                    
                    <tr>
                
                        <td align="center"><font color="blue">Subir Portada:</font></td>
                        <td align="center"><input type="file" name="foto" value="<?php echo $fila['portada'?>"></td>
                
                    </tr>
                    
                    <tr>
                
                        <td align="center"><font color="blue">Nombre:</font></td>
                        <td align="center"><input type="text" name="nombre" value="<?php echo $fila['nombre_juego'?>"></td>
                
                    </tr>
                    <tr>
                
                        <td align="center"><font color="blue">Distribuidor:</font></td>
                        <td align="center"><input type="text" name="distribuidor" value="<?php echo $fila['distribuidor'?>"></td>
                
                    </tr>
                    <tr>
                
                        <td align="center"><font color="blue">Plataforma:</font></td>
                        <td align="center"><input type="text" name="plataforma" value="<?php echo $fila['plataforma'?>"></td>
                
                    </tr>
                    <tr>
                
                        <td align="center"><font color="blue">URL Youtube:</font></td>
                        <td align="center"><input type="text" name="youtube" value="<?php echo $fila['youtube'?>"></td>
                
                    </tr>
                    <tr>
                
                        <td align="center"><font color="blue">Precio:</font></td>
                        <td align="center"><input type="text" name="precio" value="<?php echo $fila['precio'?>"></td>
                
                    </tr>
                    
                    <tr>
                    
                        <td colspan="2" align="center"><input type="reset"><input type="submit"></td>                    
                    
                    </tr>

        
                </table>

            </fieldset>        
        
        </center>    
    
    </form>
    

    
    </body>
    
</html>
  #13 (permalink)  
Antiguo 18/06/2009, 07:23
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: Enviar valor de variable en un campo HIDE de formulario y recogerla tras e

Aqui esta tu problema

Código PHP:
 <?php 
    
include("bd.php"); 
    
$link=Conectarse(); 
    
$id=$_GET['nombre_juego']; 
    
$result=mysql_query("SELECT * FROM  games where plataforma='PS3'",$link); 
    
$fila mysql_fetch_array($result); 
    
mysql_close($link);         
    
?>
En la consulta no especificas el juego que estas seleccionando
Código:
 

$result=mysql_query("SELECT * FROM  games where plataforma='PS3' and Nombre_del_juego = $id",$link);
  #14 (permalink)  
Antiguo 18/06/2009, 07:31
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Enviar valor de variable en un campo HIDE de formulario y recogerla tras e

Cita:
Iniciado por gjx2 Ver Mensaje
Aqui esta tu problema

Código PHP:
 <?php 
    
include("bd.php"); 
    
$link=Conectarse(); 
    
$id=$_GET['nombre_juego']; 
    
$result=mysql_query("SELECT * FROM  games where plataforma='PS3'",$link); 
    
$fila mysql_fetch_array($result); 
    
mysql_close($link);         
    
?>
En la consulta no especificas el juego que estas seleccionando
Código:
 

$result=mysql_query("SELECT * FROM  games where plataforma='PS3' and Nombre_del_juego = $id",$link);


ME acabas de salvar la vida

Muchísimas gracias por todo



Gracias a tí creo que ya no tendré más problemas ^^
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:29.