Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-10-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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:
extract($_POST);

// aquí ya pueden accederse a las variables 
Supongo que no es recomendable por la misma razón que no se recomeinda poner register_globals en ON, aunque la verdad no me queda claro el porqué. Quizá el compañero Kayetano nos pueda aclarar el punto.

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
Responder Con Cita
  #2  
Antiguo 28-10-2005
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 24
kayetano Va por buen camino
Hola

Pues nada rizaremos el rizo
Código PHP:
    if( !ini_get('register_globals') ) import_request_variables("PGC"); 
Si tenemos "register_globals" a off podemos crear variables a partir de los arrays $_POST, $_GET y/o $_COOKIE. Esta funcion nos permite además añadir un prefijo para evitar solapamientos de nombres.

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:
mipagina.php?usuario=...&clave=... 
Pero si trabajamos con los arrays que crea PHP para diferenciar la procedencia y ambito de las variables, en este caso con el array $_SESSION evitamos que alguien pueda modificar valores almacenados en estos arrays.
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.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #3  
Antiguo 28-10-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por kayetano
Pues nada rizaremos el rizo
Sigamos con el peinado

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
Responder Con Cita
  #4  
Antiguo 16-12-2005
ctronx ctronx is offline
Miembro
 
Registrado: jun 2004
Posts: 214
Poder: 23
ctronx Va por buen camino
Unhappy

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.
Responder Con Cita
  #5  
Antiguo 16-12-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,


Cita:
Empezado por ctronx
(...) si alguien me puede ayudar de antemano muchas gracias.
¿Lo siguiente te va bien?


Código PHP:
<html>
 <head>
  <title>
   ClubDelphi.com
  </title>
 </head>
 <body>
  <?php if(!isset($_POST['nombre_usuario'])) { ?>
   <form id="frmejemplo" action="ejemplo.php" method="post">
    <input type="text" name="nombre_usuario">
    <input type="submit" value="Enviar">
   </form>
   <?php } else { ?>
    <p>
     <!--
       La variable "nombre_usuario" está establecida:
       entendemos que ya se envió el formulario, pues.
     -->
     Dices que tu nombre es: <?php echo $_POST['nombre_usuario']; ?>
   </p>
  <?php ?>
 </body>
</html>
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 16-12-2005
ctronx ctronx is offline
Miembro
 
Registrado: jun 2004
Posts: 214
Poder: 23
ctronx Va por buen camino
Thumbs up

Gracias ya resolvi el problema, el tonto de mi tengia un error de sintaxis.
Responder Con Cita
  #7  
Antiguo 16-12-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por ctronx
tengia un error de sintaxis.
¿Y por qué te aparecía la página en blanco? Posiblemente tengas la directiva display_errors apagada. Eso está bien para la versión en producción, pero para desarrollo te evita horas de saber qué pasa.

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:22:32.


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