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 Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 03-11-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Como ya sabes no es posible llamar desde HTML a ninguna función PHP, puesto que el primero tiene su ámbito en el cliente (navegador, por ejemplo) y el segundo lo tiene en el Servidor. No es posible llamar a una función PHP desde HTML, ni tampoco es posible, desde PHP, llamar a ninguna función JavaScript, al menos no directamente, puesto que JavaScript reside también en el cliente, no en el Servidor, como lo hace PHP.

Ahora bien, estamos ante un formulario HTML, que es una de las formas "naturales" de comunicación del cliente con el servidor... y viceversa. El atributo "action" del formulario HTML se utiliza para indicar quién responderá del proceso del formulario, quién recibirá las variables y valores que el usuario puede introducir a través del formulario, y, por último, quién responderá al proceso de dicho formulario.

Es mucho más sencillo de lo que lo he puesto, me parece:

Código PHP:
<form method="post" action="scripts/login.php"
En el ejemplo anterior el Script (PHP en este caso) que recibirá las variables y valores vía HTTP POST (como indicamos en el "método" del formulario) será "scripts/login.php". Nada impide que un formulario tenga en su atributo "action" indicado el propio Script que se ha encargado de "escribir" el formulario, es decir, algo así es perfectamente válido, y vamos aproximándonos ya a lo que te interesa:


Código PHP:
<?php
// Script /scripts/login.php

function Login($nombre$contrasena)
{
   
// Instrucciones de la función Login
}

?>

 <form method="post" action="scripts/login.php">
 <input type="text" name="nombre-usuario" />
 <input type="password" name="contrasena-usuario" /> 
 <input type="submit" value="Enviar el formulario" />
</form>
Ahora bien, ¿cómo pueden ejecutarse las instrucciones que contenga la función "Login" que es lo que nos interesa? Pues, sencillamente, "sabiendo" nosotros que tiene que ser ejecutada... ¿y cómo sabemos que tiene que ser ejecutada? Pues, en este caso, sencillamente, averiguando si el Script es "llamado" por el formulario, en el proceso de este, cuando el usuario envía el formulario, o no, sino que es llamado por el usuario "desde el navegador", accediendo al Script como a cualquier página Web, desde la barra de navegación del navegador, por ejemplo.

Ahora vamos a añadir lo necesario siguiendo con el código de ejemplo anterior:

Código PHP:
<?php
// Script /scripts/login.php

function Login($nombre$contrasena)
{
   
// Instrucciones de la función Login
}

if(isset(
$_POST['nombre-usuario'])
 && isset(
$_POST['contrasena-usuario']))
{
  
// Las variables "nombre-usuario" y "contrasena-usuario" que
  // nos llegan a través del método HTTP POST que se encarga
  // de realizar el formulario HTML, es decir, en el transcurso de
  // su proceso, digo, dichas variables están establecidas, como
  // acabamos de comprobar la condición anterior.

  // Pues bien, esto quiere decir que el formulario ha sido enviado
  // (no nos abriremos a otras posibilidades, puesto que no nece-
  // sariamente ha sido "el formulario" quien ha realizado el HTTP
  // POST...) y así nosotros llamamos a la función "Login".

  // Podemos hacerlo, puesto que estamos "en PHP", en el Servidor,
  // en medio del proceso de este Script. No estaría demás añadir
  // que este puede ser un buen momento para realizar las valida-
  // ciones que se consideren oportunas a la entrada del usuario. 

  // Después ya podríamos llamar a la función "Login"
  
Login($_POST['nombre-usuario'], $_POST['contrasena-usuario']);
}

?>

 <form method="post" action="scripts/login.php">
 <input type="text" name="nombre-usuario" />
 <input type="password" name="contrasena-usuario" /> 
 <input type="submit" value="Enviar el formulario" />
</form>
Si te queda alguna duda o algo coméntala por aquí que alguien habrá encantado de poder echarte una mano.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
 



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
Invocar Store Procedure desde delphi JuanPa1 Oracle 10 29-11-2006 23:43:44
llamar funcion asp desde form Ricardo Alfredo HTML, Javascript y otros 4 11-10-2006 17:39:43
Invocar un DLL hecho en Delphi desde Oracle juancho_juancho Conexión con bases de datos 0 08-02-2006 02:47:07
Imposible hacer visible un form desde otro form SMTZ .NET 13 16-01-2006 21:41:08
Llamar una form desde otra form!!! niogon Varios 2 30-09-2004 16:09:17


La franja horaria es GMT +2. Ahora son las 18:19:24.


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