Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   defecto en el envio mediante POST???? (https://www.clubdelphi.com/foros/showthread.php?t=56590)

gabrielflowers 21-05-2008 16:21:16

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

gabrielflowers 21-05-2008 17:16:03

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???

roman 21-05-2008 17:26:03

Hola,

Este comportamiento se debe no al método POST en sí, sino a PHP. El problema es que cuando la directiva REGISTER_GLOBALS está activa, PHP crea una variable por cada campo del formulario. Así, si el formulario contiene un campo "cod", PHP creará una variable $cod, lista para ser usada en código. Pero si uno de los campos es "a.cod", la variable tendría que ser $a.cod lo cual no es válido para la sintaxis de PHP, y de ahí que tenga que hacer el reemplazo.

Esto está explicado en el manual.

// Saludos

gabrielflowers 21-05-2008 19:39:19

roman, 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

roman 21-05-2008 20:02:46

Cita:

Empezado por gabrielflowers (Mensaje 288381)
roman, me quieres decir que no se permiten "." como parte del nombre de las variables de envio(POST)?????

Sí se permiten. Donde no se permite es en PHP, un nombre de variable no puede contener puntos. Por eso, PHP tiene que cambiar todos los puntos que vienen del POST por _.

Hasta donde veo, no puede resolverse eso.

// Saludos

gabrielflowers 21-05-2008 20:03:54

gracias roman, es una respuesta sensata


La franja horaria es GMT +2. Ahora son las 19:27:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi