Foros del Web » Programando para Internet » PHP »

Insertar el usuario en una BD

Estas en el tema de Insertar el usuario en una BD en el foro de PHP en Foros del Web. Hola de nuevo a todos; He creado un formulario y lo que necesitaria hacer es que al insertar los registros me incluya en la inserción ...
  #1 (permalink)  
Antiguo 10/01/2009, 14:55
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 9 meses
Puntos: 5
Insertar el usuario en una BD

Hola de nuevo a todos;
He creado un formulario y lo que necesitaria hacer es que al insertar los registros me incluya en la inserción el usuario que lo inserta.
El usuario esta registrado y accede a esta pagina con su variable de sesion.
Alguien que me pueda decir que debo de hacer en el formulario para que me coja esa variable de sesion y la inserte en un campo que he creado en la BD?
Gracias
  #2 (permalink)  
Antiguo 10/01/2009, 14:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Insertar el usuario en una BD

Pues más bien tu lo tienes que hacer, no lo hace la BD solito, tienes que hacer algo así:
Código php:
Ver original
  1. <?php
  2. $sQuery = "INSERT INTO datos (id_usuario, col1, col2, col3) VALUES ('{$_SESSION['id_usuario']}', '$col1', '$col2', '$col3' )";

Saludos
  #3 (permalink)  
Antiguo 10/01/2009, 15:15
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 9 meses
Puntos: 5
Respuesta: Insertar el usuario en una BD

Perdona pero no me aclaro, este es el codigo que yo tengo.
<form id="informacion" name="informacion" method="POST" action="<?php echo $editFormAction; ?>">
<table width="614" border="1">
<tr>
<td width="4">&nbsp;</td>
<td width="594"><input name="usuario" type="hidden" id="usuario" value="'MM_Username'" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><textarea name="texto" id="texto" cols="100" rows="20"></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><label>
<input type="submit" name="button" id="button" value="Enviar" />
</label></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="informacion" />
</form>
Como y donde deberia de meter el codigo?

Perdona, pero es que soy un poco novato en esto del php, auqnue avanzo mucho gracias a las ayudas de los foros.

Un saludo
  #4 (permalink)  
Antiguo 10/01/2009, 15:24
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 10 meses
Puntos: 36
Respuesta: Insertar el usuario en una BD

No es necesario que pongas en el form el nombre de usuario, haz como hice GatorV que directamente lo pone en la consulta SQL.
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #5 (permalink)  
Antiguo 10/01/2009, 16:02
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 9 meses
Puntos: 5
Respuesta: Insertar el usuario en una BD

No me sale, uso dreamweaver y el codigo que me da es este

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "informacion")) {
$insertSQL = sprintf("INSERT INTO informacion (texto) VALUES ({$_SESSION[usuario]},%s)",
GetSQLValueString($_POST['texto'], "text"));

este comando {$_SESSION[usuario]} lo he puesto yo, pero no me inserta el usuario en la BD, seguramente por que no esta bien escrito.
Un saludo
  #6 (permalink)  
Antiguo 10/01/2009, 16:44
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 10 meses
Puntos: 36
Respuesta: Insertar el usuario en una BD

Pusiste session_start(); al comienzo de la página?
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #7 (permalink)  
Antiguo 10/01/2009, 16:50
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 9 meses
Puntos: 5
Respuesta: Insertar el usuario en una BD

si, he revisado el codigo y te pongo lo que deberia de haber, supongo que lo que esta mal puesto es el codigo de sesion, por si te sirve de ayuda, el usuario coje la variable MM_Username

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "informacion")) {
$insertSQL = sprintf("INSERT INTO informacion (usuario, texto) VALUES (%s, %s)",
GetSQLValueString($_POST['dfgh'], "text"),
GetSQLValueString($_POST['$_SESSION[usuario]'], "text"));

Gracias de nuevo
  #8 (permalink)  
Antiguo 10/01/2009, 19:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Insertar el usuario en una BD

En lugar de usar GetSQLValueString($_POST['$_SESSION[usuario]'], "text"), usa $_SESSION['MM_Username'].

Saludos.
  #9 (permalink)  
Antiguo 11/01/2009, 15:07
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 9 meses
Puntos: 5
Respuesta: Insertar el usuario en una BD

no me funciona el codigo, seguramente habrá que escribirlo de otra forma. recalco que lo estoy haciendo con dreamweaver.
saludos
  #10 (permalink)  
Antiguo 11/01/2009, 15:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Insertar el usuario en una BD

Pues depende de como lo hayas escrito en el código, el caso es que tienes que insertar $_SESSION['MM_Username'], para que quede asignado.

Saludos
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 13:04.