PHP - Recuperar el valores despues de enviar en el form

 
Vista:

Recuperar el valores despues de enviar en el form

Publicado por pep (1 intervención) el 31/07/2008 15:41:01
como recuperar el valor de un select sin duplicados y de un radio button de un grupo de opciones al enviar los datos de un formulario y luego cargar la misma pagina con el mismo formulario.
En el select se muestra el valor que se ha enviado pero
al desplegar la lista aparece varias veces el valor.
No puedo poner esto
<?php if(isset($_POST['GrupoOpciones1'])); echo $_POST['GrupoOpciones1']; ?>
en value de GrupoOpciones1 porque no me muestra nada, la opción no se queda señalada despues de enviar los datos y cargar la pagina del formulario.

Este el el codigo, gracias a quien me pueda ayudar.

Quiero recuperar los valores que se han mandado despues de enviar los datos de un formulario, de los dos select en el primero al enviar los valores se duplican al volver a seleccionar como se puede evitar y como se recupera el valor de un radio button de un grupo de opciones para que al enviar los datos podamos recuperar el valor y se muestre señalado en el formulario.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Selección de datos</title>
<script languaje="JavaScript">
<!--
provincias = new Array();
provincias[0] = new Array();
provincias[1] = new Array('Almería','Cádiz','Córdoba','Granada','Jaén' ,'Sevilla');
provincias[2] = new Array('Huesca','Teruel','Zaragoza');
provincias[3] = new Array('Oviedo','Gijón');
function cambiar(formulario){
var i = 0;
var select1 = formulario['D1'];
var select2 = formulario['D2'];
var vector = provincias[select1.selectedIndex];
if(vector.length)select2.length=vector.length;
while(vector[i]){
select2.options[i].value = vector[i];
select2.options[i].text = vector[i];
i++;
}
select2.options[0].selected = 1;
}
-->
</script>
<style type="text/css">
<!--
body {
background-color: #CCCCCC;
}
.Estilo1 {
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
color: #FFFFFF;
}
.Estilo2 {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
-->
</style></head>

<body>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<table width="235" border="0" align="center">
<tr>
<td width="222"><span class="Estilo1">Selecciona los datos: </span></td>
</tr>
</table>
<table width="232" height="163" style="border:solid 1px #FFFFFF"border="0" align="center" bgcolor="#CBC7FC">
<tr>
<td> </td>
<td width="86"> </td>
<td width="108"> </td>
</tr>
<tr>
<td> </td>
<td width="86"><div align="left" class="Estilo2">Provincia:</div></td>
<td width="108"><div align="left" class="Estilo2">Localidad:</div></td>
</tr>
<tr>
<td width="22"> </td>
<td colspan="2"><form name="form" method="post" action="lamismapagina.php">
<select name="D1" onchange="cambiar(this.form)">
<option selected="selected">
<?php if(isset($_POST['D1'])); echo $_POST['D1']; ?>
</option>
<option>Andalucía</option>
<option>Aragón</option>
<option>Asturias</option>
</select>
<select name="D2">
<option selected="selected">
<?php if(isset($_POST['D2'])); echo $_POST['D2']; ?>
</option>
</select>
<table width="200">
<tr>
<td><label> <span class="Estilo2"><br />
Carnet</span> de conducir: <br />
<input type="radio" name="GrupoOpciones1" value="si" />
<span class="Estilo2">si</span></label></td>
</tr>
<tr>
<td><label>
<input type="radio" name="GrupoOpciones1" value="no" />
<span class="Estilo2">no</span></label></td>
</tr>
</table>
<p></p>
<div align="center">
<input type="submit" name="Submit" value="Enviar" />
</div>
</form></td>
</tr>
</table>
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Recuperar el valores despues de enviar en el fo

Publicado por Pineapple (183 intervenciones) el 01/08/2008 20:45:21
Hola Pep,

Mira lo que estas haciendo es duplicar tu select y aparte no les estas dando valores, mira una forma mejor seria asi:

<select name="D1" onchange="cambiar(this.form)">
<option value="0" <?php if($_POST['D1'] == 1 || $_POST['D1']] == ""){echo"selected=selected";} ?>>Andalucía</option>
<option value="1" <?php if($_POST['D1'] == 2){echo"selected=selected";} ?>>Aragón</option>
<option value="2" <?php if($_POST['D1'] == 3){echo"selected=selected";} ?>>Asturias</option>
</select>

En donde le estas diciendo a cada elemento de tu select que si es igual a dicho elemento te imprima la etiqueta de que esta seleccionado, si te fijas el primero es mas largo porque es el default, y todos tienen valores, 1,2,3 le puedes dar el valor que tu quieres incluso el nombre, pero te recomiendo que sean numeros, y si son nombres no uses acentos porque tendras problemas oks?

En cuanto a lo de las opciones es exactamente lo mismo. oks?

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Recuperar el valores

Publicado por raúl gutierrez (1 intervención) el 30/08/2008 21:27:01
Hola

por favor pido ayuda, soy nuevo en esto

el problema es: estoy haiendo una página parahotelería, que tiene un grupo de opciones para seleccionar pieza, una parte de identificación del cliente, donde se introducen datos: tipo_doc, num_doc y residencia, éstos campos deben comprobarse en una BD y si ya están registrados, devolver los datos completos, caso contrario realizar un nuevo registro.

para escoger la pieza tengo una tabla con un link a otra página que me devuelve el número de pieza y su estado (libre / ocupado) y me deja en la pagina de registro, el problema es con los otros datos.

si alguien tiene una idea por favor una ayudadita

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar