Si... es verdad jam1138, lo quice explicar tan detallado que lo complique!!!!
El código lo mostre en partes separada, por no me permitía el foro tantas lineas en el post.
Ya probé con require y sigue dando lo mismo. Aquí pongo todo el código del
procesa.php.
Código PHP:
<?
/* Este código detecta el idioma por defecto del visitante.
Sin embargo, si el visitante indica un idioma mediante la URL (siguiendo un enlace) toma preferencia */
// Miramos si el usuario ha definido un idioma por defecto en su navegador
if ($HTTP_ACCEPT_LANGUAGE != ''){
// Si es así, miramos que idiomas ha definido:
$idiomas = explode(",", $HTTP_ACCEPT_LANGUAGE); # Convertimos HTTP_ACCEPT_LANGUAGE en array
/* Recorremos el array hasta que encontramos un idioma del visitante que coincida con los idiomas en que está disponible nuestra web */
for ($i=0; $i<count($idiomas); $i++){
// Si aún no hemos definido la variable $idioma...
if (!isset($idioma)){
/* Miramos si tiene algún idioma de los disponibles entre sus favoritos.
Empezando por su primer favorito y acabando por su último favorito */
if (substr($idiomas[$i], 0, 2) == "es"){$idioma = "es";}
if (substr($idiomas[$i], 0, 2) == "de"){$idioma = "de";}
if (substr($idiomas[$i], 0, 2) == "en"){$idioma = "en";}
}
}
}
// Si aún no hemos encontrado ningún idioma que nos convenga, mostramos la web en el idioma por defecto
if (!isset($idioma)){$idioma = "es";}
// Ahora incluimos la plantilla de idioma correspondiente al idioma que pertoque:
include("lang/$idioma.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" >
<head>
</head>
<body>
<?php
session_start();
//datos para establecer la conexion con la base de mysql.
$conexion=mysql_connect('localhost','Usuario','contraseña')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('BD')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
//añadimos la funcion que se encargara de generar un numero aleatorio
function genera_random($longitud){
$exp_reg="[^A-Z0-9]";
return substr(eregi_replace($exp_reg, "", md5(rand())) .
eregi_replace($exp_reg, "", md5(rand())) .
eregi_replace($exp_reg, "", md5(rand())),
0, $longitud);
}
function formRegistro(){
?>
<?php
}
// verificamos si se han enviado ya las variables necesarias, las que tenemos en nuestro form cambialo, como sea el tuyo.
if (isset($_POST["apellido"])) {
$apellido = $_POST["apellido"];
$nombre = $_POST["nombre"];
$email = $_POST["email"];
echo "<div style='text-align:center;font-weight:bold;font-size:250%;color:#005784;margin-top:200px;'>";
echo "<span>$apellido </span>";
echo $nombre;
echo "</div>";
// Hay campos en blanco
if($apellido==NULL|$nombre==NULL|$nacimiento==NULL|$sexo==NULL|$pais==NULL|$residencia==NULL|$provincia==NULL|$email==NULL|$idioma==NULL|$investiga==NULL) {
echo "<div style='font-size:250%;text-align:center;font-weight:bold;color:#B40404;'>$VARIABLE</div>";
formRegistro();
}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
$checkemail = mysql_query("SELECT email FROM interinfogen WHERE email='$email'");
$email_exist = mysql_num_rows($checkemail);
if ($email_exist>0) {
echo "<div style='font-size:130%;text-align:center;font-weight:bold;color:#B40404;'>La cuenta de correo <span style='color:blue;'>$email</span> ya está en uso.</div>";
formRegistro();
}else{
//agregamos la variable $activate que es un numero aleatorio de
//20 digitos crado con la funcion genera_random de mas arriba
$activate = genera_random(20);
//aqui es donde insertamos los nuevos valosres en la BD activate y el valor 1 que es desactivado
$query = 'INSERT INTO interinfogen (apellido, nombre, nacimiento, sexo, pais, residencia, provincia, email, idioma, web, investiga, argentina, rusia, activate, estado)
VALUES (\''.$apellido.'\',\''.$nombre.'\',\''.$nacimiento.'\',\''.$sexo.'\',\''.$pais.'\',\''.$residencia.'\',\''.$provincia.'\',\''.$email.'\',\''.$idioma.'\',\''.$web.'\',\''.$investiga.'\',\''.$argentina.'\',\''.$rusia.'\',\''.$activate.'\', 1)';
mysql_query($query) or die(mysql_error());
echo "<div style=text-align:center;font-size:130%;>";
echo "<span style='font-weight:bold;font-style:italic;color:#B40404;'>Parece que todo ha ido bien!!!</span><br />";
echo "Ha sido registrado con la cuenta de correo: <span style='font-weight:bold;color:blue;'>$email</span> de manera satisfactoria.<br />";
echo "Le enviaremos ahora un email para activar su cuenta al correo que nos facilito.<br />";
echo "Luego de esa activación, integrará la lista INTER-INFO-GEN con los datos aportados.<br />";
echo "<span style='font-weight:bold;font-style:italic;color:#B40404;'>Muchas gracias por participar!!!</span>";
echo "</div>";
$query = "SELECT * FROM interinfogen WHERE apellido='$apellido'";
$result = mysql_query($query , $conexion) or die ( mysql_error() );
$row = mysql_fetch_array($result);
$path="http://miweb/pagina/formulario//"; //creamos nuestra direccion, con las carpetas que sean si hay
//armamos nuestro link para enviar por mail en la variable $activateLink
$activateLink=$path."activar_cuenta.php?id=".$row['id']."&activateKey=".$activate."";
// Datos del email
$nombre_origen = "miweb";
$email_origen = "miemail";
$email_copia = "miemail";
$email_ocultos = "miemail";
$email_destino = "".$row['email']."";
$asunto = "".$row['apellido'].", por favor active su cuenta";
$mensaje = '<table width="629" border="0" cellspacing="1" cellpadding="2">
<tr>
<td style="font-size:22px;font-style:italic;font-weight:bold;color:#999999;text-align:center;padding:0 0 5px 0">
Alemanes del Volga en Argentina
</td>
</tr>
<tr>
<td style="background:#A0E0E0;padding:3px 0 3px 2px;">
<div style="color:#000099;font-size:16px;font-family: Arial, Helvetica, sans-serif;font-weight: bold;padding-left:5px;">
'.$row['apellido'].'... estos son los datos aportados por Ud.:
</div>
</td>
</tr>
<tr>
<td style="text-align:left;">
<div style=" color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:14px;padding-left:5px;margin:7px 0 0 0;">
<strong>Apellido: </strong>'.$row['apellido'].'<br />
<strong>Nombre: </strong>'.$row['nombre'].'<br />
<strong>Nacimiento: </strong>'.$row['nacimiento'].'<br />
<strong>Sexo: </strong>'.$row['sexo'].'<br />
<strong>País: </strong>'.$row['pais'].'<br />
<strong>Ciudad: </strong>'.$row['residencia'].'<br />
<strong>Provincia: </strong>'.$row['provincia'].'<br />
<strong>E-mail : </strong>'.$row['email'].'</strong><br />
<strong>Idiomas: </strong>'.$row['idioma'].'<br />
<strong>Web: </strong>'.$row['web'].'<br />
<strong>Investiga: </strong>'.$row['investiga'].'<br />
<strong>Argentina: </strong>'.$row['argentina'].'<br />
<strong>Rusia: </strong>'.$row['rusia'].'<br /><br />
<span style="font-size:14px;font-weight:bold;color:#B40404;">Su Link de Activación es:</span><br><a href="'.$activateLink.'">'.$activateLink.'</a><br /><br />
<span style="font-size:14px;font-weight:bold;color:#B40404;">Por favor, haga Click en el Link de arriba para activar su cuenta e ingresar al Listado.</span><br /><br />
<span style="font-size:14px;font-weight:bold;color:#B40404;">Si el Link no funciona al primer intento, hágalo una segunda vez, el Servidor a veces tarda en procesar la primera orden.</span><br /><br />
<span style="font-size:16px;font-style:italic;font-weight:bold;color:#045FB4;">Gracias por participar!!!</span><br /><br />
</div>
</td>
</tr>
</table>';
$formato = "html";
//*****************************************************************//
$headers = "From: $nombre_origen <$email_origen> \r\n";
$headers .= "Return-Path: <$email_origen> \r\n";
$headers .= "Reply-To: $email_origen \r\n";
//*****************************************************************//
if($formato == "html")
{ $headers .= "Content-Type: text/html; charset=iso-8859-1 \r\n"; }
else {
$headers .= "Content-Type: text/plain; charset=iso-8859-1 \r\n";
}
if (@mail($email_destino, $asunto, $mensaje, $headers))
{ }
}
}
} else {
formRegistro();
}
?>
</body>
</html>