Foros del Web » Programando para Internet » PHP »

Problema con una variable pasada por get

Estas en el tema de Problema con una variable pasada por get en el foro de PHP en Foros del Web. Muy buenas y gracias de antemano, los conocimientos que tengo de php y html no son muy amplios. Tengo el siguiente problema: A un formulario ...
  #1 (permalink)  
Antiguo 06/03/2016, 14:27
 
Fecha de Ingreso: marzo-2016
Mensajes: 2
Antigüedad: 8 años, 1 mes
Puntos: 0
Problema con una variable pasada por get

Muy buenas y gracias de antemano, los conocimientos que tengo de php y html no son muy amplios. Tengo el siguiente problema:
A un formulario le paso el valor de una variable por el metodo get , y le llega perfectamente, el formulario pide un valor (password) que es validado para asegurar que tiene un valor. Si al entrar en el fichero por primera vez se ponde un dato en este campo, se procesa el formulario y da los dos valores, el introducido y el enviado por el metodo GET, pero si el campo se deja en blanco, sale el mensaje de validacion diciendo que esta en blanco, y el meter un dato el formulario se procesa, pero el valor de lavariable pasada por GET se pierde, se que en blanco, no tiene ningun valor.
El codigo es el siguiente:
<?PHP
$clave = $_GET['idact'];
echo $clave;
?>
<HTML LANG="es">
<HEAD>
<TITLE>Cambio de password</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="estilo.css">
</HEAD>
<BODY>
<?PHP
// Obtener valores introducidos en el formulario
$insertar = $_REQUEST['insertar'];
$password = $_REQUEST['password'];
$variable_pasada = $_REQUEST['variable_pasada'];
$error = false;
if (isset($insertar))
{
// Comprobar errores
// Password
if (trim($password) == "")
{
$errores["password"] = "¡Se requiere una contraseña!";
$error = true;
}
else
$errores["password"] = "";
}
// Si los datos son correctos, procesar formulario
if (isset($insertar) && $error==false)
{
print ("<P>Estos son los datos introducidos:</P>\n");
print ("<UL>\n");
print (" <LI>Password : $password\n");
print (" <LI>Codigo activacion : $variable_pasada\n");
print ("</UL>\n");
}
else
{
?>
<H1>Cambio de password</H1>
<FORM CLASS="borde" ACTION="fichero.php" METHOD="POST" ENCTYPE="multipart/form-data">
<P><LABEL>Password:</LABEL>
<INPUT TYPE="PASSWORD" NAME="password"
<?PHP
if (isset($insertar))
print (" VALUE='$password'\n");
else
print (">\n");
if ($errores["password"] != "")
print ("<BR><SPAN CLASS='error'>" . $errores["password"] . "</SPAN>");
?>
</P>
<INPUT TYPE="hidden" NAME="variable_pasada" value="<?php echo $clave ?>">
<P><INPUT TYPE="submit" NAME="insertar" VALUE="Insertar usuario"></P>
</FORM>
<?PHP
}
?>
</BODY>
</HTML>

Gracias.
  #2 (permalink)  
Antiguo 06/03/2016, 14:34
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: Problema con una variable pasada por get

Usa el highlight por favor, no uses $_REQUEST y lamentablemente no pude entender la situación que se te presenta. Sólo decirte que lo que recibas por get lo podrás ver siempre desde la url
  #3 (permalink)  
Antiguo 06/03/2016, 14:47
 
Fecha de Ingreso: marzo-2016
Mensajes: 2
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Problema con una variable pasada por get

Muchas gracias rodocoyote15 por el interes tomado, pero no se muy bien lo que es el higlight y el problema que se me plantea es que tengo que enviar los datos de ese formulario a otro fichero php y si dejo el campo en blanco, salta la validacion, le pongo un valor, pero el valor de la variable pasada por get se queda sin valor, con lo cual solo envia un dato, pero necesito que envio los dos juntos. Es para un registro de usuarios, para la parte en que el usuario olvida la clave.


Gracias de todos modos.
  #4 (permalink)  
Antiguo 06/03/2016, 22:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con una variable pasada por get

Cita:
Iniciado por jmrmolina Ver Mensaje
[...] pero no se muy bien lo que es el higlight
A esto se refiere con highlight:


Es bastante útil que aprendas a usar el foro porque de otra forma es muy complicado para nosotros leer un código sin formato.

¿Ya se entiende mejor esa parte?

Cita:
Iniciado por jmrmolina Ver Mensaje
[...] pero el valor de la variable pasada por get se queda sin valor, con lo cual solo envia un dato, pero necesito que envio los dos juntos
Como ya te han dicho: las variables $_GET pasa únicamente por URL, y mientras tu formulario sea POST no podrás leer dichas variables al mismo tiempo: es absurdo.

Ahora, existe un técnica muy simple para usar ambos métodos al mismo tiempo aunque los valores de $_GET se quedarán fijos y no pueden cambiarse mediante un campo del formulario.

Ejemplo:
Código HTML:
Ver original
  1. <form action="script.php?foo=bar" method="post">
  2.   <input name="baz" value="buzz">
  3. </form>

De esa forma puedes leer tanto $_GET['foo'] como $_POST['baz'] y así.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: formulario, html, 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 14:15.