Activar cuenta de usuario por mail
Tengo un problemilla que no se como resoverlo por que en estos casos cuanto más miras menos ves...
Estoy haciendo un registro de usuarios con validación por mail de la cuenta. La primera parte, registro de los datos en una tabla "temporal" hasta que el usuario confirme su cuenta lo hace bien así como enviar un correo con el enlace de activación..
El problema viene en el apartado de activación... Un vez que el usuario pulsa sobre el enlace me devuelve a la página activar.php (el código es el que pongo a continuación)
<?php
//Recogemos el valor pasado por URL
$clave = $_GET['id'];
//Comprobamos si el usuario que ha activado esta dirección existe en la base de datos
//Y recogemos de la base de datos usuarios_temp los campos para insertar en la base de datos USUARIOS
if($clave <> ""){
/*Declaramos las variables $servidor, $usuario,$password y
$sdb (base de datos). En mi caso para Localhost tengo lo siguiente:*/
$servidor = "";
$usuario = "";
$password = "";
$sdb = "";
$ienlace=mysql_connect($servidor,$usuario,$password) or die(mysql_error());
mysql_select_db($sdb,$ienlace);
$sql = "select * from usuarios_temp where txt_Activ = '$clave'";
$resultado=mysql_query($sql,$ienlace) or die (mysql_error());
while ($registro = mysql_fetch_array($resultado)) {
$nombre = $registro['nombre'];
$usuario = $registro['usuarioTemp'];
$password = $registro['password'];
$email = $registro['email'];
$profesion = $registro['profesion'];
$lugar = $registro['lugar'];
} // fin del bucle de ordenes
mysql_free_result($resultado); // liberamos los registros de la tabla
mysql_close(); // cerramos la conexion con la base de datos
(aqui es donde da el error que pongo en el final del mensaje...) if(insertarRegiAct2($nombre, $usuario, $password, $email, $profesion,$lugar)){
echo "<h1>tu nombre es:'".$nombre."'</h1>";
//ENVIAR MAIL DE QUE LA CUENTA HA SIDO ACTIVADA
//envioMail_regis();
}
else
echo "<h1 style=color:red>Tu cuenta NO ha sido activada correctamente</h1>";
}else
echo "<h2>Los datos proporcionados no son los correctos.</h2>";
function insertarRegiAct2($nombre_, $usuario_, $password1_, $email_, $profesion_, $lugar_){
/*declaramos las variables $servidor, $usuario,$password y
$sdb (base de datos). En mi caso para Localhost tengo lo siguiente:*/
$servidor = "localhost";
$usuario = "root";
$password = "calabacin";
$sdb = "produccion";
$ilink4=mysql_connect($servidor,$usuario,$password) or die(mysql_error());
mysql_select_db($sdb,$ilink4);
$inserta= "insert into usuarios (nombre,usuario,password,email,profesion, lugar,fecAlta) values ('$nombre','$usuario,'$password','$email','$profesion','$lugar',CURDATE())";
$resultado4=mysql_query($inserta,$ilink4) or die (mysql_error());
if (!$resultado4)
return false;
else
return true;
}
?>
El problema es que al realizar la inserción de los datos en la base tabla de usuario, me da el siguiente error:
Fatal error: Call to undefined function insertarRegiAct2() in/ ...../activar.php on line 32
Y no me registra ni muestra nada con lo cual no puedo mandar email de confirmación de validación...
Por favor,¿podéis ayudarme a resolver este error?