Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-09-2012
juanpy juanpy is offline
Miembro
NULL
 
Registrado: feb 2012
Ubicación: Santiago de Chile
Posts: 64
Poder: 13
juanpy Va por buen camino
Question Creo que no me especifique lo suficiente.


Estimados,

Deacuerdo con todo, ustedes son los maestros y yo el aprendiz.

Delphi for PHP trabaja como tal, pero es 100% PHP.

Tengo una pagina llamada Login.php, en donde existen 2 text y 1 boton.

En los text ingreso el nombre de usuario y la contraseña respectivamente y con el boton valido lo ingresado:

Cita:
Usuario: [ PRUEBAS ]
Contraseña: [ ****** ]
<Aceptar>


Una vez validado el usuario, este accede inmediatamente al menu principal con todas sus opciones.

Ahora si el usuario pincha el boton < Ir a la pagina anterior > de su explorador, el asuario volvera a Login.php, en donde puede ver el text con el nombre del usuario escrito; [ PRUEBAS ] y la contraseña; [ ****** ].

Mis preguntas son:

- Como puedo hacer para que, si el usuario pincha el boton < Ir a la pagina anterior > de su explorador, en vez mostrar los text con datos ingresados, presente los text en blanco tal y como son cargados al momento de accesar a la pagina por primera vez ($this->Text1->Value="").

- Como puedo deshabilitar el boton < Ir a la pagina anterior > del explorador, de tal forma que sea imposible, al menos en su sesion, que el usuario vuelva a "relogearse".

Muchas gracias desde ya.

Última edición por juanpy fecha: 24-09-2012 a las 19:12:41. Razón: ortografia
Responder Con Cita
  #2  
Antiguo 24-09-2012
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
Intenta poniendo esto al principio del script de tu formulario:

Código PHP:
header("Cache-Control: no-store, no-cache, must-revalidate"); 
// Saludos
Responder Con Cita
  #3  
Antiguo 24-09-2012
juanpy juanpy is offline
Miembro
NULL
 
Registrado: feb 2012
Ubicación: Santiago de Chile
Posts: 64
Poder: 13
juanpy Va por buen camino
Muy bien, pero....

Estimado,

Los text de la pagina quedan limpios tal y como se cargan al momento de cargar por primera vez la pagina, pero lamentablemente esto borro los valores incluso las variables $_SESSION que son fundamentales al momento de definir los accesos del usuario.

Por eso le pregunto:

- ¿Como puedo lograr este mismo efecto pero sin borrar los valores de las varibles $_SESSION?
- ¿Como puedo hacer para que una vez "logueado" el usuario, se deshabilite el boton < Ir a la pagina anterior > del navegador?

Muchas gracias.
Responder Con Cita
  #4  
Antiguo 24-09-2012
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
Pues, como dice Ñuño, habría que ver cómo maneja Dephi for PHP las sesiones. Normalmente, cuando añades sesiones a tu sitio, PHP manda encabezados precisamente para no poner en caché los datos de los formularios.

Por otro lado, en un página de login, es decir en la página donde pones el formulario de inicio de sesión, normlmente no deberías tener ningún dato en $_SESSION así que no importaría lo que borres.

// Saludos
Responder Con Cita
  #5  
Antiguo 24-09-2012
juanpy juanpy is offline
Miembro
NULL
 
Registrado: feb 2012
Ubicación: Santiago de Chile
Posts: 64
Poder: 13
juanpy Va por buen camino
Mi login...

Estimado,

Esta es la forma como valido el usuario / contraseña en mi pagina Login.php en Delphi4PHP:

Código PHP:
    function Button1Click($sender, $params)
    {
     //datos para establecer la conexion con la base de mysql.
     $_SESSION['servidor'] = "servertest";
     $_SESSION['user'] = "Prueba";
     $_SESSION['password'] = "prueba";
     $_SESSION['sdb'] = "dbmaster";
     //*******************************************************
     $conexion = mysql_connect($_SESSION['servidor'],$_SESSION['user'],$_SESSION['password']) or die ('Ha fallado la conexión: '.mysql_error());
      mysql_select_db($_SESSION['sdb'],$conexion) or die ('Error al seleccionar la Base de Datos: '.mysql_error());
      $query = "SELECT * FROM usuarios WHERE nombre = '$usuario' AND pas = '$password'";
 
      // $usuario =  $this->usuario->text="";
      // $password = $this->pass->text="";
 
      $result = mysql_query($query);
     if (!$result)
     {
         echo 'Error al ejecutar la consulta';
     }
     else {
         if ( mysql_num_rows($result) > 0 and $usuario <> "" and $password<>"" ) {
             $lin_usuario = mysql_fetch_row($result);
             $_SESSION['login']=$lin_usuario[1];
             $_SESSION['pass']=$lin_usuario[3];
             $_SESSION['nivel']=$lin_usuario[4];
             header('Location: principal.php');
         }
         else {
               /*?>
                <script>
                //begin js
                window.alert ("Usuario / Contraseña; No es válida, intente nuevamente. ");
                //return(false);
                //end
                </script>
               <?php*/
              
$this->Label4->Visible=true;
              
$this->usuario->text="";
              
$this->pass->text="";
         }
     }
     
mysql_free_result($result);
     
mysql_close($conexion);
    }
Es codigo PHP en el evento onclick del button1 en la pagina login.php. Dejo los datos del usuario y conexion en variables SESSION pues necesito ocuparlas en otras paginas y es la unica forma que tengo para pasarlas de una pagina a otras sin perder el valor.

- ¿Podrias optimizar y/o normar mi codigo?

He visto START_SESSION() pero la verdad esto funciona y no ocupa mucho recurso.

Graccias por todo.
Responder Con Cita
  #6  
Antiguo 24-09-2012
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
session_start no es opcional. Si no la usas no hay sesión.

// Saludos
Responder Con Cita
  #7  
Antiguo 24-09-2012
juanpy juanpy is offline
Miembro
NULL
 
Registrado: feb 2012
Ubicación: Santiago de Chile
Posts: 64
Poder: 13
juanpy Va por buen camino
¿Me podrias orientar?

Estimado,

Usted es el maestro y la verdad yo aprendo cada dia un poco mas.

- ¿Me podria orientar con el inicio de la sesion: session_start ?
- ¿Usted tiene un ejemplo de como debe realizar una session limpia y normada PHP?

Muchas gracias.
Responder Con Cita
  #8  
Antiguo 25-09-2012
ElMug ElMug is offline
Miembro
NULL
 
Registrado: jul 2012
Posts: 163
Poder: 12
ElMug Va por buen camino
Cita:
Empezado por juanpy Ver Mensaje
Estimado,

Los text de la pagina quedan limpios tal y como se cargan al momento de cargar por primera vez la pagina, pero lamentablemente esto borro los valores incluso las variables $_SESSION que son fundamentales al momento de definir los accesos del usuario.

Por eso le pregunto:

- ¿Como puedo lograr este mismo efecto pero sin borrar los valores de las varibles $_SESSION?
- ¿Como puedo hacer para que una vez "logueado" el usuario, se deshabilite el boton < Ir a la pagina anterior > del navegador?

Muchas gracias.
Para inhabilitar un boton: Boton1.Active := False; //deja de trabajar.

Esa linea iria en el codigo en el momento en que quieras que ya no se use.

Tambien lo puedes hacer que desaparezca con: Boton1.Visible := False; //y ya no se puede pinchar.
Responder Con Cita
  #9  
Antiguo 25-09-2012
juanpy juanpy is offline
Miembro
NULL
 
Registrado: feb 2012
Ubicación: Santiago de Chile
Posts: 64
Poder: 13
juanpy Va por buen camino
Y por eso les consulto a ustedes...

Estimado,

Creo que mandar a alguien a leer y leer, no es la "mejor respuesta" (es la mas facil por lo visto para usted).

Yo necesito ejemplos practicos y probados, como dijo el sabio en este foro, "no quiero reinventar la rueda" sino resolver el problema.

No pido que me expliquen con manzanitas, sino que me den ejemplos puntuales.

RADPHP, Delphi for PHP y Delphi4Php son 100% PHP, la diferencia es que simplifica el diseño de la pagina y ademas tiene un ide que compila PHP.

Por eso si usted me quiere ayudar, hagalo y no me cuestione, yo sabre como adaptarlo en RADPHP XE2.

Yo he encontrado gente muy generosa en este foro y yo trato de retribuir dentro de lo que puedo, esa es la idea, ¿verdad?, ahora si yo estoy equivocado, disculpe y no lo molesto mas.

Gracias.
Responder Con Cita
  #10  
Antiguo 26-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Lo que preguntas es muy amplio, y tiene muchas particularidades, ese es el motivo por el que Ñuño Martínez, moderador, con varios miles de mensajes de ayuda a otras tantas personas que preguntan, al igual que tú, ha pensado que lo mejor es que le eches un vistazo a la documentación, y así puedas discernir entre lo que más te conviene para lo que quieres hacer.
Y por supuesto que la mejor respuesta que se le puede dar a casi todos los que preguntan es esa: leer, leer para aprender.
Saludos.
Responder Con Cita
  #11  
Antiguo 26-09-2012
juanpy juanpy is offline
Miembro
NULL
 
Registrado: feb 2012
Ubicación: Santiago de Chile
Posts: 64
Poder: 13
juanpy Va por buen camino
Thumbs up Con un poquito de pasciencia...

Estimado,

http://www.ajpdsoft.com/modules.php?...6#.UGMLiK4_coM

Esta si es la "mejor respuesta", para que le sirva a los que pregunten lo mismo.

Gracias por todo.
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Limpiar ClientDataSet para insertar nuevos datos ingabraham Varios 5 01-04-2011 21:51:52
Limpiar una base de datos ingabraham Varios 8 21-01-2011 18:59:33
limpiar formulario al regresar a la pagina jomanmoz HTML, Javascript y otros 1 17-02-2008 22:43:40
Liberar una Fila luego de ingresarle datos en un DBGrid bellota Varios 4 20-06-2006 17:41:33
Delpi 7 personal Andree Varios 2 17-07-2004 19:52:38


La franja horaria es GMT +2. Ahora son las 18:10:13.


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
Copyright 1996-2007 Club Delphi