Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

modificar datos

Estas en el tema de modificar datos en el foro de Bases de Datos General en Foros del Web. Quiero modificar varios datos de un usuario asi que hago el formulario: #Antes miro a ver si esta conectado <?php $db = mysql_connect("usuarios.lycos.es","definitivemff", "artema"); mysql_select_db("definitivemff_es_db", ...
  #1 (permalink)  
Antiguo 21/04/2003, 08:38
Avatar de Gryphus  
Fecha de Ingreso: febrero-2003
Ubicación: Spain
Mensajes: 216
Antigüedad: 21 años, 2 meses
Puntos: 0
modificar datos

Quiero modificar varios datos de un usuario asi que hago el formulario:
#Antes miro a ver si esta conectado
<?php $db = mysql_connect("usuarios.lycos.es","definitivemff", "artema");
mysql_select_db("definitivemff_es_db", $db);
include("login.php"); ?>
<FORM ACTION="modificar_datos.php" METHOD="post">
<font color="#000000" size="1" face="Verdana">Nick :
<INPUT TYPE="text" NAME="nick" SIZE=20 MAXLENGTH=20 CLASS="boton11">
<BR>
Password:
<INPUT TYPE="password" NAME="password" SIZE=28 MAXLENGTH=20 CLASS="boton11">
<BR>
Email:
<INPUT TYPE="text" NAME="email" SIZE=28 MAXLENGTH=100 CLASS="boton11">
<BR>
Nombre:
<INPUT TYPE="text" NAME="nombre" SIZE=28 MAXLENGTH=255 CLASS="boton11">
<BR>
Rango:
<INPUT TYPE="text" NAME="rango" SIZE=28 MAXLENGTH=255 CLASS="boton11">
<BR>
Avatar:
<INPUT TYPE="text" NAME="avatar" SIZE=28 MAXLENGTH=255 CLASS="boton11">
<BR>
<INPUT TYPE="submit" CLASS="boton22" VALUE="Registrar">
</font>
</FORM>

Y en modificar_datos.php pongo:
<?
$db = mysql_connect("usuarios.lycos.es","definitivemff", "artema");
mysql_select_db("definitivemff_es_db", $db);

include("login.php");

function quitar($mensaje)
{
$mensaje = str_replace("<","&lt;",$mensaje);
$mensaje = str_replace(">","&gt;",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',"&quot;",$mensaje);
$mensaje = str_replace("\\\\","\",$mensaje);
return $mensaje;
}

if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
$sql = "UPDATE id FROM usuarios SET nick='nick',password='password',rango='rango',emai l='email',avatar='avatar',nombre='nombre'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "Error, nick escogido por otro usuario <SCRIPT LANGUAGE=\"javascript\">window.location.href = \"".getenv('HTTP_REFERER')."\";</SCRIPT>";
}
else
{
$sql = "UPDATE usuarios (nick,password,nombre,email,rango,avatar) VALUES (";
$sql .= "'".quitar($HTTP_POST_VARS["nick"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["password"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["nombre"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["email"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["rango"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["avatar"])."'";
$sql .= ")";
mysql_query($sql);
echo "¡Modificación correcta! <SCRIPT LANGUAGE=\"javascript\">window.location.href = \"".getenv('HTTP_REFERER')."\";</SCRIPT>";
}
mysql_free_result($result);
}
else
{
echo "Debes llenar como mínimo los campos de password y nick <SCRIPT LANGUAGE=\"javascript\">window.location.href = \"".getenv('HTTP_REFERER')."\";</SCRIPT>";
}
mysql_close();
?>

Pero no me actualiza ningun dato, y tampoco me da error >_<, donde esta el fallo?
  #2 (permalink)  
Antiguo 22/04/2003, 03:47
 
Fecha de Ingreso: enero-2002
Ubicación: Zaragoza
Mensajes: 144
Antigüedad: 22 años, 3 meses
Puntos: 0
En la parte que concierne a SQL estás utilizando la sintaxis de un INSERT en lugar de la sintaxis de un UPDATE.

Espero que te sirva

Saludos
  #3 (permalink)  
Antiguo 22/04/2003, 08:30
Avatar de Gryphus  
Fecha de Ingreso: febrero-2003
Ubicación: Spain
Mensajes: 216
Antigüedad: 21 años, 2 meses
Puntos: 0
Ya lo arregle thanks jjlallana, lo que he hecho es pornerle un campo mas al formulario para que recoja la id del usuario:
<INPUT TYPE="hidden" NAME="id" SIZE=20 MAXLENGTH=20 CLASS="boton11" value="<? echo $idUsuarioL;?>">

Y despues en modificar_datos.php lo he variado un poco:
<?
$db = mysql_connect("server","username","password");
mysql_select_db("database", $db);

include("login.php");
$nick = $HTTP_POST_VARS["nick"];
$password = $HTTP_POST_VARS["password"];
$rango = $HTTP_POST_VARS["rango"];
$nombre = $HTTP_POST_VARS["nombre"];
$avatar = $HTTP_POST_VARS["avatar"];
$email = $HTTP_POST_VARS["email"];
$id = $HTTP_POST_VARS["id"];

if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
$sql = "UPDATE usuarios SET nick='$nick',password='$password',nombre='$nombre' ,email='$email',rango='$rango',avatar='$avatar' where id='$id'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "Error, nick escogido por otro usuario <SCRIPT LANGUAGE=\"javascript\">window.location.href = \"".getenv('HTTP_REFERER')."\";</SCRIPT>";
}
else
{
mysql_query($sql);
echo "¡Modificación correcta! <SCRIPT LANGUAGE=\"javascript\">window.location.href = \"".getenv('HTTP_REFERER')."\";</SCRIPT>";
}
mysql_free_result($result);
}
else
{
echo "Debes llenar como mínimo los campos de password y nick <SCRIPT LANGUAGE=\"javascript\">window.location.href = \"".getenv('HTTP_REFERER')."\";</SCRIPT>";
}
mysql_close();
?>

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 12:30.