Principal
 Nuevos Miembros

 E-mail
 FTP
 SSH
 SSL
 Herr. de Diseño

 Solicitar ayuda

 

Procesando una forma con PHP.
Parte 3: Los últimos detalles.
Por: Falcón

Les voy a soltar un pequeño segmento de código.. no se asusten!

if($elnombre == "" || $elemail == "" || $elmensaje == ""){
print "Hay que llenar todos los campos!";
} else {
print "Muchas gracias por contactarnos!";
}

Que hace lo anterior? Basicamente verifica que todos los campos en la forma hayan sido llenados. Si no es asi muestra el mensaje: "Hay que llenar todos los campos!" y si todo estuvo bien muestra el mensaje: "Muchas gracias por contactarnos".

Pero vamos a desglosarlo.

if/else

if y else (si/de otra manera) son dos de las herramientas de construcción de código mas útiles en cualquier lenguaje de programación. Basicamente es un juego que condiciona una acción a otra elaborada previamente. No nos perdamos en la semantica y vamos a los ejemplos:

La mama mandó a pepito al mercado y le dijo: -Si hay huevos blancos me traes una docena si no me traes media docena de huevos rojos-

En la frase anterior vemos una condicionante: "Si hay huevos blancos" seguida de una orden en caso de que la condicionante sea exitosa: "me traes una docena" luego se define que hay una alternativa en caso de que la condicionante no resulte exitosa: "si no" luego la orden en este caso: "me traes media docena de huevos rojos"

if($elnombre == "" || $elemail == "" || $elmensaje =="")
Esta es la condicionate. En lenguaje coloquial esto se leeria asi:
Si la variable $elnombre esta vacia o si la varible $elemail esta vacia o si la variable $elmensaje esta vacia.

En PHP los simbolos || quieren decir: or o en español: o
Habrá quien ya notó que después de cada variable hay dos signos de igual (=) en lugar de uno. Esto es muy importante ya que no estamos asignandole valores a las variables, sino que estamos comparando el valor de la variable a otro valor que en este caso es vacio y que se define con dos comillas seguidas "". Si dejamos solo un signo de igual (=) PHP le asignaria el valor "" a la variable, es decir, la dejaria vacia. Por ejemplo:

$elnombre = "";

Avanzando en el segmento de código vemos un simbolo "{" Este simbolo significa que empieza la orden a ejecutar en caso de que la condicionante haya sido exitosa, otro simbolo igual solo que inverso "}" indica a PHP que esta orden ha terminado.

Entre estos dos simbolos vemos la acción:

print "Hay que llenar todos los campos!";

Esto le dice a PHP que hay que mostrar un mensaje que diga: Hay que llenar todos los campos! La funcion print hace precisamente eso, escribe en el documento HTML que se le envia al visitante lo que se indique entre las comillas.

Luego se indica que hay una alternativa: else
Si se llegó hasta aqui es que la condicionante no resulto exitosa, es decir, el visitante si lleno todos los campos, entonces definimos como acción:

print "Muchas gracias por contactarnos!";

Vamos a ver como se ve todo el script completo:

<?php
$elnombre = $_POST['nombre'];
$elemail = $_POST['email'];
$elmensaje = $_POST['mensaje'];

$elasunto = "Me acaban de contactar en mi sitio web!!";

$adondeva = "falcon@urbeinternet.com";

$encabezados .= "From: $elemail<$elemail>\n";
$encabezados .= "X-Sender: <$elemail>\n";
$encabezados .= "X-Mailer: PHP\n";
$encabezados .= "Return-Path: <$elemail>\n";

$mensaje .= "Aqui esta lo que llegó:\n\n";
$mensaje .= "$elnombre con la dirección: $elemail\n";
$mensaje .= "Escribió:\n$elmensaje\n";

if($elnombre == "" || $elemail == "" || $elmensaje ==""){
print "Hay que llenar todos los campos!";
} else {
print "Muchas gracias por contactarnos!";
mail($adondeva, $elasunto, $mensaje, $encabezados);
}

?>

Aquellos que estan atentos se habrán fijado que colocamos la función mail() dentro de las acciones en caso de que la condicionante no haya resultado exitosa. Esto es porque queremos recibir el mail solo cuando el visitante haya llenado todos los campos, o no?

Hay muchas cosas que se pueden hacer!, por ejemplo, si se quiere enviar el mensaje a dos direcciones de correo diferentes:

Definimos otro correo a donde enviar el mail:

$otrocorreo = "luis@urbeinternet.com";

Y luego solo mencionamos otra funcion de mail:

mail($otrocorreo, $elasunto, $mensaje, $encabezados);

Y el script quedaria asi:

<?php
$elnombre = $_POST['nombre'];
$elemail = $_POST['email'];
$elmensaje = $_POST['mensaje'];

$elasunto = "Me acaban de contactar en mi sitio web!!";

$adondeva = "falcon@urbeinternet.com";
$otrocorreo = "luis@urbeinternet.com";

$encabezados .= "From: $elemail<$elemail>\n";
$encabezados .= "X-Sender: <$elemail>\n";
$encabezados .= "X-Mailer: PHP\n";
$encabezados .= "Return-Path: <$elemail>\n";

$mensaje .= "Aqui esta lo que llegó:\n\n";
$mensaje .= "$elnombre con la dirección: $elemail\n";
$mensaje .= "Escribió:\n$elmensaje\n";

if($elnombre == "" || $elemail == "" || $elmensaje ==""){
print "Hay que llenar todos los campos!";
} else {
print "Muchas gracias por contactarnos!";
mail($adondeva, $elasunto, $mensaje, $encabezados);
mail($otrocorreo, $elasunto, $mensaje, $encabezados);
}

?>

Es tooodo amigos!

<-- Parte 2: Empecemos a programar!
<-- Parte 1

   

Web Hosting | Paquetes | Preguntas Frecuentes | Contáctenos | Términos y Condiciones | Ordene Ahora
© Copyright Rojo, Verde y Azul S.A. de C.V. 2001