Foros del Web » Programando para Internet » PHP »

inserta datos a la misma fila de base de datos

Estas en el tema de inserta datos a la misma fila de base de datos en el foro de PHP en Foros del Web. inserta datos a la misma fila de una tabla de una base de datos hola a todos me gustaria saver se puedo agregar un dato ...

  #1 (permalink)  
Antiguo 30/12/2013, 06:41
andaluz7
Invitado
 
Mensajes: n/a
Puntos:
inserta datos a la misma fila de base de datos

inserta datos a la misma fila de una tabla de una base de datos

hola a todos me gustaria saver se puedo agregar un dato a la miosma fila de base de datos
es dicir que tengo una base de datos de usuarios que tene

nombre
password
email
facebook


ahora el usuario registrado tene todos los campos llenos( nombre-passwors-email)
pero le falta el facebook, y yo quiero que suba el su facebook con un formulario
y lo sube a la misma fila donde tene el nombre y el password y el email registrados

Última edición por andaluz7; 30/12/2013 a las 06:56
  #2 (permalink)  
Antiguo 30/12/2013, 06:58
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: inserta datos a la misma fila de base de datos

Haces un update u insert... supongamos un update..

Código PHP:
Ver original
  1. <form action="" method="POST">
  2. <input type="email" name="facebook" placeholder="Facebook">
  3. <input type="submit" name="guardar" value="Guardar">
  4. </form>
  5.  
  6. <?php
  7. if(isset($_POST['guardar'])){
  8.       $facebook = utf8_decode(mysqli_real_escape_string($conexion, $_POST['facebook']));
  9.       if($facebook == ''){
  10.               echo "Rellene el campo facebook";
  11.       }
  12.       else{
  13.                $update = mysqli_query($conexion, "UPDATE tabla SET facebook = '".$facebook."' WHERE usuario = '".$_SESSION['usuario']."'")or die(mysqli_error($conexion));
  14.                 echo "Los datos han sido guardado correctamente";
  15.       }
  16. }
  17. ?>

Lo adaptas a tu código.
Saludos.
  #3 (permalink)  
Antiguo 30/12/2013, 07:22
andaluz7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: inserta datos a la misma fila de base de datos

gracias voy a avereguar esto

Última edición por andaluz7; 30/12/2013 a las 07:29
  #4 (permalink)  
Antiguo 30/12/2013, 07:30
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: inserta datos a la misma fila de base de datos

Cambia esta línea:

Código PHP:
Ver original
  1. $facebook = utf8_decode(mysqli_real_escape_string($conexion, $_POST['facebook']));

Por esta:

Código PHP:
Ver original
  1. $facebook = utf8_decode(mysqli_real_escape_string($_POST['facebook']));

Prueba antes a adaptar el código... por que la viriable $conexion es un ejemplo debes poner tu variable de conexion...
------------------------------------------------------------------------------------------------
Y si no da resultado,
cambia tu

mysqli por mysql
por que es como estás usando en tu código.
  #5 (permalink)  
Antiguo 30/12/2013, 08:11
andaluz7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: inserta datos a la misma fila de base de datos

esto me sube el facebook pero como un usuarios nuevo
usuario_nombre: vacio
usuario_clave: vacio
usuario_emai: vacio
facebook: juan@facebook

pero quiero que suba a una fila ya registrada que le falta solo el facebook

ejemplo

usuario_ nombre: juan
usuario_clave: la clave
email: [email protected]
facebook: falta solo el face book


este es el codigo



Código PHP:
Ver original
  1. $facebook = mysql_real_escape_string($_POST['facebook']);
  2.             // comprobamos que el usuario ingresado no haya sido registrado antes
  3.             $sql = mysql_query("SELECT usuario_nombre FROM usuarios WHERE usuario_nombre='".$usuario_nombre."'");
  4.             if(mysql_num_rows($sql) > 0) {
  5.            
  6.                 // ingresamos los datos a la BD
  7.                 $reg = mysql_query("INSERT INTO usuarios ( facebook, usuario_freg) VALUES ( '".$facebook."', NOW())");
  8.                 if($reg) {
  9.                     echo "Datos ingresados correctamente.";
  10.                 }else {
  11.                     echo "ha ocurrido un error y no se registraron los datos.";
  12.                 }
  13.             }
  14.         }
  15.     }else {
  16. ?>
  17.  
  18. <html>
  19.  
  20. <head>
  21.  
  22.         <title>Registro de Usuarios</title>
  23.        
  24.        
  25.        
  26. </head>
  27.  
  28. <body>
  29.  
  30.    
  31.  
  32.     <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  33.        
  34.        
  35.  
  36.  
  37.         <label>facebook:</label><br />
  38.         <input type="text" name="facebook" maxlength="50" /><br />
  39.         <input type="submit" name="enviar" value="Registrar" />
  40.         <input type="reset" value="Borrar" />
  41.     </form>
  42.     <br />
  43.         <br />
  44.             <br />
  45. <?php
  46.     }
  47. ?>
  48.  
  49. </body>
  50.  
  51. </html>
  #6 (permalink)  
Antiguo 30/12/2013, 08:24
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: inserta datos a la misma fila de base de datos

Es lo que te comente arriba haces un update a esa columna.

Código PHP:
Ver original
  1. $consulta = mysqli_query($conexion, "UPDATE tabla SET facebook = '".$facebook."' WHERE usuario = '".$_SESSION['usuario']."'")or die(mysqli_error($conexion));

Y si no tienes sistema de usuarios osea que es lo que se supone que ha de tener...
en ves de indicar usuario = '".$_SESSION['usuario']."' especifica un usuario en concreto por ejemplo usuario = 'juan' o id = '1'

Saludos.
  #7 (permalink)  
Antiguo 30/12/2013, 08:31
andaluz7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: inserta datos a la misma fila de base de datos

hola me sale este mensaje de error

Warning: mysqli_error() expects parameter 1 to be mysqli, null given in C:\AppServ\www\pre\perfil.php on line 85



Código PHP:
Ver original
  1. $facebook = mysql_real_escape_string($_POST['facebook']);
  2.             // comprobamos que el usuario ingresado no haya sido registrado antes
  3.             $sql = mysql_query("SELECT usuario_nombre FROM usuarios WHERE usuario_nombre='".$usuario_nombre."'");
  4.             if(mysql_num_rows($sql) > 0) {
  5.            
  6.                 // ingresamos los datos a la BD
  7.                 $consulta = mysqli_query($conexion, "UPDATE tabla SET facebook = '".$facebook."' WHERE usuario = '".$_SESSION['usuario']."'")or die(mysqli_error($conexion));
  8.                 if($reg) {
  9.                     echo "Datos ingresados correctamente.";
  10.                 }else {
  11.                     echo "ha ocurrido un error y no se registraron los datos.";
  12.                 }
  13.             }
  14.         }
  15.     }else {
  16. ?>
  17.  
  18. <html>
  19.  
  20. <head>
  21.  
  22.         <title>Registro de Usuarios</title>
  23.        
  24.        
  25.        
  26. </head>
  27.  
  28. <body>
  29.  
  30.    
  31.  
  32.     <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  33.        
  34.        
  35.  
  36.  
  37.         <label>facebook:</label><br />
  38.         <input type="text" name="facebook" maxlength="50" /><br />
  39.         <input type="submit" name="enviar" value="Registrar" />
  40.         <input type="reset" value="Borrar" />
  41.     </form>
  42.     <br />
  43.         <br />
  44.             <br />
  45. <?php
  46.     }
  47. ?>
  48.  
  49. </body>
  50.  
  51. </html>
  #8 (permalink)  
Antiguo 30/12/2013, 08:34
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: inserta datos a la misma fila de base de datos

No combines las funciones de mysql_* con las de mysqli_* ya que son completamente desitintas, Además lo mejor es que trabajes unicamente con las funciones de mysqli_*

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #9 (permalink)  
Antiguo 30/12/2013, 08:55
andaluz7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: inserta datos a la misma fila de base de datos

gracias es que no me sale
el usuarios registrado le falta solo el facebook como hago para subirle el facebook a su fila
que tene ( el nombre - password-el email) pero el facebook no que hago un update con un formulario
perdonen por la molestias
  #10 (permalink)  
Antiguo 30/12/2013, 09:03
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: inserta datos a la misma fila de base de datos

Te estoy dando los resultados arriba...

¿Para ponerle un facebook el usuario tiene que estar loggueado cierto?.
Echa un vistazo a lo que comente.

Saludos.
  #11 (permalink)  
Antiguo 30/12/2013, 09:23
andaluz7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: inserta datos a la misma fila de base de datos

si el usuario esta loqueado y el formulario esta en su perfil para que suba su facebook a la misma fila de la base de datos que tene su nombre y password y email

y asi no me sale
sale un error

Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in C:\AppServ\www\pre\perfil.php on line 61
Rellene el campo facebook




el codigo es este


Código PHP:
Ver original
  1. <? include 'acceso_db.php'; ?>
  2. <? $perfil = mysql_query("SELECT * FROM usuarios WHERE usuario_id='".$_GET['id']."'") or die(mysql_error());
  3.     if(mysql_num_rows($perfil)) { // Comprobamos que exista el registro con la ID ingresada
  4.         $row = mysql_fetch_array($perfil);
  5.         $usuario_id = $row["usuario_id"];
  6.         $usuario_nombre = $row["usuario_nombre"];
  7.                 $usuario_email = $row["usuario_email"];
  8.                 $usuario_freg = $row["usuario_freg"];
  9.                 $facebook = $row["facebook"];
  10.                 $twitter = $row["twitter"];
  11.                 $avatar = $row["avatar"];
  12. ?>
  13.  
  14. <html>
  15.  
  16. <head>
  17.            <title>Perfil de <?=$usuario_nombre?> | Tu web</title>
  18. </head>
  19.  
  20. <body>
  21.  
  22. <h2><? echo $nombre ?></h2>
  23.  
  24. <div id="menu">
  25.     <a href="usuarios.php">Usuarios</a> |
  26.     <a href="acceso.php">Acceso-Portal</a>
  27. </div>
  28.  
  29. <h2>Perfil de <?=$usuario_nombre?></h2>
  30.  
  31. <img src="<?=$avatar?>" width="200" height="200" />
  32.  
  33. <p>Email: <?=$usuario_email?></p>
  34. <p>Fecha de registro: <?=$usuario_freg?></p>
  35.  
  36.  
  37. </body>
  38.  
  39. </html>
  40.  
  41. <? } else { ?>
  42.  
  43.      <p>El usuario o perfil que buscas no existe .-.</p>
  44.       <a href="usuarios.php"><button>Lista de usuarios</button></a>
  45.  
  46. <? } ?>
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.   <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  54. <input type="email" name="facebook" placeholder="Facebook">
  55. <input type="submit" name="guardar" value="Guardar">
  56. </form>
  57.  
  58. <?php
  59. if(isset($_POST['guardar'])){
  60.       $facebook = utf8_decode(mysqli_real_escape_string($conexion, $_POST['facebook']));
  61.       if($facebook == ''){
  62.               echo "Rellene el campo facebook";
  63.       }
  64.       else{
  65.                $update = mysqli_query($conexion, "UPDATE tabla SET facebook = '".$facebook."' WHERE usuario = '".$_SESSION['usuario']."'")or die(mysqli_error($conexion));
  66.                 echo "Los datos han sido guardado correctamente";
  67.       }
  68. }
  69. ?>
  #12 (permalink)  
Antiguo 30/12/2013, 09:27
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: inserta datos a la misma fila de base de datos

Te comenté también arriba que adaptarás el código... la variable de conexión..

Y que pasases de mysqli a mysql...
Osea quitandole la "i"

Saludos.
  #13 (permalink)  
Antiguo 30/12/2013, 09:43
andaluz7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: inserta datos a la misma fila de base de datos

gracias he hecho lo que parece pero no me sale

me sale este error

Warning: mysql_real_escape_string() expects parameter 2 to be resource, string given in C:\AppServ\www\pre\perfil.php on line 61
Rellene el campo facebook


Código PHP:
Ver original
  1. <? include 'acceso_db.php'; ?>
  2. <? $perfil = mysql_query("SELECT * FROM usuarios WHERE usuario_id='".$_GET['id']."'") or die(mysql_error());
  3.     if(mysql_num_rows($perfil)) { // Comprobamos que exista el registro con la ID ingresada
  4.         $row = mysql_fetch_array($perfil);
  5.         $usuario_id = $row["usuario_id"];
  6.         $usuario_nombre = $row["usuario_nombre"];
  7.                 $usuario_email = $row["usuario_email"];
  8.                 $usuario_freg = $row["usuario_freg"];
  9.                 $facebook = $row["facebook"];
  10.                 $twitter = $row["twitter"];
  11.                 $avatar = $row["avatar"];
  12. ?>
  13.  
  14. <html>
  15.  
  16. <head>
  17.            <title>Perfil de <?=$usuario_nombre?> | Tu web</title>
  18. </head>
  19.  
  20. <body>
  21.  
  22. <h2><? echo $nombre ?></h2>
  23.  
  24. <div id="menu">
  25.     <a href="usuarios.php">Usuarios</a> |
  26.     <a href="acceso.php">Acceso-Portal</a>
  27. </div>
  28.  
  29. <h2>Perfil de <?=$usuario_nombre?></h2>
  30.  
  31. <img src="<?=$avatar?>" width="200" height="200" />
  32.  
  33. <p>Email: <?=$usuario_email?></p>
  34. <p>Fecha de registro: <?=$usuario_freg?></p>
  35.  
  36.  
  37. </body>
  38.  
  39. </html>
  40.  
  41. <? } else { ?>
  42.  
  43.      <p>El usuario o perfil que buscas no existe .-.</p>
  44.       <a href="usuarios.php"><button>Lista de usuarios</button></a>
  45.  
  46. <? } ?>
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.   <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  54. <input type="email" name="facebook" placeholder="Facebook">
  55. <input type="submit" name="guardar" value="Guardar">
  56. </form>
  57.  
  58. <?php
  59. if(isset($_POST['guardar'])){
  60.       $facebook = utf8_decode(mysql_real_escape_string($conexion, $_POST['facebook']));
  61.       if($facebook == ''){
  62.               echo "Rellene el campo facebook";
  63.       }
  64.       else{
  65.                $update = mysql_query($conexion, "UPDATE tabla SET facebook = '".$facebook."' WHERE usuario = '".$_SESSION['usuario']."'")or die(mysqli_error($conexion));
  66.                 echo "Los datos han sido guardado correctamente";
  67.       }
  68. }
  69. ?>
  #14 (permalink)  
Antiguo 30/12/2013, 09:46
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: inserta datos a la misma fila de base de datos

¿Has editado esta línea?

Código PHP:
Ver original
  1. $update = mysql_query($conexion, "UPDATE tabla SET facebook = '".$facebook."' WHERE usuario = '".$_SESSION['usuario']."'")or die(mysqli_error($conexion));

Por que

UPDATE tabla

Es un ejemplo...
Debes poner el tuyo.

Ose si tienes..

datos

y dentro:

usuario,password,email,facebook,

Pues pones datos.

Saludos.
  #15 (permalink)  
Antiguo 30/12/2013, 09:49
andaluz7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: inserta datos a la misma fila de base de datos

gracias y puesto

esto


Código PHP:
Ver original
  1. $update = mysql_query($conexion, "UPDATE usuarios SET facebook = '".$facebook."' WHERE usuario = '".$_SESSION['usuario']."'")or die(mysqli_error($conexion));
  2.                 echo "Los datos han sido guardado correctamente";



pero me sale esto

Warning: mysql_real_escape_string() expects parameter 2 to be resource, string given in C:\AppServ\www\pre\perfil.php on line 61
Rellene el campo facebook
  #16 (permalink)  
Antiguo 30/12/2013, 09:51
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: inserta datos a la misma fila de base de datos

¿Te sirve o te sigue dando algún error?
Coméntamos.

Y también revisa el WHERE usuario = '".$_SESSION['usuario']."'
es otro ejemplo lo has de adaptar a la variable de tu login.

Saludos.
  #17 (permalink)  
Antiguo 30/12/2013, 09:56
andaluz7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: inserta datos a la misma fila de base de datos

me da este error


Warning: mysql_real_escape_string() expects parameter 2 to be resource, string given in C:\AppServ\www\pre\perfil.php on line 61
Rellene el campo facebook
  #18 (permalink)  
Antiguo 30/12/2013, 10:08
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: inserta datos a la misma fila de base de datos

Prueba a hacer esto:

Código PHP:
Ver original
  1. if(isset($_POST['guardar'])){
  2.       if($_POST['facebook'] == ''){
  3.              echo "Rellena el campo facebook";
  4.       }
  5.       else{
  6.              $update = mysql_query($conexion, "UPDATE usuarios SET facebook = '".$facebook."' WHERE usuario = '".$_SESSION['usuario']."'")or die(mysqli_error($conexion));
  7.                 echo "Los datos han sido guardado correctamente";
  8.       }
  9. }

Saludos.
  #19 (permalink)  
Antiguo 30/12/2013, 10:14
andaluz7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: inserta datos a la misma fila de base de datos

perdona la molestia
me sale ahora este error


Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\AppServ\www\pre\perfil.php on line 64

Warning: mysqli_error() expects parameter 1 to be mysqli, null given in C:\AppServ\www\pre\perfil.php on line 64
  #20 (permalink)  
Antiguo 30/12/2013, 10:31
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: inserta datos a la misma fila de base de datos

Comparte todo el código al completo.
Para echarle un ojo.

Saludos.
  #21 (permalink)  
Antiguo 30/12/2013, 10:31
andaluz7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: inserta datos a la misma fila de base de datos

hola gracias por responderme con esto no me da ningun error
pero el facebook no sube a la tabla


<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<input type="email" name="facebook" placeholder="Facebook">
<input type="submit" name="guardar" value="Guardar">
</form>

<?php
if(isset($_POST['enviar'])){
$facebook = utf8_decode(mysqli_real_escape_string($conexion, $_POST['facebook']));
if($facebook == ''){
echo "Rellene el campo facebook";
}
else{
$update = mysqli_query($conexion, "UPDATE usuarios SET facebook = '".$facebook."' WHERE usuario = '".$_SESSION['usuario']."'")or die(mysqli_error($conexion));
echo "Los datos han sido guardado correctamente";
}
}
?>
  #22 (permalink)  
Antiguo 30/12/2013, 10:33
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: inserta datos a la misma fila de base de datos

Prueba esto:

Código PHP:
Ver original
  1. <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  2. <input type="email" name="facebook" placeholder="Facebook">
  3. <input type="submit" name="guardar" value="Guardar">
  4. </form>
  5.  
  6. <?php
  7. if(isset($_POST['guardar'])){
  8. $facebook = utf8_decode(mysqli_real_escape_string($conexion, $_POST['facebook']));
  9. if($facebook == ''){
  10. echo "Rellene el campo facebook";
  11. }
  12. else{
  13. $update = mysqli_query($conexion, "UPDATE usuario SET facebook = '".$facebook."' WHERE usuario = '".$_SESSION['usuario']."'")or die(mysqli_error($conexion));
  14. echo "Los datos han sido guardado correctamente";
  15. }
  16. }
  17. ?>

Osea lo que he echo es cambiarle el nombre al isset... tenía enviar en ves de guardar.

Saludos.
  #23 (permalink)  
Antiguo 30/12/2013, 10:37
andaluz7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: inserta datos a la misma fila de base de datos

se lo pongo con guardar sale el error
pero se lo pongo enviar no sale el error pero ni sube el facebook

con enviar no sale el error
r
Código PHP:
Ver original
  1. <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  2. <input type="email" name="facebook" placeholder="Facebook">
  3. <input type="submit" name="guardar" value="Guardar">
  4. </form>
  5.  
  6. <?php
  7. if(isset($_POST['enviar'])){
  8. $facebook = utf8_decode(mysqli_real_escape_string($conexion, $_POST['facebook']));
  9. if($facebook == ''){
  10. echo "Rellene el campo facebook";
  11. }
  12. else{
  13. $update = mysqli_query($conexion, "UPDATE usuarios SET facebook = '".$facebook."' WHERE usuario = '".$_SESSION['usuario']."'")or die(mysqli_error($conexion));
  14. echo "Los datos han sido guardado correctamente";
  15. }
  16. }
  17. ?>
  #24 (permalink)  
Antiguo 30/12/2013, 10:46
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: inserta datos a la misma fila de base de datos

Ya te dije antes también que lo adaptaras a tu código mysql.

Y que probases a poner:

Código PHP:
Ver original
  1. if(isset($_POST['guardar'])){
  2.       if($_POST['facebook'] == ''){
  3.              echo "Rellena el campo facebook";
  4.       }
  5.       else{
  6.               //la consulta
  7.        }
  8. }

Saludos.
  #25 (permalink)  
Antiguo 31/12/2013, 06:28
andaluz7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: inserta datos a la misma fila de base de datos

no hay manera no se si es dificil esto amigo pero no puedo subir una palabra a una fila de la tabla de usuarios y puesto esto y no hay maner yo quiero del perfil de usuarios suba un palabra(facebook) a su fila registrad ( el nombre .el password.el email......) y falta solo facebook y quiero que lo suba atraves de un formulario que es este y no puedo




Código PHP:
Ver original
  1. <form action="<?=$_SERVER['PHP_SELF']?>" method="enviar">
  2. <input type="facebook" name="facebook" placeholder="Facebook">
  3. <input type="submit" name="guardar" value="Guardar">
  4. </form>
  5.  
  6. <?php
  7. if(isset($_POST['enviar'])){
  8. $facebook = utf8_decode(mysqli_real_escape_string($conexion, $_POST['facebook']));
  9. if($facebook == ''){
  10. echo "Rellene el campo facebook";
  11. }
  12. else{
  13. $update = mysqli_query($conexion, "UPDATE usuarios SET facebook = '".$facebook."' WHERE usuario_nombre = '".$_SESSION['usuario_nombre']."'")or die(mysqli_error($conexion));
  14. echo "Los datos han sido guardado correctamente";
  15. }
  16. }
  17. ?>
  #26 (permalink)  
Antiguo 31/12/2013, 06:35
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: inserta datos a la misma fila de base de datos

Parte de tu código está en mysql, y ese está en mysqli pasalo a mysql. Y adaptalo.

Saludos y comenta el error.
  #27 (permalink)  
Antiguo 31/12/2013, 06:56
andaluz7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: inserta datos a la misma fila de base de datos

no sale ningun mensaje de error pero no sube





vale este es el registro.php
atraves de este registro subo los datos del usuario a la tabla usuarios de base de datos fomy
subo todo menos el facebooky otras cosas

registro,php

Código PHP:
Ver original
  1. <?php
  2.     include('acceso_db.php'); // incluimos el archivo de conexión a la Base de Datos
  3.     if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos desde el formulario
  4.         // creamos una función que nos parmita validar el email
  5.         function valida_email($correo) {
  6.             if (eregi("^[_.0-9a-z-]+@[0-9a-z._-]+.[a-z]{2,4}$", $correo)) return true;
  7.             else return false;
  8.         }
  9.         // Procedemos a comprobar que los campos del formulario no estén vacíos
  10.         $sin_espacios = count_chars($_POST['usuario_nombre'], 1);
  11.         if(!empty($sin_espacios[32])) { // comprobamos que el campo usuario_nombre no tenga espacios en blanco
  12.             echo "El campo <em>usuario_nombre</em> no debe contener espacios en blanco. <a href='javascript:history.back();'>Reintentar</a>";
  13.         }elseif(empty($_POST['usuario_nombre'])) { // comprobamos que el campo usuario_nombre no esté vacío
  14.             echo "No haz ingresado tu usuario ._.<a href='javascript:history.back();'>Reintentar</a>";
  15.         }elseif(empty($_POST['usuario_clave'])) { // comprobamos que el campo usuario_clave no esté vacío
  16.             echo "No haz ingresado contraseña. <a href='javascript:history.back();'>Reintentar</a>";
  17.         }elseif($_POST['usuario_clave'] != $_POST['usuario_clave_conf']) { // comprobamos que las contraseñas ingresadas coincidan
  18.             echo "Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a>";
  19.         }elseif(!valida_email($_POST['usuario_email'])) { // validamos que el email ingresado sea correcto
  20.             echo "El email ingresado no es válido. <a href='javascript:history.back();'>Reintentar</a>";
  21.         }else {
  22.             // "limpiamos" los campos del formulario de posibles códigos maliciosos
  23.             $usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
  24.             $usuario_clave = mysql_real_escape_string($_POST['usuario_clave']);
  25.             $usuario_email = mysql_real_escape_string($_POST['usuario_email']);
  26.             // comprobamos que el usuario ingresado no haya sido registrado antes
  27.             $sql = mysql_query("SELECT usuario_nombre FROM usuarios WHERE usuario_nombre='".$usuario_nombre."'");
  28.             if(mysql_num_rows($sql) > 0) {
  29.                 echo "El nombre usuario elegido ya ha sido registrado anteriormente. <a href='javascript:history.back();'>Reintentar</a>";
  30.             }else {
  31.                 $usuario_clave = md5($usuario_clave); // encriptamos la contraseña ingresada con md5
  32.                 // ingresamos los datos a la BD
  33.                 $reg = mysql_query("INSERT INTO usuarios (usuario_nombre, usuario_clave, usuario_email, usuario_freg) VALUES ('".$usuario_nombre."', '".$usuario_clave."', '".$usuario_email."', NOW())");
  34.                 if($reg) {
  35.                     echo "Datos ingresados correctamente.";
  36.                 }else {
  37.                     echo "ha ocurrido un error y no se registraron los datos.";
  38.                 }
  39.             }
  40.         }
  41.     }else {
  42. ?>
  43.  
  44. <html>
  45.  
  46. <head>
  47.  
  48.         <title>Registro de Usuarios</title>
  49.        
  50.        
  51.        
  52. </head>
  53.  
  54. <body>
  55.  
  56.     <h1>Formulario de Registro!</h1>
  57.  
  58.     <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  59.         <label>Usuario:</label><br />
  60.         <input type="text" name="usuario_nombre" maxlength="15" /><br />
  61.         <label>Contraseña:</label><br />
  62.         <input type="password" name="usuario_clave" maxlength="15" /><br />
  63.         <label>Confirmar Contraseña:</label><br />
  64.         <input type="password" name="usuario_clave_conf" maxlength="15" /><br />
  65.         <label>Email:</label><br />
  66.         <input type="text" name="usuario_email" maxlength="50" /><br />
  67.         <input type="submit" name="enviar" value="Registrar" />
  68.         <input type="reset" value="Borrar" />
  69.     </form>
  70.     <br />
  71.         <br />
  72.             <br />
  73. <?php
  74.     }
  75. ?>
  76.  
  77. </body>
  78.  
  79. </html>


este es el pefil.php

de aqui quiero subir el facebook a la misma fila de usuario registrado de la tabla usuarios


perfil.php


Código PHP:
Ver original
  1. [B]<? include 'acceso_db.php'; ?>
  2. <? $perfil = mysql_query("SELECT * FROM usuarios WHERE usuario_id='".$_GET['id']."'") or die(mysql_error());
  3.     if(mysql_num_rows($perfil)) { // Comprobamos que exista el registro con la ID ingresada
  4.         $row = mysql_fetch_array($perfil);
  5.         $usuario_id = $row["usuario_id"];
  6.         $usuario_nombre = $row["usuario_nombre"];
  7.                 $usuario_email = $row["usuario_email"];
  8.                 $usuario_freg = $row["usuario_freg"];
  9.                 $facebook = $row["facebook"];
  10.                 $twitter = $row["twitter"];
  11.                 $avatar = $row["avatar"];
  12. ?>
  13.  
  14. <html>
  15.  
  16. <head>
  17.            <title>Perfil de <?=$usuario_nombre?> | Tu web</title>
  18. </head>
  19.  
  20. <body>
  21.  
  22. <h2><? echo $nombre ?></h2>
  23.  
  24. <div id="menu">
  25.     <a href="usuarios.php">Usuarios</a> |
  26.     <a href="acceso.php">Acceso-Portal</a>
  27. </div>
  28.  
  29. <h2>Perfil de <?=$usuario_nombre?></h2>
  30.  
  31. <img src="<?=$avatar?>" width="200" height="200" />
  32.  
  33. <p>Email: <?=$usuario_email?></p>
  34. <p>Fecha de registro: <?=$usuario_freg?></p>
  35.  
  36.  
  37. </body>
  38.  
  39. </html>
  40.  
  41. <? } else { ?>
  42.  
  43.      <p>El usuario o perfil que buscas no existe .-.</p>
  44.       <a href="usuarios.php"><button>Lista de usuarios</button></a>
  45.  
  46. <? } ?>
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53. <form action="procesatema" method="post">
  54. <input type="email" name="facebook" placeholder="Facebook">
  55. <input type="submit" name="guardar" value="Guardar">
  56. </form>
  57.  
  58. <?php
  59. if(isset($_POST['enviar'])){
  60. $facebook = utf8_decode(mysql_real_escape_string($conexion, $_POST['facebook']));
  61. if($facebook == ''){
  62. echo "Rellene el campo facebook";
  63. }
  64. else{
  65. $update = mysql_query($conexion, "UPDATE usuarios SET facebook = '".$facebook."' WHERE usuario_nombre = '".$_SESSION['usuario_nombre']."'")or die(mysql_error($conexion));
  66. echo "Los datos han sido guardado correctamente";
  67. }
  68. }
  69. ?>[/B]


pero no sube alguien puede ayudarme en esto
gracias y fin año nuevo

Última edición por andaluz7; 31/12/2013 a las 07:20
  #28 (permalink)  
Antiguo 31/12/2013, 08:08
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: inserta datos a la misma fila de base de datos

¿Podrías mostrar todos los datos de la base de datos?.

Saludos.
  #29 (permalink)  
Antiguo 31/12/2013, 08:22
andaluz7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: inserta datos a la misma fila de base de datos

claro y gracias


CREATE TABLE IF NOT EXISTS `usuarios` (
`usuario_id` int(4) NOT NULL AUTO_INCREMENT,
`usuario_nombre` varchar(15) NOT NULL DEFAULT '',
`usuario_clave` varchar(32) NOT NULL DEFAULT '',
`usuario_email` varchar(50) NOT NULL DEFAULT '',
`usuario_freg` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`tipo` enum('2','1') NOT NULL DEFAULT '2',
`facebook` varchar(250) NOT NULL,
`twitter` varchar(250) NOT NULL,
`avatar` varchar(500) NOT NULL,
PRIMARY KEY (`usuario_id`)
)
  #30 (permalink)  
Antiguo 31/12/2013, 08:28
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: inserta datos a la misma fila de base de datos

Por qué tienes esto?

Código HTML:
Ver original
  1. <form action="procesatema" method="post">

Si el formulario se ejecutará en la misma pagina el action debería ir vacío

Además

Código HTML:
Ver original
  1. <input type="submit" name="guardar" value="Guardar">

Deberías cambiarlo por

Código HTML:
Ver original
  1. <input type="submit" name="enviar" value="Guardar">

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.

Etiquetas: fila, formulario, inserta, usuarios
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 08:23.