Foros del Web » Programando para Internet » PHP »

defecto en el envio mediante POST????

Estas en el tema de defecto en el envio mediante POST???? en el foro de PHP en Foros del Web. hola, miren me encuentro ante una situacion incomoda, acabo de descubrir que al enviar una variable mediante POST, si esta variable tiene como nombre por ...
  #1 (permalink)  
Antiguo 21/05/2008, 09:23
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 8 meses
Puntos: 3
defecto en el envio mediante POST????

hola, miren me encuentro ante una situacion incomoda, acabo de descubrir que al enviar una variable mediante POST, si esta variable tiene como nombre por ejm: "a.cod", al llegar a destino el navegador(supongo) cambia dicho nombre, reemplazando los "." por "_", es decir mi variable por ejm llegaria asi: "a_cod" en destino, la verdad este defecto que acabo de descubrir del metodo de envio POST resulta perjudicial en muchos casos, quisiera saber si alguien sabe como solucionar dicho problema, si conocen alguna forma de evitar que el metodo de envio POST me cambie el nombre de las variables de envio, espero haber sido claro, estare pendiente de sus sugerencia u opiniones, gracias
  #2 (permalink)  
Antiguo 21/05/2008, 10:18
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 8 meses
Puntos: 3
Respuesta: defecto en el envio mediante POST????

miren este ejemplo que hice para comprobar lo que digo:

Código PHP:

<?php

echo '<form method="post" action="reporte.php"><input type="text" name="a.cod"><input type="submit" value="enviar">';
 
 echo 
'<br><pre>';
 
print_r($_POST);
 echo 
'</pre>';
?>
aca uso una variable (un input de tipo text) llamada "a.cod", que al llegar a destino (en este caso la misma pagina) se cambia el nombre del input a "a_cod", opiniones???? sugerencias???
  #3 (permalink)  
Antiguo 21/05/2008, 10:41
 
Fecha de Ingreso: diciembre-2007
Ubicación: C:\Escritorio\Frente al Pc
Mensajes: 47
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: defecto en el envio mediante POST????

para empezar la variable llega y se imprime, y en segundo lugar

podrias dejar tu codigo asi :D

[code]
<?php

echo '<form method="post" action="reporte.php"><input type="text" name="var"><input type="submit" value="enviar">';


echo "<br><b>" . $_POST['var'] . "</b>";

?>

[code]
  #4 (permalink)  
Antiguo 21/05/2008, 10:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: defecto en el envio mediante POST????

lo que pasa es que NO es un problema... es un error que tu debes corregir....

PHP no permite el uso de puntos como nombre de variable... ya que su uso es concatenar strings... vale???

sino, leete el manual... en la parte de Variables (nomenclatura)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 21/05/2008, 12:38
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 8 meses
Puntos: 3
lathix tu observacion es equivoca, el asunto de este tema no es que no me lleguen las variables POST donde el nombre de dicha variable lleve "." ejm: "a.cod", lee de nuevo sino mi planteamiento y ejecuta el script que puse de prueba, y luego recien te daras cuenta de tu equivocacion....

ahora bien el asunto de este tema era que al enviar una variable, que contenga "." como parte del nombre de la variable como por ejm: "a.cod" mediante el metodo POST, al llegar a destino dicho nombre era cambiado a "a_cod" por ejemplo, es decir se reemplazan los puntos por "_", lo cual es una alteracion a los nombres originales de las variables enviadas.

alguna otra opinion o sugerencia???

pdta: perdon si repito mucho algunas frases, pero hay gente de dificil entender, a las que hay que ponerle el escenario bien claro, para que entiendan claro

pateketrueke, me quieres decir que no se permiten "." como parte del nombre de las variables de envio(POST)?????, pues bien eso supuse al principio, para mi la verdad es casi imprescinble usar "." como parte del nombre de variables(en algunos casos) y por eso pedi ayuda para ver si se podia hacer algo para que el metodo de envio o PHP no me cambien el nombre de variables de envio que lleven "." como parte de su nombre, ahora bien no es posible esto que queria???? esa es la pregunta ahora

Última edición por GatorV; 21/05/2008 a las 15:35
  #6 (permalink)  
Antiguo 21/05/2008, 13:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: defecto en el envio mediante POST????

No, no es posible... lo siento!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 21/05/2008, 13:39
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 8 meses
Puntos: 3
Respuesta: defecto en el envio mediante POST????

bueno gracias, vere otra forma de solucionar mi problema entonces
  #8 (permalink)  
Antiguo 21/05/2008, 14:12
 
Fecha de Ingreso: abril-2008
Ubicación: Querétaro, Mexico
Mensajes: 44
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: defecto en el envio mediante POST????

hola que tal,

sobre el problema que tienes, siento que incluso tendrias problemas para usar un nombre como:

<input type="text" name="a.cod">

en javascript, porque como lo vas a llamar?

document.tuformulario.a.cod.value?

eso te va a devolver error, porque buscaria la propiedad "cod", en el objeto "a",

por esa razon es que se necesita usar o un "_" o simplemente lo juntas acod.

espero eso resuelva tu duda, y efectivamente, php convierte los nombres que incluyan un . a _ para facilidad de manejo dentro de tu script de php


saludos,
Carlos Alejandro
  #9 (permalink)  
Antiguo 21/05/2008, 15:35
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 8 meses
Puntos: 3
Respuesta: defecto en el envio mediante POST????

claro, pero no pensaba usar javascript con esos input en particular, pero es valida la observacion
  #10 (permalink)  
Antiguo 21/05/2008, 15:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: defecto en el envio mediante POST????

Hola gabrielflowers,

El problema viene desde hace mucho, probablemente para PHP6 admitan ese tipo de variables, pero la razón viene a raíz del uso de register_globals, al tu usar una variable tipo a.cod, si tenias register_globals activado te crearía una variable $a.cod, pero como el punto esta reservado para concatenar archivos, entonces te mostraría un error en pantalla.

Adicionalmente funciones como extract, que exportan variables al código tendrían el mismo problema, es por eso que PHP transforma todas las variables que vengan con . a _.

Saludos.
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 01:34.