Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/06/2004, 08:03
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Algunos consejos:

1) Todo ese HTML en el script del "UPADATE" está de más .. Fijate que es PHP el que realiza el proceso integro. Si hay mensajes de error/exito que mostrar. Si los haces ahí mismo en el flujo del proceso del "UPDATE" .. si recargas la página en ese tiempo que muestras esos mensajes vas a ocasionar que se ejecute nuevamente tu "UPDATE" (podría ser peor si fuera un INSERT .. ahí duplicarías registros por ejemplo ..)

La solución a ese problema se solventan mostrando los mensajes de error/exito en otra página (al menos: una recarga/redireccionamiento al mismo script). Para eso, le pasarías como parámetro una simple variable en el URL a redireccionar con el mensaje o código a mostrar (mejor "código") tipo:
Código PHP:
<?
// Ojo .. nada de HTML por encima . no es necesario es un proceso PHP integro!.
tu mysql_query() ....
if (
todo OK){
$codigo="ok";
} else {
$codigo="error"
}
// redireccionar automáticamente a mensajes.php con codigo como parámetro
header ("Location: mensajes.php?codigo=$codigo");
?>
En mensaje.php .. bajo $codigo ($_GET['codigo'] o $HTTP_GET_VARS['codigo']) tendrás tu "error" u "ok" según corresponda y . .en consecuencia muestras el error (con tu página HTML si quieres con ese "meta" para redireccionar a X tiempo hacia el destino definitivo).

2) Usar al menos comillas en las menciones a variables .. sino, si tienes un espacio en "$nombre" ej.: jose luis, "luis" será tomado como sentencia SQL .. con su consiguiente error. (esto puede ser el error que esté probocando tu problema) ...

[PHP]$sql="UPDATE CLIENTE SET nombre='$nombre', direccion='$direcc', ciudad='$city', cp='$cp', telef='$telef' WHERE idcliente='$idcliente'";
$result=mysql_db_query($sql,$link); [/quote]

3) para ver algunos errores de SQL más concretos .. puedes usar:

Código PHP:
$result=mysql_db_query($sql,$link) or die (mysql_error()); 
Un saludo,