Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/10/2009, 02:53
arcanisgk1
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años, 9 meses
Puntos: 7
Exclamación Respuesta: php+mysql problemita

les dejo los codigos completos para que los revisen a ver si ven algo mal por que el de no pasar el valor de ID a otra ID:

creacion de un usuario:

Código PHP:
<?php
//Primero comprovamos datos que no esten vacion
session_start();
if(isset(
$_POST['username']) && !empty($_POST['username']) &&
    isset(
$_POST['password']) && !empty($_POST['password']) &&
    isset(
$_POST['password2']) && !empty($_POST['password2']) &&
    isset(
$_POST['nombre']) && !empty($_POST['nombre']) &&
    isset(
$_POST['apellido']) && !empty($_POST['apellido']) &&
    isset (
$_POST['telefono']) && !empty($_POST['telefono']) &&
    isset (
$_POST['email']) && !empty($_POST['email'])) {
//pasamos las variables:
    
$username=$_POST['username'];
    
$password=$_POST['password'];
    
$password2=$_POST['password2'];
    
$nombre=$_POST['nombre'];
    
$apellido=$_POST['apellido'];
    
$telefono=$_POST['telefono'];
    
$email=$_POST['email'];
    
$check=0;
//entrando a la base de datos
    
include("config/config.php");
    
$link mysql_connect($dbhost$dbusername$dbuserpass);
    
mysql_select_db($dbname,$link) or die('No se puede seleccionar la base de datos');
//Seccion de funciones y demas
//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);}*/
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían 
    
$checkuser mysql_query("SELECT username FROM user WHERE username='$username'"); 
    
$username_exist mysql_num_rows($checkuser);
    
$checkemail mysql_query("SELECT email FROM user WHERE email='$email'"); 
    
$email_exist mysql_num_rows($checkemail);
    if (
$email_exist>0) {
        
header('refresh:10; url=/regedit.html');
        echo 
"La cuenta de correo estan ya en uso.<br>";
        echo 
"Utilice otra Cuenta de correo electronico.<br>";
    }else{ 
        if (
$username_exist>0) {
            
header ('refresh:10; url=/regedit.html');
            echo 
"El nombre de usuario esta ya en uso.<br>";
            echo 
"Utilice otra Nombre de Usuario.<br>";
        }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
//Comprobacion de la password
            
if($password!=$password2) { 
                
header('refresh:10; url=/regedit.html');
                echo 
"Las contraseñas no coinciden<br>";
                echo 
"Por Favor utilice una Contraseña valida<br> <br>";
                echo 
"Si tiene algun problema en crear su cuenta por favor enviar un correo a [email protected].<br>";
            }else{    
//comprobar Correo electronico
                
$cemail=($_POST['email']);
                if ( 
filter_var($cemailFILTER_VALIDATE_EMAIL) == TRUE){
//pasamos la password a encriptacion:
                    
$encript md5($_POST['password']);
// con esta sentencia insertamos los datos en la base de datos XD
                    
mysql_query("INSERT INTO user (username,password,nombre,apellido,telefono,email,ucheck,mcheck) 
                    VALUES ('{$username}','{$encript}','{$nombre}','{$apellido}','{$telefono}','{$email}','{$check}','{$check}')"
,$link);
// Ahora comprobaremos que todo ha ido correctamente
                    
$my_error mysql_error($link);
                    if(!empty(
$my_error)){
                        
header('refresh:10; url=/regedit.html');
                        echo 
"Ha habido un error al insertar los valores. $my_error";
                    }else{
                        
$idpj mysql_query("SELECT id FROM user WHERE username='$username'");
                        
$ids $idpj;
                        
mysql_query("INSERT INTO pj (id) VALUES ('{$idpj}')",$link);
                        
header('refresh:5; url=/create.html');
                        echo 
"Los datos han sido introducidos satisfactoriamente.<br>";
                        echo 
"Bienvenido no hay partida en estos momentos pero puedes entrar y solicitarlas.<br>";
                        echo 
"ID: $idpj<br>";
                        echo 
"Usuario: $username<br>";
                        echo 
"Nombre: $nombre<br>";
                        echo 
"Apellido: $apellido<br>";
                        echo 
"Telefono: $telefono<br>";
                        echo 
"E-mail: $email<br>";}
                }else{
                    
header('refresh:10; url=/regedit.html');
                    echo 
"Direccion de correo invalida, Por Favor utilice un correo con el siguiente formato:<br> <br>";
                    echo 
"[email protected] <br><br>";
                    echo 
"Sugerimos los siguientes proveedores:<br><br>";
                    echo 
"Hotmail<br>";
                    echo 
"Gmail<br>";
                    echo 
"Yahoo<br>";
                }
            }
        }
    }
}else{
    
header('refresh:10; url=/regedit.html');
    echo 
"Error, no ha introducido todos los datos";}
?>
creacion del personaje primera parte:

Código PHP:
<?php
ob_start
();
session_start();
if(isset(
$_POST['namepj']) && !empty($_POST['namepj'])){
    
$user=$_POST['user'];
    
$namepj=$_POST['namepj'];
    
$raza=$_POST['raza'];
    
$prof=$_POST['prof'];
    if(
$prof==0000){
        
header('refresh:10; url=/create.html');
        echo 
"Error, no ha introducido una Profecion correcta";
    }else{
        
$hibrid=$_POST['hibrid'];
        
$edad=$_POST['edad'];
        
$apa=$_POST['apa'];
        
$check=0;
        include(
"config/config.php");
    
// ya puedes acceder a la seccion de ".'<a href="members.php">Miembros</a>'."
    // Conectar a la base de datos
        
mysql_connect ($dbhost$dbusername$dbuserpass);
        
mysql_select_db($dbname) or die('No se puede seleccionar la base de datos');
        
$cnamepj mysql_query("SELECT namepj FROM pj WHERE namepj='$namepj'"); 
        
$namepj_exist mysql_num_rows($cnamepj);
        
$cid mysql_query("SELECT id FROM pj WHERE namepj='$namepj'"); 
        
$id_exist mysql_num_rows($cnamepj);
        
$act mysql_query("SELECT activate FROM pj WHERE namepj='$namepj'");
        if (
act>0){
            
header('refresh:20; url=/create.html');
            echo 
"Ya existe un personaje activado a esta cuenta.<br>";
        }else{
            if (
$namepj_exist>0) {
                
header('refresh:20; url=/create.html');
                echo 
"El nombre del personaje esta en uso.<br>";
                echo 
"Por favor utilice otro.<br>";
                echo 
"Por favor mandar un correo electrónico a [email protected]  con la siguiente información:<br>";
                echo 
"Nombre de la Cuenta.<br>";
                echo 
"Nombre del personaje a utilizar.<br>";
            }else{
                if (
$id_exist>0) {
                    
header('refresh:20; url=/index.html');
                    echo 
"El numero de ID esta colapsado.<br>";
                    echo 
"Por favor mandar un correo electrónico a [email protected]  con la siguiente información:<br>";
                    echo 
"Nombre de la Cuenta.<br>";
                    echo 
"Nombre del personaje a utilizar.<br>";
                }else{
                    
$idpj mysql_query("SELECT id FROM user WHERE username='$user'") or die(mysql_error());
                    
$ids $idpj;
                    
$activate mysql_query("SELECT activate FROM pj WHERE id='$ids'");
                    if(
$activate == 1){
                        echo 
"Ha habido un error al insertar los valores.";
                        echo 
"Por favor mandar un correo electrónico a [email protected] con la siguiente información:<br>";
                        echo 
"Error ya existe un personaje creado a su Cuenta<br>";
                        echo 
"Nombre de la Cuenta.<br>";
                        echo 
"Nombre del personaje a utilizar.<br>";
                    }else{
                        
mysql_query("UPDATE pj SET id = '{$ids}', namepj = '{$namepj}', raza = '{$raza}', prof = '{$prof}', hibrid = '{$hibrid}', edad = '{$edad}', apa ='{$apa}' WHERE id='$ids' ") or die(mysql_error());
                        
// Ahora comprobaremos que todo ha ido correctamente
                        
if(!empty($my_error)){
                            
header('refresh:20; url=/create.html');
                            echo 
"Ha habido un error al insertar los valores. $my_error";
                            echo 
"Por favor mandar un correo electrónico a [email protected]  con la siguiente información:<br>";
                            echo 
"Este ERROR: $my_error<br>";
                            echo 
"Nombre de la Cuenta.<br>";
                            echo 
"Nombre del personaje a utilizar.<br>";
                        }else{
                            
header('refresh:10; url=/create2.html');
                            echo 
"Almacenando Informacion...Por favor espere.<br>";
                            echo 
"ID: $ids<br>";
                            echo 
"namepj: $namepj<br>";
                            echo 
"raza: $raza<br>";
                            echo 
"prof: $prof<br>";
                            echo 
"hibrid: $hibrid<br>";
                            echo 
"edad: $edad<br>";
                            echo 
"apa: $apa";
                            
                        }
                    }
                }
            }
        
        }
    }
}else{
    echo 
"<meta http-equiv='refresh' content='20;url=/create.html' />";
    echo 
"Error, no ha introducido todos los datos";}
ob_end_flush();
?>