Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/05/2008, 17:43
paulkees
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Variable indefinida

Hola a todos...

Me pasa lo siguiente y la verdad que estoy desorientado. Estoy armando mi formulario multilenguaje con partes de script de este foro:

Tengo en la cabecera del procesa.php (que procesa el formulario) la identificación del idoma del usuario (es-de-en) que según sea, elige el archivo correspondiente al idioma. Para esto lo hago con un include("lang/$idioma.php") que elije el archivo de idioma del Directorio lang donde estan las variables definidas.

Ahora bien, esto forma parte de las otras funciones que procesan el formulario, es decir, hace las comprobaciones y envía un mail para la activación del registro en la BD.

El problema que tengo, es que en la parte de la session_start() pongo las variables definidas en los archivos de idioma y me tira como error de que las variables no estan definidas. Es decir, no está tomando el include("lang/$idioma.php")

Aquí pongo el procesa.php, la aprte de la session_start(), con un ejemplo de como pongo la variable que quiero que me incluya. Se encuentra en la linea donde dice "//Hay campos en blanco" y la variable que pongo se llama $VARIABLE

Por favor, si alguien me puede dar una mano... muy agradecido!
Saludos

Código 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>