Foros del Web » Programando para Internet » PHP »

array usando mysql_fetch para pasar datos de una tabla a otra

Estas en el tema de array usando mysql_fetch para pasar datos de una tabla a otra en el foro de PHP en Foros del Web. Hola, Les planteo el siguiente problema que estoy teniendo a ver si alguno me puede orientar o ayudar con la solución: Estoy haciendo un sistema ...
  #1 (permalink)  
Antiguo 28/01/2012, 09:07
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 12 años, 3 meses
Puntos: 0
Mensaje array usando mysql_fetch para pasar datos de una tabla a otra

Hola,

Les planteo el siguiente problema que estoy teniendo a ver si alguno me puede orientar o ayudar con la solución:

Estoy haciendo un sistema de registro de usuario en el que cuando se registran se guardan los datos en una tabla temporal y cuando activan la cuenta desde el mail pasa los datos a la tabla definitiva. El problema que tengo es al querer pasar los datos de la tabla temporal a la definitiva. Lo estoy haciendo mediante un array que guarda la consulta a la BD para después insertar dichos datos en la otra tabla. Cuando lo pruebo en local con Wamp funciona a la perfección, pero cuando lo pruebo en el servidor del hosting pasa los datos en blanco y por alguna razón creo que no está guardando los datos en el array.

Mi código es el siguiente

Código PHP:
<?php
$clave 
$_GET['id']; //recibe el valor generado para la activación

if($clave <> ""){
        
$servidor "localhost";
        
$usuario "x";
        
$password "x";
        
$sdb "x";

        
$ienlace=mysql_connect($servidor,$usuario,$password) or die(mysql_error()); 
        
mysql_select_db($sdb,$ienlace); 
        
$sql "select * from alumnos_temp where txt_activ = '$clave'";
        
$resultado=mysql_query($sql,$ienlace) or die (mysql_error());
        
        while (
$registro mysql_fetch_array($resultado)) {
            
$registro['nombre']=$nombre;
            
$apellidop $registro['apellido_p'];
            
$apellidom $registro['apellido_p'];
            
$fechanac $registro['fecha_nac'];
            
$username $registro ['usuario_temp'];
            
$userpass $registro ['password'];
        }
        
        
mysql_free_result($resultado); 
        
mysql_close(); 
    
        if(
insertarRegiAct($nombre$apellidop$apellidom$fechanac,$username,$userpass)){
            echo 
"<h1>Tu cuenta ha sido activada correctamente</h1>";

            
//elimino los datos de la tabla temporal
            
$sql "DELETE FROM alumnos_temp WHERE txt_Activ = '$clave'";
                        
mysql_query($sql);
        
        }            
        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 
insertarRegiAct($nombre_,$apellidop_,$apellidom_,$fechanac_,$username_,$userpass_){
        
$servidor "localhost";
        
$usuario "x";
        
$password "x";
        
$sdb "x";
                    
        
$ilink4=mysql_connect($servidor,$usuario,$password) or die(mysql_error()); 
        
mysql_select_db($sdb,$ilink4); 
        
        
$inserta"insert into alumnos (nombre,apellido_p,apellido_m,fecha_nac,usuario,password) values ('$nombre_','$apellidop_','$apellidom_','$fechanac_','$edad_','$username_','$userpass_')";
        
$resultado4=mysql_query($inserta,$ilink4) or die (mysql_error());
        
        if (!
$resultado4)
            return 
false;
        else
            return 
true;
}
?>
Agradezco de antemano cualquier orientación y ayuda que puedan brindarme
  #2 (permalink)  
Antiguo 28/01/2012, 09:23
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

creo sera lo mejor es activar la cuenta despues de confirmar la dirreccion email o sea
una vez se registra se guarda un token y el mismo se le manda le manda un link ej: md5(strtotime(date('Y-m-d H:s:j')); el link seria algo asi
midominio.com/token=$token;
y cuando el usuario quiere activar su cuenta hay que pulsar al link una vez mas se comprueba el link se coinside con el que hemos guardado en la base y de esta forma se elimina el registro temporal y se le activa su cuenta
espero q sea de ayuda ya que la respuesta no es del todo que esperaba
__________________
cada vez que aprendes algo te crees que no sabes nada
  #3 (permalink)  
Antiguo 28/01/2012, 09:47
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

Gracias Arros por contestar, pero en si mi problema es otro y de hecho lo que mencionas es lo que hace el sitio... se genera una clave aleatoria que queda en el registro de la tabla temporal y va dentro del link de activación que se envía al mail, que es el valor que se recibe para desencadenar el proceso de activación y pasar los datos del usuario a la tabla definitiva.

El problema está en que no me está trayendo guardando los datos en el array y es donde quiero me ayude alguno para ver que está mal en el código o si acaso puede ser una diferencia en la configuración del php.ini porque como comentaba en las pruebas locales con wamp me funciona e incluso haciendo la consulta sql en phpMyAdmin me trae los datos correspondientes al token.
  #4 (permalink)  
Antiguo 28/01/2012, 10:13
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

Primero que todo saca la función insertarRegiAct de ese condicional... Luego comenta como te funciona.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 28/01/2012, 10:31
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

Hola Andrés,

Saque la funcion insertRegiAct de la condicional como me sugieres y me sigue dando el mismo resultado. Adicional después de probar coloque un print_r($nombre); para ver que valor me traia en el array y sigue viniendo vacío.

Alguna otra idea de que podría estar fallando?

Saludos y gracias por responder.
  #6 (permalink)  
Antiguo 28/01/2012, 10:33
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

Bueno esa función debería ir por fuera del condicional y cambia:

Código PHP:
Ver original
  1. $registro['nombre']=$nombre;

por

Código PHP:
Ver original
  1. $nombre = $registro['nombre'];
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #7 (permalink)  
Antiguo 28/01/2012, 10:42
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

Cita:
Iniciado por andresdzphp Ver Mensaje
Bueno esa función debería ir por fuera del condicional y cambia:

Código PHP:
Ver original
  1. $registro['nombre']=$nombre;

por

Código PHP:
Ver original
  1. $nombre = $registro['nombre'];
hecho, cambie lo que me indicas y sigue sin funcionar
  #8 (permalink)  
Antiguo 28/01/2012, 10:45
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

Pues tienes varios errores no te desesperes... Ahora cambia tus mysql_query($sql);

por

Código PHP:
Ver original 
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #9 (permalink)  
Antiguo 28/01/2012, 10:47
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

usas una misma base de datos??
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #10 (permalink)  
Antiguo 28/01/2012, 10:49
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

quita:

Código PHP:
Ver original
  1. mysql_free_result($resultado);  

Cierras la conexión e intentas hacer mas consultas.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #11 (permalink)  
Antiguo 28/01/2012, 10:51
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

Cita:
Iniciado por andresdzphp Ver Mensaje
Pues tienes varios errores no te desesperes... Ahora cambia tus mysql_query($sql);

por

Código PHP:
Ver original 
jeje ok a ser paciente... el precio de ser novato y estar aprendiendo.

Cambie los mysql_query

y también corregí esto:

Código PHP:
$apellidop $registro['apellido_p'];
$apellidom $registro['apellido_p']; 
por

Código PHP:
$apellidop $registro['apellido_p'];
$apellidom $registro['apellido_m']; 
Gracias por la paciencia... que otra cosa debo cambiar? :)
  #12 (permalink)  
Antiguo 28/01/2012, 10:52
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

Cita:
Iniciado por eits Ver Mensaje
usas una misma base de datos??
Si es la misma base de datos.
  #13 (permalink)  
Antiguo 28/01/2012, 10:54
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

Cita:
Iniciado por andresdzphp Ver Mensaje
quita:

Código PHP:
Ver original
  1. mysql_free_result($resultado);  

Cierras la conexión e intentas hacer mas consultas.
cierto... ya lo quite... continua igual...
  #14 (permalink)  
Antiguo 28/01/2012, 11:05
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

intenta con esto, pero primero checa tus campos si son correctos
Código PHP:
Ver original
  1. //esto es temporal solo mientras realizas tus pruebas
  2.  ini_set('display_errors',1);
  3.  error_reporting(E_ALL);
  4.  /////lo de arriba quitar o comentar
  5.  
  6. $clave = $_GET['id']; //recibe el valor generado para la activación
  7.  
  8. if($clave <> ""){
  9.     $servidor = "localhost";
  10.     $usuario = "x";
  11.     $password = "x";
  12.     $sdb = "x";
  13.  
  14.     $ienlace=mysql_connect($servidor,$usuario,$password) or die(mysql_error());  
  15.     mysql_select_db($sdb,$ienlace);  
  16.     $sql = "SELECT nombre,apellido_p,apellido_m,fecha_nac,usuario_temp,password FROM alumnos_temp WHERE txt_activ = '$clave'";//evita usar el *, es mejor escribir los nombres de los campos
  17.     $resultado=mysql_query($sql,$ienlace) or die (mysql_error());
  18.     if(mysql_num_rows($resultado) > 0){
  19.         $registro= mysql_result($resultado,0){
  20.             //tenias un campo mas que se intenta insertar pero no lo especificabas que era el de edad          
  21.             $inserta= 'INSERT INTO alumnos (nombre,apellido_p,apellido_m,fecha_nac,usuario,password) values ("'.$registro['nombre'].'","'.$registro['apellido_p'].'","'.$registro['apellido_m'].'","'.$registro['fecha_nac'].'","'.$registro ['usuario_temp'].'","'.$registro ['password'].'")';
  22.             if(mysql_query($inserta,$ienlace)){
  23.                 echo "<h1>Tu cuenta ha sido activada correctamente</h1>";
  24.                 $sql = "DELETE FROM alumnos_temp WHERE txt_Activ = '$clave'";
  25.                 mysql_query($sql,$ienlace);
  26.             }else{
  27.                 echo "<h1 style=color:red>Tu cuenta NO ha sido activada correctamente</h1>";
  28.             }
  29.         }
  30.     }else{
  31.         echo "<h2>Los datos proporcionados no son los correctos.</h2>";
  32. }
  33. mysql_free_result($resultado);  
saludos
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #15 (permalink)  
Antiguo 28/01/2012, 11:37
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

Cita:
Iniciado por eits Ver Mensaje
intenta con esto, pero primero checa tus campos si son correctos
Código PHP:
Ver original
  1. //esto es temporal solo mientras realizas tus pruebas
  2.  ini_set('display_errors',1);
  3.  error_reporting(E_ALL);
  4.  /////lo de arriba quitar o comentar
  5.  
  6. $clave = $_GET['id']; //recibe el valor generado para la activación
  7.  
  8. if($clave <> ""){
  9.     $servidor = "localhost";
  10.     $usuario = "x";
  11.     $password = "x";
  12.     $sdb = "x";
  13.  
  14.     $ienlace=mysql_connect($servidor,$usuario,$password) or die(mysql_error());  
  15.     mysql_select_db($sdb,$ienlace);  
  16.     $sql = "SELECT nombre,apellido_p,apellido_m,fecha_nac,usuario_temp,password FROM alumnos_temp WHERE txt_activ = '$clave'";//evita usar el *, es mejor escribir los nombres de los campos
  17.     $resultado=mysql_query($sql,$ienlace) or die (mysql_error());
  18.     if(mysql_num_rows($resultado) > 0){
  19.         $registro= mysql_result($resultado,0){
  20.             //tenias un campo mas que se intenta insertar pero no lo especificabas que era el de edad          
  21.             $inserta= 'INSERT INTO alumnos (nombre,apellido_p,apellido_m,fecha_nac,usuario,password) values ("'.$registro['nombre'].'","'.$registro['apellido_p'].'","'.$registro['apellido_m'].'","'.$registro['fecha_nac'].'","'.$registro ['usuario_temp'].'","'.$registro ['password'].'")';
  22.             if(mysql_query($inserta,$ienlace)){
  23.                 echo "<h1>Tu cuenta ha sido activada correctamente</h1>";
  24.                 $sql = "DELETE FROM alumnos_temp WHERE txt_Activ = '$clave'";
  25.                 mysql_query($sql,$ienlace);
  26.             }else{
  27.                 echo "<h1 style=color:red>Tu cuenta NO ha sido activada correctamente</h1>";
  28.             }
  29.         }
  30.     }else{
  31.         echo "<h2>Los datos proporcionados no son los correctos.</h2>";
  32. }
  33. mysql_free_result($resultado);  
saludos
Me marca un error de sintaxis en el código que me proporcionas en ésta línea:

Código PHP:
 $registromysql_result($resultado,0){ 
Y al ejecutarlo en el servidor me da un error 500 del servidor. Te agradecería me indiques cual es el error de sintaxis en el código que me proporcionaste porque sin duda creo que está mejor organizado el script a como yo lo tengo.

Saludos

Última edición por leoagm; 28/01/2012 a las 11:43 Razón: corrección
  #16 (permalink)  
Antiguo 28/01/2012, 12:10
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

prueba esto y intenta dejar los script bien organizados facilita encintrar los errores
Código PHP:
Ver original
  1. // este codigo tienes que guardarlo en un archivo fuera del public_html
  2. define('DB_HOST', 'localhost');
  3. define('DB_USER', 'root');
  4. define('DB_PASSWORD', 'mypassword');
  5. define('DB_NAME', 'myDbName');
  6.  
  7.  
  8. // stablecer una coxion con el serv de db
  9.  
  10. if (!$GLOBALS['DB'] = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD))
  11. {
  12.     die('Error: Unable to coonect to database server.');
  13. }
  14. if (!mysql_select_db(DB_NAME, $GLOBALS['DB']))
  15. {
  16.     mysql_close($GLOBALS['DB']);
  17.     die('Error: Unable to select database schema.');
  18. }
  19.  
  20. function getRegisterFromDb($clave){
  21. $query  = mysql_query("select * from alumnos_temp where txt_activ = '$clave'", $GLOBALS['DB']) or die (mysql_error());        
  22.        return $query;
  23. }
  24. function InsertRegisterToDb($result){
  25.     while($row = mysql_fetch_array($result)){
  26.         $nombre         = $row['nombre'];
  27.         $apellido_p     = $row['apellido_p'];
  28.         $apellido_m     = $row['apellido_m'];
  29.         $fecha_nac      = $row['fecha_nac'];
  30.         $usuario        = $row['usuario_temp'];
  31.         $password       = $row['password'];
  32.     $insertRg = mysql_query("INSERT INTO alumnos (nombre, apellido_p, apellido_m, fecha_nac, usuario, password) VALUES ('$nombre','$apellido_p','$apellido_m','$fecha_nac', '$usuario','$password')", $GLOBALS['DB']);
  33.     if(!$insertRg){
  34.         echo 'no se registro';
  35.     }else{
  36.         echo 'se registro con exito';
  37.         deleteTempRg(); // aqui va la llamada de la function  que elimina el temp registro
  38.     }
  39.     }
  40.    
  41. }
  42. if(isset($_GET['clave'])){
  43.     $clave = $_GET['clave'];
  44.     $result = getRegisterFromDb($clave);
  45.     InsertRegisterToDb($result);
  46. }
__________________
cada vez que aprendes algo te crees que no sabes nada
  #17 (permalink)  
Antiguo 28/01/2012, 12:24
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

te lo dejo de nuevo, lo que pasó es que con las prisas coloque unas { } de mas
Código PHP:
Ver original
  1. //esto es temporal solo mientras realizas tus pruebas
  2.  ini_set('display_errors',1);
  3.  error_reporting(E_ALL);
  4.  /////lo de arriba quitar o comentar
  5.  
  6. $clave = $_GET['id']; //recibe el valor generado para la activación
  7.  
  8. if($clave <> ""){
  9.     $servidor = "localhost";
  10.     $usuario = "x";
  11.     $password = "x";
  12.     $sdb = "x";
  13.  
  14.     $ienlace=mysql_connect($servidor,$usuario,$password) or die(mysql_error());  
  15.     mysql_select_db($sdb,$ienlace);  
  16.     $sql = "SELECT nombre,apellido_p,apellido_m,fecha_nac,usuario_temp,password FROM alumnos_temp WHERE txt_activ = '$clave'";//evita usar el *, es mejor escribir los nombres de los campos
  17.     $resultado=mysql_query($sql,$ienlace) or die (mysql_error());
  18.     if(mysql_num_rows($resultado) > 0){
  19.         $registro = mysql_result($resultado,0);
  20.         //tenias un campo mas que se intenta insertar pero no lo especificabas que era el de edad          
  21.         $inserta= 'INSERT INTO alumnos (nombre,apellido_p,apellido_m,fecha_nac,usuario,password) values ("'.$registro['nombre'].'","'.$registro['apellido_p'].'","'.$registro['apellido_m'].'","'.$registro['fecha_nac'].'","'.$registro ['usuario_temp'].'","'.$registro ['password'].'")';
  22.         if(mysql_query($inserta,$ienlace)){
  23.             echo "<h1>Tu cuenta ha sido activada correctamente</h1>";
  24.             $sql = "DELETE FROM alumnos_temp WHERE txt_Activ = '$clave'";
  25.             mysql_query($sql,$ienlace);
  26.         }else{
  27.             echo "<h1 style=color:red>Tu cuenta NO ha sido activada correctamente</h1>";
  28.         }
  29.     }else{
  30.         echo "<h2>Los datos proporcionados no son los correctos.</h2>";
  31. }
  32. mysql_free_result($resultado);  
pero con esto debe quedar, sin embargo lo del error 500 es un problema directo del servidor.

saludos
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #18 (permalink)  
Antiguo 28/01/2012, 12:54
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

Cita:
Iniciado por arros Ver Mensaje
prueba esto y intenta dejar los script bien organizados facilita encintrar los errores
Código PHP:
Ver original
  1. // este codigo tienes que guardarlo en un archivo fuera del public_html
  2. define('DB_HOST', 'localhost');
  3. define('DB_USER', 'root');
  4. define('DB_PASSWORD', 'mypassword');
  5. define('DB_NAME', 'myDbName');
  6.  
  7.  
  8. // stablecer una coxion con el serv de db
  9.  
  10. if (!$GLOBALS['DB'] = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD))
  11. {
  12.     die('Error: Unable to coonect to database server.');
  13. }
  14. if (!mysql_select_db(DB_NAME, $GLOBALS['DB']))
  15. {
  16.     mysql_close($GLOBALS['DB']);
  17.     die('Error: Unable to select database schema.');
  18. }
  19.  
  20. function getRegisterFromDb($clave){
  21. $query  = mysql_query("select * from alumnos_temp where txt_activ = '$clave'", $GLOBALS['DB']) or die (mysql_error());        
  22.        return $query;
  23. }
  24. function InsertRegisterToDb($result){
  25.     while($row = mysql_fetch_array($result)){
  26.         $nombre         = $row['nombre'];
  27.         $apellido_p     = $row['apellido_p'];
  28.         $apellido_m     = $row['apellido_m'];
  29.         $fecha_nac      = $row['fecha_nac'];
  30.         $usuario        = $row['usuario_temp'];
  31.         $password       = $row['password'];
  32.     $insertRg = mysql_query("INSERT INTO alumnos (nombre, apellido_p, apellido_m, fecha_nac, usuario, password) VALUES ('$nombre','$apellido_p','$apellido_m','$fecha_nac', '$usuario','$password')", $GLOBALS['DB']);
  33.     if(!$insertRg){
  34.         echo 'no se registro';
  35.     }else{
  36.         echo 'se registro con exito';
  37.         deleteTempRg(); // aqui va la llamada de la function  que elimina el temp registro
  38.     }
  39.     }
  40.    
  41. }
  42. if(isset($_GET['clave'])){
  43.     $clave = $_GET['clave'];
  44.     $result = getRegisterFromDb($clave);
  45.     InsertRegisterToDb($result);
  46. }
Probé el código que me proporcionaste pero no dio resultado. De hecho la página se queda en blanco
  #19 (permalink)  
Antiguo 28/01/2012, 12:59
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

Cita:
Iniciado por eits Ver Mensaje
te lo dejo de nuevo, lo que pasó es que con las prisas coloque unas { } de mas
Código PHP:
Ver original
  1. //esto es temporal solo mientras realizas tus pruebas
  2.  ini_set('display_errors',1);
  3.  error_reporting(E_ALL);
  4.  /////lo de arriba quitar o comentar
  5.  
  6. $clave = $_GET['id']; //recibe el valor generado para la activación
  7.  
  8. if($clave <> ""){
  9.     $servidor = "localhost";
  10.     $usuario = "x";
  11.     $password = "x";
  12.     $sdb = "x";
  13.  
  14.     $ienlace=mysql_connect($servidor,$usuario,$password) or die(mysql_error());  
  15.     mysql_select_db($sdb,$ienlace);  
  16.     $sql = "SELECT nombre,apellido_p,apellido_m,fecha_nac,usuario_temp,password FROM alumnos_temp WHERE txt_activ = '$clave'";//evita usar el *, es mejor escribir los nombres de los campos
  17.     $resultado=mysql_query($sql,$ienlace) or die (mysql_error());
  18.     if(mysql_num_rows($resultado) > 0){
  19.         $registro = mysql_result($resultado,0);
  20.         //tenias un campo mas que se intenta insertar pero no lo especificabas que era el de edad          
  21.         $inserta= 'INSERT INTO alumnos (nombre,apellido_p,apellido_m,fecha_nac,usuario,password) values ("'.$registro['nombre'].'","'.$registro['apellido_p'].'","'.$registro['apellido_m'].'","'.$registro['fecha_nac'].'","'.$registro ['usuario_temp'].'","'.$registro ['password'].'")';
  22.         if(mysql_query($inserta,$ienlace)){
  23.             echo "<h1>Tu cuenta ha sido activada correctamente</h1>";
  24.             $sql = "DELETE FROM alumnos_temp WHERE txt_Activ = '$clave'";
  25.             mysql_query($sql,$ienlace);
  26.         }else{
  27.             echo "<h1 style=color:red>Tu cuenta NO ha sido activada correctamente</h1>";
  28.         }
  29.     }else{
  30.         echo "<h2>Los datos proporcionados no son los correctos.</h2>";
  31. }
  32. mysql_free_result($resultado);  
pero con esto debe quedar, sin embargo lo del error 500 es un problema directo del servidor.

saludos
pues se está ejecutando pero directamente se va al echo final de "los datos proporcionados no son los correctos, pero le estoy pasando el valor correcto al probar ej: activar.php?id=(el valor que tengo en la BD)

Alguna idea de que pueda estarme fallando?

Saludos y gracias
  #20 (permalink)  
Antiguo 28/01/2012, 13:04
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

el diferente no es <> lo correcto es !=, puff como no me di cuenta antes
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #21 (permalink)  
Antiguo 28/01/2012, 13:06
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

Cita:
Iniciado por leoagm Ver Mensaje
Probé el código que me proporcionaste pero no dio resultado. De hecho la página se queda en blanco
laconneccion de base de datos tiene que guadar en una pagina como he moncionado ante y despuess la funciones en otra
en una tersera llamas a las funcciones si los include no son correctos saldra en blanco
__________________
cada vez que aprendes algo te crees que no sabes nada
  #22 (permalink)  
Antiguo 28/01/2012, 13:15
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

Cita:
Iniciado por eits Ver Mensaje
el diferente no es <> lo correcto es !=, puff como no me di cuenta antes
Será en javascript porque en PHP hacen lo mismo

http://www.php.net/manual/es/languag...comparison.php
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #23 (permalink)  
Antiguo 28/01/2012, 13:26
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

Cita:
Iniciado por arros Ver Mensaje
laconneccion de base de datos tiene que guadar en una pagina como he moncionado ante y despuess la funciones en otra
en una tersera llamas a las funcciones si los include no son correctos saldra en blanco
Probe el código tal cual me lo pasaste con los datos de conexión como los tengo (usuario password, etc).

Cita:
Iniciado por eits Ver Mensaje
el diferente no es <> lo correcto es !=, puff como no me di cuenta antes
ya probe poniéndolo de todos modos como != y tampoco.

Ahora, no se si el error sera en el servidor que tengo contratado porque recien hice la consulta del select directamente en mysql y me dice que no hay ninguna fila con el valor "id" pero el valor lo copie directamente de la BD para hacer la consulta y no tener errores de dedo al escribirla. Probe haciendo la consulta tanto con los nombres de campos separados por comas, como con comillas simples y comas y con el *, en todos los casos me regreso "MySQL ha devuelto un valor vacío (i.e., cero columnas)"
  #24 (permalink)  
Antiguo 28/01/2012, 14:33
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: array usando mysql_fetch para pasar datos de una tabla a otra

De esas cosas que uno no entiende elimine las bases de datos y las cree desde cero y al final me funciono tu código arros :)

Tu código eits funciona pero parcialmente porque solo pasa el primer caracter del primer campo y ese sobrescribe en todos los demás.

Les agradezco a todos su invaluable ayuda. Para los que estamos comenzando en el mundo del php contar con la guía de los que tienen más experiencia es de mucha ayuda.

Saludos y gracias!

Etiquetas: mysql_fetch_array, while()
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




La zona horaria es GMT -6. Ahora son las 14:18.