Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

php+mysql problemita

Estas en el tema de php+mysql problemita en el foro de Bases de Datos General en Foros del Web. hola a todos y gracias por su colaboracion, me trae asta aca un problema con php por la integracion de una base de datos mysql ...
  #1 (permalink)  
Antiguo 25/10/2009, 02:53
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años
Puntos: 7
Exclamación php+mysql problemita

hola a todos y gracias por su colaboracion, me trae asta aca un problema con php por la integracion de una base de datos mysql utilisando php my admin como gesto de ella.

les explico el problema y luego les subo los codigos completo:


he limpiado el codigo con el que estoy trabajando ahora mismo y al utilisarlo correctamente le pido al final que me imprima las variables.

el primer codigo que utiliso es el siguiente:

primero creo la cuenta de usuario:
Código PHP:
mysql_query("INSERT INTO user (username,password,nombre,apellido,telefono,email,ucheck,mcheck) 
                    VALUES ('{$username}','{$encript}','{$nombre}','{$apellido}','{$telefono}','{$email}','{$check}','{$check}')"
,$link); 
luego que se crea el usuario solicito que busque la id del usuario y la meta en otra tabla donde el unico contenido es la id y todo lo demas es 0

Código PHP:
$idpj mysql_query("SELECT id FROM user WHERE username='$username'");
                        
$ids $idpj;
                        
mysql_query("INSERT INTO pj (id) VALUES ('{$idpj}')",$link); 
como me preguntaron de donde sale $link bueno aki se lo muestro:

Código PHP:
$link mysql_connect($dbhost$dbusername$dbuserpass);
    
mysql_select_db($dbname,$link) or die('No se puede seleccionar la base de datos');
$my_error mysql_error($link); 
cuando reviso la Id del usuario es 0001, cuando reviso la Id del Pj me marca 0, esto no deveri pasar si estoy asignando el mismo valor,por que cambia.

haora todo pasa y no manda errores, y me manda a al siguiente paso que es donde se le agregan datos a la tabla de Pj osea el update de la siguiente manera:

Código PHP:
$idpj mysql_query("SELECT id FROM user WHERE username='$user'") or die(mysql_error());
                    
$ids $idpj;

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()); 
tambien hice que me imprimiera los valores que devia insertar en la tabla pj:

Almacenando Informacion...Por favor espere.
ID: Resource id #6 esto no deveria de ser lo logico es un "0001" o "1"
namepj: arcanisgk
raza: 001
prof: 0001
hibrid: 0000
edad: 55
apa: lolaso
  #2 (permalink)  
Antiguo 25/10/2009, 02:53
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años
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();
?>
  #3 (permalink)  
Antiguo 25/10/2009, 02:56
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años
Puntos: 7
Exclamación Respuesta: php+mysql problemita

estructura de la DB:

tabla user:

Código:
DROP TABLE IF EXISTS `user`;
CREATE TABLE IF NOT EXISTS `user` (
  `id` int(8) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(25) CHARACTER SET latin1 DEFAULT NULL,
  `password` varchar(100) CHARACTER SET latin1 DEFAULT NULL,
  `nombre` varchar(30) CHARACTER SET latin1 DEFAULT NULL,
  `apellido` varchar(30) CHARACTER SET latin1 DEFAULT NULL,
  `telefono` varchar(30) CHARACTER SET latin1 DEFAULT NULL,
  `email` varchar(50) CHARACTER SET latin1 DEFAULT NULL,
  `ucheck` int(1) NOT NULL COMMENT 'Chequea estado' DEFAULT '0',
  `mcheck` int(1) NOT NULL COMMENT 'Chequea estado' DEFAULT '0',
  `GM` varchar(1) CHARACTER SET latin1 DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`),
  UNIQUE KEY `email` (`email`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;

tabla pj:


Código:
DROP TABLE IF EXISTS `pj`;
CREATE TABLE IF NOT EXISTS `pj` (
  `id` int(8) unsigned NOT NULL COMMENT 'Identifica Numero De Personaje',
  `activate` int(1) unsigned NOT NULL DEFAULT '0' COMMENT 'Finalisa la creacion del personaje',
  `namepj` varchar(40) CHARACTER SET latin1 NOT NULL COMMENT 'Nombre del Personaje',
  `cname` int(1) NOT NULL COMMENT 'Chequea estado' DEFAULT '0',
  `cid` int(1) NOT NULL COMMENT 'Chequea estado' DEFAULT '0',
  `duen` int(6) NOT NULL COMMENT 'Dueño del Personaje',
  `raza` int(3) NOT NULL COMMENT 'Raza Del Personaje',
  `prof` int(4) NOT NULL COMMENT 'Profesión',
  `hibrid` int(4) NOT NULL COMMENT 'Profesión Secundaria',
  `sexo` int(1) NOT NULL COMMENT 'Sexo',
  `edad` int(10) NOT NULL COMMENT 'Edad',
  `orig` int(5) NOT NULL COMMENT 'Lugar De Origen O De Donde Viene',
  `apa` varchar(250) CHARACTER SET latin1 NOT NULL COMMENT 'Apariencia Del Personaje',
  `frs` int(6) NOT NULL COMMENT 'Fuerza',
  `dest` int(6) NOT NULL COMMENT 'Destresa',
  `sab` int(6) NOT NULL COMMENT 'Saber',
  `vig` int(6) NOT NULL COMMENT 'Vigor',
  `esp` int(6) NOT NULL COMMENT 'Espíritu',
  `fat` int(6) NOT NULL COMMENT 'Fatiga',
  `dan1` int(6) NOT NULL COMMENT 'Daño De Armas de Una Mano',
  `dan2` int(6) NOT NULL COMMENT 'daño de armas de de dos manos',
  `bon1` int(6) NOT NULL COMMENT 'Bonificación Daño De Armas De Una Mano',
  `bon2` int(6) NOT NULL COMMENT 'Bonificación Daño De Armas De Dos Manos',
  PRIMARY KEY (`id`),
  UNIQUE KEY `duen` (`duen`),
  UNIQUE KEY `namepj` (`namepj`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci ROW_FORMAT=DYNAMIC;
tabla
  #4 (permalink)  
Antiguo 28/10/2009, 16:38
 
Fecha de Ingreso: agosto-2009
Mensajes: 1
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: php+mysql problemita

me pueden enviar algunos ejemplos que funcionen
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:44.