Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Consulta update desde formulario

Estas en el tema de Consulta update desde formulario en el foro de PHP en Foros del Web. Buenas tardes foro. quería consultar con vosotros un problema que tengo y que me trae de cabeza. He mirado mil veces el codigo pero no ...
  #1 (permalink)  
Antiguo 09/09/2013, 08:46
Avatar de kede6  
Fecha de Ingreso: julio-2013
Ubicación: Canet d'en Berenguer
Mensajes: 18
Antigüedad: 10 años, 9 meses
Puntos: 0
Consulta update desde formulario

Buenas tardes foro.

quería consultar con vosotros un problema que tengo y que me trae de cabeza. He mirado mil veces el codigo pero no encuentro donde falla. El problema que tengo es el siguiente:

Estoy intentando construir una pagina de perfil a la que tengan acceso sólo los usuarios registrados. En ella tengo un formulario de actualizacion de datos que previamente ha registrado cada usuario. El código del formulario es el siguiente:
Código PHP:
<form method="post" id="actualizar" name="actualizar "action="actualizar.php">
                    <label>Nombre</label>
                    <input type="text" id="nombre" name="nombre" value="<?php echo "$nombre";?>"><br>
                    <label>Apellidos</label>
                    <input type="text" id="apellidos" name="apellidos" value="<?php echo "$apellidos";?>"><br>
                    <label>Email</label>
                    <input type="text" id="email" name="email" value="<?php echo "$email";?>"><br>
                    <label>Pass</label>
                    <input type="password" id="pass" name="pass" value="<?php echo "$pass";?>"><br>
                    <input type="hidden" id="id_usuario" name="id_usuario" value="<?php echo "$id_usuario";?>">
                    <input type="submit" name="guardar" value="Guardar cambios">
                </form>
Una vez enviado el cuestionario te resirige al archivo actualizar.php, que es el siguiente:
Código PHP:
<?php
    $nombre     
=trim($_POST['nombre']);
    
$apellidos  =trim($_POST['apellidos']);
    
$email      =trim($_POST['email']);
    
$pass       =trim($_POST['pass']);
    
$id_usuario=trim($_POST['id_usuario']);

    
require_once 
'conexion.php';
$query "SELECT id_usuario, nombre, apellidos, email, pass FROM usuarios WHERE id_usuario=$id_usuario";
$result $con->query($query);

    if(
mysqli_fetch_array($result)){
$sql="UPDATE usuarios SET nombre=$nombre, apellidos= $apellidos, email=$email, pass=$pass WHERE id_usuario=$id_usuario";
@
mysql_query($sql,$con);

}
Segun mis pruebas hasta la ultima linea todo funciona ok, pero en ella no se que pasa q al mandar el formulario no me actualiza los datos en la BD.
si pongo la variable $con la variable conexion que tengo incluida en conexion.php me da error (no se pq ) y si la quito no se me actualiza nada.

alguien podria ayudarme por favor?? Muchas gracias por anticipado y un saludo
  #2 (permalink)  
Antiguo 09/09/2013, 08:52
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: Consulta update desde formulario

Que error te sale con $con???

El error es simple además

Código SQL:
Ver original
  1. UPDATE usuarios SET nombre=$nombre, apellidos= $apellidos, email=$email, pass=$pass WHERE id_usuario=$id_usuario

Estás tratando strings como cadenas

Debería ir asi

Código SQL:
Ver original
  1. UPDATE usuarios SET nombre='$nombre', apellidos='$apellidos', email='$email', pass='$pass' WHERE id_usuario=$id_usuario

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #3 (permalink)  
Antiguo 09/09/2013, 08:53
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Consulta update desde formulario

hasta donde sé, el resource_id de una conexión no tiene miembros (no que yo sepa), por eso debo preguntarte: ¿haces uso de PDO, o tienes una clase para la conexión propia?: de ser la última el mysql_query te falla porque $con NO sería un resource_id válido, sino la instancia de tu propia clase de conexión.

OJO con ello, si nos muestras el archivo de conexion.php aclararías nuestras dudas
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #4 (permalink)  
Antiguo 09/09/2013, 08:58
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: Consulta update desde formulario

Cita:
Iniciado por jonni09lo Ver Mensaje
Estás tratando strings como intengers[...]
Hago esta apreciación, ya que no puedo editar mi mensaje

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #5 (permalink)  
Antiguo 09/09/2013, 09:22
Avatar de kede6  
Fecha de Ingreso: julio-2013
Ubicación: Canet d'en Berenguer
Mensajes: 18
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Consulta update desde formulario

Buenas de nuevo,

Jonni, lo que me comentas ya lo habia probado a cambiar de muchas maneras pero no es eso, porque haciendo un echo de la variable $sql me sale todo correcto.
MaycolAlvarez el archivo de conexion es el siguiente:
Código PHP:
<?php
$con 
mysqli_connect ("localhost""user""pass""bd");
if(!
$con){
    
header ("Location: ERROR.php");
}
function 
urls_amigables($url){

$url=strtolower($url);
$find= array('á''é''í''ó''ú''ñ');
$repl= array('a''e''i''o''u''n');
$url=str_replace($find,$repl,$url);

$find= array(' ''&''\r\n''\n''+');
$url=str_replace($find,'-',$url);

$find= array('/[^a-z0-9\-<>]/''/[\-]+/''/<[^>]*>/');
$repl= array ('''-''');
$url=preg_replace ($find,$repl,$url);

return 
$url;
}
?>
Creo que el error es q aqui algo no tengo bien puesto, porque el error que me salta es: Warning: mysql_query() expects parameter 2 to be resource
user, pass y bd son sustitutos de mi bd real. La parte de abajo sólo es para url amigables.
  #6 (permalink)  
Antiguo 09/09/2013, 09:30
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: Consulta update desde formulario

La sintaxis también es importante en el UPDATE, tenlo en cuenta

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #7 (permalink)  
Antiguo 09/09/2013, 09:35
Avatar de kede6  
Fecha de Ingreso: julio-2013
Ubicación: Canet d'en Berenguer
Mensajes: 18
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Consulta update desde formulario

lo tengoen cuenta, gracias por el cable Jonni
por cierto estoy leyendo sobre lo del pdo que me comentó maycolalvarez, pero no entiendo muy bien para que sirve y que diferencia hay respecto a la coexion con BD que tengo en mi archivo...
  #8 (permalink)  
Antiguo 09/09/2013, 10:05
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Consulta update desde formulario

Es simple, estas mesclando mysql con mysqli
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #9 (permalink)  
Antiguo 09/09/2013, 10:08
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Consulta update desde formulario

Cita:
Iniciado por SkAr88 Ver Mensaje
Es simple, estas mesclando mysql con mysqli
exactamente, no puedes usar funciones de mysql con las de mysqli, y lo mismo con PDO, por ello el error
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #10 (permalink)  
Antiguo 09/09/2013, 10:31
Avatar de kede6  
Fecha de Ingreso: julio-2013
Ubicación: Canet d'en Berenguer
Mensajes: 18
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Consulta update desde formulario

vale, entonces que modifico??
if(mysqli_fetch_array($result))??
mysql_query($sql,$con)??
Perdonar mi ignorancia, estoy en modo aprfendizaje ON jejeje
  #11 (permalink)  
Antiguo 09/09/2013, 11:07
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Consulta update desde formulario

De partida, para el primer query estas utilizando el estilo orientado a objetos y despues estaz usandi el estilo estructurado, primero que todo ¿usaras poo o estructurado? Si es poo cambia mysqli_connect por new mysqli, si no, cambia la primera query por mysqli_query($con,$sql);
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #12 (permalink)  
Antiguo 09/09/2013, 11:14
Avatar de kede6  
Fecha de Ingreso: julio-2013
Ubicación: Canet d'en Berenguer
Mensajes: 18
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Consulta update desde formulario

Ok, ya lo tengo solucionado, funciona correcto...muchisimas gracias a todos

Etiquetas: formulario, mysql, select, sql, update, usuarios, variable
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 07:52.