![]() |
Activar register_globals para formularios POST
Estoy practicando con el tema de pasar variables de un formulario a otro, cuando me doy de morros con que, despues de tropotocientos intentos, creyendo que era problema de sintaxis
Código:
<HTML> El formulario receptor es el siguiente Código PHP:
Variable $nombre: Variable $apellidos: He trasteado en c:\windows\php.ini He activado la opcion de register_globals=on Aun asi sigo con el mismo resultado. ¿Alguna idea de que es lo que me falla o falta? ¿Como tengo que activar exactamente eso? Yo, mientras espero alguna respuesta, seguire indagando, que no me quedo quieto. Gracias a los que lo leais Un abrazo desde morpheo. Papulo. |
Te falta poner:
Código PHP:
Del manual de PHP: Cita:
Saludos... |
Hola,
Cita:
|
Pues no se como le hayas hecho... :P
La verdad en PHP no soy gurú ni mucho menos, lo que si es que cada vez que uso formularios, en el script receptor siempre uso el arreglo $_POST para recibir los valores enviados mediante el método POST. Puede ser, y esto basándome en el resultado de tus pruebas, que también en la forma que indicas y que trató de usar papulo orginalmente, se pueda lograr, pero no se si sea la correcta y la más segura. ;) Saludos... |
Hola,
Cita:
Cita:
Cita:
|
Uiiisss!!!!
Con la "correccion" me ha salido esto: Código:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, Apelo a la experiencia de la gente para que me ayude a resolverlo mientras yo trasteo el php.ini y lo que haga falta. PD: gracias por responder tan rapido. Un abrazo de formulario a formulario. Papulo. |
El error que te sale con la corrección que te puse es por la forma en que se referencia al arreglo $_POST, la forma correcta sería:
Código PHP:
Saludos... |
register_globals=on hace que puedas acceder a los elementos de arreglos como $_POST como si fueran variables, es decir, puedes usar $nombre, en lugar de $_POST['nombre']. Si aun poniendo esa opción no te funcionó entonces te preguntaría: ¿reiniciaste el servidor después del cambio?
De cualquier forma, el uso de register_globals = on no se recomiendo así que mejor trabaja directamente con $_POST. // Saludos |
Va de fabula con la opcion corregida de maeyanes, asi que gracias a todos.
PD: Con malicia... Cita:
Jejeje. Un {$_POST['Abrazo']} |
Hola
Voy a realizar un pequeño resumen de como tratar las variables que se pasan por el metodo POST. Basicamente existen dos formas de pasar estas variables que dependen del estado de "register_globals" dentro de PHP.INI: - Si esta en "on" puedes acceder a las variables directamente por su nombre. Si no me equivoco hay que reiniciar el servidor una vez se a cambiado este valor. - Si esta en "off" solo puedes acceder a traves de array $_POST o $HTTP_POST_VARS (depende de la version de PHP que uses). Estos arrays tambien se pueden usar si "register_globals" esta en "on". Ahora pasamos a como mostrar esta información dentro de una cadena de texto, que como siempre depende de la versión de PHP que uses: - Si trabajas directament con el nombre de la variable no hay ningun problema. Código PHP:
Código PHP:
|
De las 3 formas que muestras, ¿cual es la que recomiendas tu?.
PD: Asias por la info :eek: Un abrazo cansadito. Papulo. |
Hola
Por claridad te aconsejo que trabajes con el array $_POST, y que a la hora de mostrar el contenido de una valor lo hagas asin: Código PHP:
|
Eso me pensaba, es el unico que resalta claramente que trabajo con $_POST y la variable a la que pertenece.
Un abrazo de despues de la siesta. Papulo. |
Excelente resumen de Kayetano.
Hay otra forma- sucia podría decirse - de acceder a las variables del post directamente aún teniendo register_globals en OFF: Código PHP:
Lo que sí, es que en ocasiones, cuando se debe trabajar con un código que se escribió sin hacer uso de $_POST y no tenemos tiempo de cambiar todas las referencias, extract nos puede ayudar temporalmente mientras corregimos el resto. // Saludos |
Hola
Pues nada rizaremos el rizo :) Código PHP:
El porque de utilizar los arrays y no las variables son temas de seguridad, por poner un ejemplo: Supongamos que alguien quiere trastear nuestra página modificando alguna variable de sesion, lo mas facil es que intente meter o modificar variables por metodo GET (o POST): Código PHP:
Hay que tener en cuenta que si tenemos "register_globals" a ON todas las variables se hacen globales con el problema que exite de que se machaquen unas a otras, con lo que un usuario podría manipular facilmente nuestra web. |
Cita:
Hasta donde yo recuerdo (en cuanto pueda hará la prueba), en el modo antiguo, cuando no se usaba register_globals = OFF, una vez que registrabas una variable de sesión, ésta no podía modificarse con valores provenientes del GET o POST. // Saludos |
en lugar de hacer un nuevo hilo creo que lo correcto es seguir con este ya que tengo en mismo problema he seguido todo lo explicado en este hilo con el ejemplo sencillo planteado desde el inicio y No me funciona Ni me manda ningun error, simplemente al presionar el boton y al esperar ver el contenido de las variables solo me aparace una pagina en blanco y No me muestra el valor de las variables.
Ya verifique y copie directamente el codigo de este ejemplo para no tener errores de sintaxis, si alguien me puede ayudar de antemano muchas gracias. |
Hola,
Cita:
Código PHP:
|
Gracias ya resolvi el problema, el tonto de mi tengia un error de sintaxis.
|
Cita:
// Saludos |
La franja horaria es GMT +2. Ahora son las 01:37:36. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi