PHP - Tomar ID de sesión e insertarlo en otra tabla

 
Vista:

Tomar ID de sesión e insertarlo en otra tabla

Publicado por Miguel (16 intervenciones) el 09/09/2016 03:56:31
Buen día, agradecería si me pudieran orientar en este caso:

Tengo una página en la que los usuarios ya registrados deben llenar un formulario, lo que requiero es que en la base de datos me coloque en una tabla el ID de ese usuario (ese iD ya se encuentra en otra tabla).

Este es el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php session_start(); ?>
<?php
    session_start();
    include('acceso_db.php');
    if(isset($_SESSION['usuario_nombre'])) {
?>
 
 $reg = mysql_query("INSERT INTO cuentas_cr(cuentas_cr_Nivel, cuentas_cr_Arena, cuentas_cr_CN, cuentas_cr_CR, cuentas_cr_CE, cuentas_cr_CL) VALUES ('".$_POST['cuentas_cr_Nivel']."' , '".$_POST['cuentas_cr_Arena']."' , '".$_POST['cuentas_cr_CN']."' , '".$_POST['cuentas_cr_CR']."' , '".$_POST['cuentas_cr_CE']."' , '".$_POST['cuentas_cr_CL']."')");
	                if($reg) {
	                    echo "<script language='javascript'>window.location='cuentas_cr.php'</script>";
	                }else {
	                    echo "ha ocurrido un error y no se registraron los datos.";
	                }
	        }
	    }else {
	?>

Alguna sugerencia del código que tengo que agregar para tomar el ID del usuario registrado e insertarlo en la tabla "cuentas_cr" ??

Gracias anticipadas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Tomar ID de sesión e insertarlo en otra tabla

Publicado por kip (877 intervenciones) el 09/09/2016 04:49:14
Hola, tienes dos opciones:

En el inicio de sesión del usuario almacenar tal como lo haces con $_SESSION['usuario_nombre'] el ID de este, luego simplemente lo tomas como una variable cualquiera y lo ingresas.

Tambien puedes en lugar de almacenar la ID en la variable de $_SESSION, es consultarla desde la base de datos colocando como parametro en la clausula WHERE el nombre de usuario que ya tienes previamente almacenado.

Te recomiendo la primera, es mas práctica.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tomar ID de sesión e insertarlo en otra tabla

Publicado por Miguel (16 intervenciones) el 09/09/2016 20:41:52
Gracias por la respuesta, le intentaré por ahí a ver si me sale
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tomar ID de sesión e insertarlo en otra tabla

Publicado por Miguel (16 intervenciones) el 09/09/2016 21:22:10
Muchas gracias Kip, era demasiado sencillo pero estuve 3 semanas investigando de una manera más global y no le hallé nunca.
Me lo respondiste de una manera muy sencilla y así pude ver lo fácil que era:

1
2
3
$recid = $_SESSION['usuario_id'];
 
	             $reg = mysql_query("INSERT INTO cuentas_cr(usuario_id, cuentas_cr_Nivel, cuentas_cr_Arena, cuentas_cr_CN, cuentas_cr_CR, cuentas_cr_CE, cuentas_cr_CL) VALUES ($recid, '".$_POST['cuentas_cr_Nivel']."' , '".$_POST['cuentas_cr_Arena']."' , '".$_POST['cuentas_cr_CN']."' , '".$_POST['cuentas_cr_CR']."' , '".$_POST['cuentas_cr_CE']."' , '".$_POST['cuentas_cr_CL']."')");

Sólo creé la variable $recid y la puse en los VALUES, así directo y me funcionó a la primera.
Sobra decir que sé muy poco de programación así que nuevamente muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Tomar ID de sesión e insertarlo en otra tabla

Publicado por Miguel (16 intervenciones) el 10/09/2016 00:41:48
Sabrás qué está mal en este código? Ya había quedado bien, ya me guardaba en la base de datos el ID de quien llenaba el formulario pero de repente dejó de funcionar, sólo agregué en el form el espacio para el costo, según yo no le moví nada crítico, te dejo el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$recid = $_SESSION['usuario_id'];
 
	             $reg = mysql_query("INSERT INTO cuentas_cr(usuario_id, cuentas_cr_Nivel, cuentas_cr_Arena, cuentas_cr_CN, cuentas_cr_CR, cuentas_cr_CE, cuentas_cr_CL, cuentas_cr_Costo) VALUES ($recid, '".$_POST['cuentas_cr_Nivel']."' , '".$_POST['cuentas_cr_Arena']."' , '".$_POST['cuentas_cr_CN']."' , '".$_POST['cuentas_cr_CR']."' , '".$_POST['cuentas_cr_CE']."' , '".$_POST['cuentas_cr_CL']."' , '".$_POST['cuentas_cr_Costo']."')");
	                if($reg) {
	                    echo "<script language='javascript'>window.location='cuentas_cr.php'</script>";
	                }else {
	                    echo "ha ocurrido un error y no se registraron los datos.";
	                }
	        }
	    }else {
	?>
 
    	<p>Bienvenido <strong><?=$_SESSION['usuario_nombre']?></strong> favor de llenar el formulario con los datos de tu cuenta de Clash Royal</p>
 
		<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
		    <label>Nivel de Cuenta:</label><br />
		    <input type="number" name="cuentas_cr_Nivel" maxlength="15" /><br />
		    <label>Arena:</label><br />
		    <input type="number" name="cuentas_cr_Arena" maxlength="15" /><br />
		    <label>Cartas Normales:</label><br />
		    <input type="text" name="cuentas_cr_CN" maxlength="15" /><br />
			<label>Cartas Raras:</label><br />
		    <input type="text" name="cuentas_cr_CR" maxlength="15" /><br />
            <label>Cartas Épicas:</label><br />
		    <input type="text" name="cuentas_cr_CE" maxlength="15" /><br />
            <label>Cartas Legendarias:</label><br />
		    <input type="text" name="cuentas_cr_CL" maxlength="15" /><br />
            <label>Costo:</label><br />
		    <input type="number" name="cuentas_cr_Costo" maxlength="15" /><br />
		    <input type="submit" name="enviar" value="Enviar" />
		    <input type="reset" value="Borrar" />
		</form>
	<?php
	    }
	?>

Te agradezco desde ahorita.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar