Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/04/2004, 19:50
Avatar de fmmeson
fmmeson
 
Fecha de Ingreso: enero-2002
Ubicación: Tucuman
Mensajes: 401
Antigüedad: 22 años, 3 meses
Puntos: 2
error en este codigo

hola muchachos como andan?? espero que re bien......quisiera mostrarles un codigo al cual no le encuentro errores pero no funciona como yo quiero.

1) el primer problema es no me valida si el usuario o el mail ya existen en mi base de datos

2) segundo problema no pasa la variable de session con el valor ID del registro para poder grabarlo en la otra tabla

Cualquier ayuda por pequeña que sea sera bienvenida. Desde ya muchas gracias

Código PHP:
<?php
include("conexion.php");
include(
"fecha.php");
session_start();
switch (
$_GET['accion']) {
    case 
"paso1":

        
$email $_POST['email'];
        
$username $_POST['username'];

        
/* Chequeamos que el nombre de usuario y la contraseña no existan previamente en la base de datos */
        
$sql_email_check mysql_query("SELECT username FROM usuarios WHERE username='$username'");
        
$sql_usuario_check mysql_query("SELECT email FROM datospersonales WHERE email='$email'");
        
$email_check mysql_num_rows($sql_email_check);
        
$usuario_check mysql_num_rows($sql_usuario_check);
        if ((
$email_check 0) || ($usuario_check 0)) {
            if (
$email_check 0) {
                unset(
$email);
                
header("location: regpaso1.php?error=1");
                exit;
            } 
            if (
$usuario_check 0) {
                unset(
$usuario);
                
header("location: regpaso1.php?error=0");
                exit;
            } 
        }
            
$consulta mysql_query("INSERT INTO usuarios (username) VALUES('$username')") or die (mysql_error()); 
            
// Obtienes el ID autoincremental generado por tu INSERT:
            
$userid mysql_insert_id($consulta);
            
// Y lo llevas a una variable de sesión de nombre "USERID"
            
$_SESSION['USERID'] = $userid;
            
$_SESSION['EMAIL'] = $email;
            
// Y redireccionas a tu formulario2
            
header("location: regpaso2.php");
            exit;
            break;

    case 
"paso2":
        
// Tomas el valor de tu variable de sesión "USERID" para usarla en tus relaciones de tus tablas.
        
$userid $_SESSION['USERID'];
        
$email $_SESSION['EMAIL'];
        
$nombre $_POST['nombre'];
        
$apellido $_POST['apellido'];
        
$telefono $_POST['telefono'];
        
$direccion $_POST['direccion'];
        
$res $_POST['res']; ////fecha de nacimiento 
        
        
$nombre stripslashes($nombre);
        
$apellido stripslashes($apellido);
        
$email stripslashes($email);
        
$telefono stripslashes($telefono);
        
$direccion stripslashes($direccion);

        
mysql_query("INSERT INTO datospersonales (userid, nombre, apellido, email, telefono, direccion, fecha_registracion, fecha_nacimiento) VALUES('$userid', '$nombre', '$apellido', '$email', '$telefono', '$direccion', '$fecha2', '$res')") or die (mysql_error());
        
// //liberar memoria y $_SESSION['EMAIL']
        // Y redireccionas a tu formulario3
        
header("location: regpaso3.php");
        exit;

        break;
    case 
"paso3":
        
// lo mismo que el paso2 para tomar la variable de sesión USERID
        
$userid $_SESSION['USERID'];

        
mysql_query("INSERT INTO datosadicionales (userid, nombre, apellido, email, telefono, direccion, fecha_registracion, fecha_nacimiento) VALUES('$userid', '$nombre', '$apellido', '$email', '$telefono', '$direccion', '$fecha2', '$res')") or die (mysql_error());
        
// procesos para el paso 3
        // En este punto ya no te hará falta esa variable de sesión .. así que puedes borrar dicha variable de sesión o incluso la sesión entera si no la necesitas con unset($_SESSION['USERID') para borrar la variable de sesión o bien session_destroy() para toda la sesión.
        // Y redireccionas a tu otro sitio donde digas que el proceso se ha finalizado con exito ..
        
header("location: nose.php");
        exit;

        break;
    default:
        echo 
"secuencia incorrecta de proceso ...";


?>
__________________
Lo que se hace por AMOR esta mas allá del BIEN y del MAL - Friedrich Nietzsche
http://www.hispanogeek.com.ar
Desarrollador IT -