Unidad 11. Formularios y PHP (II)


11.3. PHP. Código de ejemplo

Una vez creado el formulario, necesitamos la página a la que se envían los datos, y que se encarga de recogerlos, comprobarlos y procesarlos. En nuestro caso, la hemos llamado enviar _mail.php, y su código es el siguiente:

<?php 
  //comenzamos recogiendo los datos
function recogeDato($campo){ 
     return isset($_REQUEST[$campo])?$_REQUEST[$campo]:'';
 } //la función recogeDatos comprueba si se ha recibido un dato y recoge su valor
  
 //si no se ha recibido, le asigna un valor vacío.
 $email1    = recogeDato('email1');
 $email2    = recogeDato('email2'); //asignamos cada valor a una variable
 $consulta  = recogeDato('consulta');
 $nombre    = recogeDato('nombre');
 $conocio   = recogeDato('conocio');
 $referente = recogeDato('referente');
 $algunerror = FALSE;
 
//una vez recogidos, los validamos (campos obligatorios, etc...)
if($email1==''){ //validamos los que el email no esté vacio
     $algunerror = TRUE; //si encontramos un error,mostramos un mensaje
     echo "<p class=\"erroneo\">No has introducido tu eMail</p>\n";
 } elseif($email1!=$email2){ //si tiene algo, que concida con la repetición
     $algunerror = TRUE;
     echo "<p class=\"erroneo\">Los eMails introducidos no coinciden.</p>\n";
 }
 if($nombre==''){ //comprobamos que el nombre no haya quedado vacío
     $algunerror = TRUE;
     echo "<p class=\"erroneo\">No has introducido tu nombre.</p>\n";
 }
 if($consulta==''){ //comprobamos que el contenido de la pregunta no esté vacío
     $algunerror = TRUE;
     echo "<p class=\"erroneo\">El área de la consulta no puede quedar en blanco.</p>\n";
  }
  if ($algunerror){ //comprobamos si ha habido algún error
     echo "<p>&nbsp;</p>\n"; //si los hay, se lo indicamos al usuario
     echo "<p>No se ha podido enviar el mensaje por los errores que se detallan arriba.</p>\n";
     echo "<p>Por favor, vuelve a rellenar el formulario.</p>\n";
     echo "<p class=\"centrado\"><a href=\"contacto.html\">Volver al formulario</a></p>\n";
  }else{
     $para="ejemplo.aulaclic@gmail.com"; //si todo es correcto, enviamos el correo
     $asunto="Contacto web Flores - consulta sobre ".$referente;
     $mensaje="Datos del formulario de contacto:\n". //creamos el mensaje con los datos
     "Nombre: ".$nombre." \n".
     "eMail:  ".$email1."\n".
     "Nos conocio por: ".$conocio." \n".
     "Pregunta: ".$consulta;
     mail($para, $asunto, $mensaje); //y lo enviamos
     echo "<p>Tu mensaje se ha enviado correctamente. Gracias por contactar con nosotros.</p>\n";
     echo "<p>Nos pondremos en contacto lo antes posible.</p>\n";
  }
?>

Al contrario de lo que ocurría con JavaScript, el navegador no puede interpretar el código PHP. Esto quiere decir que si abrimos una página PHP en nuestro equipo, no se ejecutará el código. El código PHP, debe de ser interpretado por un servidor, así que para poder verlo, tenemos que ver la página a través de un servidor.

Tenemos dos opciones, o convertir nuestro equipo en un servidor, instalando por ejemplo el paquete WAMP, como se explica el curso de Dreamweaver CS4, en www.aulaclic.es, o podemos subir la página a un servidor Web. Para ello, podemos emplear un servidor de pago o uno gratuito. Lo malo de los gratuitos, como veremos en el último tema, es que la mayoría no te deja enviar eMails. Y lógicamente, para probar este ejemplo, no compensa contratar uno de pago.

 

Seguramente, en el código que hemos mostrado, has reconocido algunas estructuras, como los if. La mayoría de estructuras de control de PHP (condiciones, bucles...) funcionan igual que en JavaScript. Incluso puedes ver que al principio hemos declarado una función tal y como lo hacíamos en JavaScript. Puedes comprobar las semejanzas con este avanzado sobre las variables en PHP Avanzado y éste sobre las estructuras de control en PHP Avanzado.

¿Qué es una página PHP? Realmente, una página PHP no es más que un archivo de texto con la extensión .php. En esa página, hay código PHP y HTML. De hecho, podemos cambiar la extensión de una página HTML a PHP y se vería igual. Lo que hace el código PHP es generar el código fuente de la página final. Por ejemplo, con una condición, decidimos si escribir un código u otro.

Para que el servidor interprete el código PHP, este debe de ir entre las marcas <?php y ?>

Por ejemplo, la estructura de una página PHP podría ser:

<html>
<head>
<title>Página PHP</title>
  ...Código HTML...
  <?php ...código PHP... ?>
</head>
<body>
  ...Código HTML ...
  <?php 
    ...código PHP... 
    ...código PHP...
    ...código PHP...
  ?> ...código HTML ... <?php 
   ...código PHP...

  ?>
   ...código HTML...
</body>
</html>

Aunque no tiene por qué tener HTML. Por ejemplo, podemos tener una página con todas las funciones que utiliza nuestro sitio. Para incluir una página dentro de otra, podemos empelar la instrucción include("pagina.php");.

Cuando consultemos la página PHP en el servidor, al navegador no le llega el código PHP, le llega sólo el HTML generado por el PHP.


Enero-2010
Pág. 11.2

Atrás  Inicio  Adelante




.