Foros del Web » Programando para Internet » PHP »

Formulario

Estas en el tema de Formulario en el foro de PHP en Foros del Web. Necesito que me ayuden con esto que hace horas que estoy probando y no logro que funcione. El usuario completa un formulario con muchos campos. ...
  #1 (permalink)  
Antiguo 02/11/2009, 14:24
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta Formulario

Necesito que me ayuden con esto que hace horas que estoy probando y no logro que funcione.
El usuario completa un formulario con muchos campos.
Si olvida completar alguno o lo hace con datos no validos retorno el foco al formulario para que vuelva a intentarlo de nuevo.
Obviamente necesito mandar los valores que ya ingresó bien para que solo modifique los datos que estan mal.
Para eso uso una variable que contiene el nombre dle formulario y los valores de todos campos ingresados por el usuario


$destino="ModifAviso.php?idAviso=$row[idAviso] && tpropiedad=$row[tpropiedad] && toperacion=$row[toperacion]
&& mtsterreno=$row[mtsterreno] && mtsconstr=$row[mtsconstr]&& dorm=$row[dormitorios]&&
banos=$row[banos]&& valorDol=$row[valor]&& fpago=$row[fpago]&& informacionAdic=$row[adicional]
&& telefono=$row[telefono]&& telefono2=$row[telefono2]&& estado=$row[estadoP] && barrio=$row[barrio]
&& cochera=$row[cochera] && estufa=$row[estufa]&& parrillero=$row[parrillero]&& jardin=$row[jardin]
&& fondo=$row[fondo]&& patio=$row[patio]&& galpon=$row[galpon]&& sotano=$row[sotano]
&& alarma=$row[alarma] && servicio=$row[servicio]" ;

header("location:$destino");
Si bien llega a mostrar el formulario correcto los valores de las variables llegan mal .
Aca pego como llegan los datos .
en lugar del valor llegan %20%20
Llega bien el nombre del campo pero no su valor .
Gracias por ayudarme

http://www.misitio.com/ModifAviso.ph...io=&&%20galpon
  #2 (permalink)  
Antiguo 02/11/2009, 14:28
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Formulario

la url se está codificando, eso me hace entender que estás pasando el form via get, si son muchos datos es recomendable pasarlos por post y te evitas ese problema, aunque raro, porque en $_GET deberían aparecerte los valores netos sin codificación de url ¿?¿?¿?
  #3 (permalink)  
Antiguo 02/11/2009, 14:34
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta Respuesta: Formulario

aca pego el formualrio que procesa los datos
?
session_start();
include 'db.php';
$idAviso= $_REQUEST[idAviso];
//print_r ($_POST)."<BR>";

//validando campos
$mensajeError="";
if(empty($_POST['parrillero'])or empty($_POST['jardin'])or empty($_POST['fondo']))
{ $error1="Todos los campos del formulario son obligatorios"; }

if(empty($_POST['patio'])or empty($_POST['cochera'])or empty($_POST['galpon']))
{ $error1="Todos los campos del formulario son obligatorios"; }

if(empty($_POST['alarma'])or empty($_POST['servicio'])or empty($_POST['estufa']))
{ $error1="Todos los campos del formulario son obligatorios";}

//Comprobamos que el valor de la propiedad sean números

if(!is_numeric($_POST['valorDol']))
{ $error2=" valor de la propiedad "; }

if(!is_numeric($_POST['mtsconstr']))
{ $error3=" mt2. construídos.";}

if(!is_numeric($_POST['mtsterreno']))
{ $error4=" mt2.del terreno. "; }

//validando campos de teléfonos
if(empty($_POST['telefono']) && empty($_POST['tefono2']))
{ $error5=" Ingresar por lo menos un télefono de contacto.";}
$texto=" Verificar : " ;

$mensajeError=$error1."<BR>"."<BR>".$texto."<BR>". $error2."<BR>".$error3."<BR>".$error4."<BR>".$erro r5."<BR>".$error7."<BR>".$error8."<BR>".$error9 ;
//echo $mensajeError;
$caracteres = strlen($mensajeError);

// echo $caracteres."<BR>";
if($caracteres <37 )
{

$consultaSQL="Update avisos SET mtsterreno='".$_REQUEST[mtsterreno]."',
mtsconstr='".$_REQUEST[mtsconstr]."',
dormitorios='".$_REQUEST[dorm]."',
banos='".$_REQUEST[banos]."',
estufa='".$_REQUEST[estufa]."',
parrillero='".$_REQUEST[parrillero]."',
jardin='".$_REQUEST[jardin]."',
fondo='".$_REQUEST[fondo]."',
patio='".$_REQUEST[patio]."',
cochera='".$_REQUEST[cochera]."',
galpon='".$_REQUEST[galpon]."',
sotano='".$_REQUEST[sotano]."',
alarma='".$_REQUEST[alarma]."',
servicio='".$_REQUEST[servicio]."',
valor='".$_REQUEST[valorDol]."',
fpago='".$_REQUEST[fpago]."',
barrio='".$_REQUEST[barrio]."',
estadoP='".$_REQUEST[estado]."',
adicional='".$_REQUEST[informacionAdic]."',
telefono='".$_REQUEST[telefono]."',
telefono2='".$_REQUEST[telefono2]."'
WHERE idAviso='".$_REQUEST[idAviso]."'";
//echo $consultaSQL;

mysql_db_query($database, $consultaSQL, $conexion)or die (mysql_error());

// $tpropiedad= $row[tpropiedad];
header("location:MostAviso.php?id=$idAviso");
exit();
}
//muestra los errores al completar el formulario

$destino="ModifAviso.php?idAviso=$row[idAviso] && tpropiedad=$row[tpropiedad] && toperacion=$row[toperacion]
&& mtsterreno=$row[mtsterreno] && mtsconstr=$row[mtsconstr]&& dorm=$row[dormitorios]&&
banos=$row[banos]&& valorDol=$row[valor]&& fpago=$row[fpago]&& informacionAdic=$row[adicional]
&& telefono=$row[telefono]&& telefono2=$row[telefono2]&& estado=$row[estadoP] && barrio=$row[barrio]
&& cochera=$row[cochera] && estufa=$row[estufa]&& parrillero=$row[parrillero]&& jardin=$row[jardin]
&& fondo=$row[fondo]&& patio=$row[patio]&& galpon=$row[galpon]&& sotano=$row[sotano]
&& alarma=$row[alarma] && servicio=$row[servicio]" ;

header("location:$destino");

exit();




?>
  #4 (permalink)  
Antiguo 02/11/2009, 15:04
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Formulario

estás usando $_REQUEST, deberías usar $_POST o $_GET, es mucho más seguro
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:59.