Foros del Web » Programando para Internet » PHP »

Error al modificar registro ...

Estas en el tema de Error al modificar registro ... en el foro de PHP en Foros del Web. Saludos. Tengo un problema a la hora de modifcar registros de una bd. Lo hago mediante un página, que muestra la lista de registros, y ...
  #1 (permalink)  
Antiguo 27/01/2008, 13:38
 
Fecha de Ingreso: agosto-2003
Mensajes: 324
Antigüedad: 16 años, 6 meses
Puntos: 1
Error al modificar registro ...

Saludos.
Tengo un problema a la hora de modifcar registros de una bd.
Lo hago mediante un página, que muestra la lista de registros, y monto un enlace "editar".
Para el registro cuyo "editar" pulse, me habre una nueva página donde genero los campos editables (algunos) para que el usuario los modifique.
Una vez modificados , el usuario pulsa un botón "Editar", con el cual se llamará a otro php, que recuperará los valores de los campos, y hará la sql de actualización.
Bien, pues en este último paso es donde tengo los problemas.
No me recupera los valores, ya que haciendo echo de ellos, no me "pinta" nada.
Y el php me devuelve ..
Código:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\Documents and Settings\Antonio.AYR-91BJ782L8YM\Escritorio\wosportable\www\sic\usuariossicprocm.php on line 15
Os dejo los códigos, paa ver si me podéis ayudar ...
Este código es el que recupera los datos del registro a editar y genera un formulario. Ésto lo hace bien
Código PHP:
<html>
<head>
   <title>Usuarios</title></head>
<body>
<H1>Modificar Usuario</H1>
<?
    
include("conex.phtml");
    
$link=Conectarse();
    
$q "select * from usuariossic where UsuarioID= ".$UsuarioID;
    
$result=mysql_query($q,$link);
    
$reg mysql_fetch_row($result);

echo 
"<FORM ACTION=usuariossicprocm.php>";

echo 
"ID:<INPUT TYPE=text NAME=uid value=$reg[0] READONLY><BR>";

echo 
"Usuario:<INPUT TYPE=text NAME=unombre value=$reg[1]><BR>";

echo 
"Clave:<INPUT TYPE=text NAME=uclave value=$reg[2]><BR>";

echo 
"Tipo:<INPUT TYPE=text NAME=utipo value=$reg[3]><BR>";

echo 
"Cliente:<INPUT TYPE=text NAME=uclienteid value=$reg[4]><BR>";

echo 
"<input type=hidden name=uid2 value=$reg[0]>";

echo 
"<INPUT TYPE=submit NAME=OK VALUE=editar><BR>";

echo 
"</FORM>";

"<hr>"
?>
Este código es el que debería recuperar las variables del anterior, y actualizar el registro.
Código PHP:
<?php
   
include("conex.phtml");
   
$link=Conectarse();
   
   
$id $_GET['uid2'];
   
$nombre=$_GET['unombre'];
   
$clave=$_GET['uclave'];  
   
$tipo=$_GET['utipo'];  
   
$cliente$_GET['ucliente'];   

    
//echo $id;
    //echo $nombre;


  
$q "UPDATE usuariossic SET 'UsuarioNombre' ='" $nombre "', 'UsuarioClave' ='" $clave "', 'UsuarioTipo' ='" $tipo .  "', 'UsuarioClienteID' ='" $cliente "' WHERE 'UsuarioID' ='" .$id "'";

    
mysql_query($q,$link);
   
header("Location: usuariossic.php");

?>

Gracias por anticipado
  #2 (permalink)  
Antiguo 27/01/2008, 16:12
 
Fecha de Ingreso: marzo-2007
Mensajes: 129
Antigüedad: 12 años, 11 meses
Puntos: 0
Re: Error al modificar registro ...

Por que no intentas colocar method="POST" en la linea del

echo "<FORM method="POST" ACTION=usuariossicprocm.php>";

asi como lo acomode!
__________________
Software Analyst and developer
http://ebalestrini.com
  #3 (permalink)  
Antiguo 27/01/2008, 20:58
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Error al modificar registro ...

Tu error está en esta linea

Código PHP:
$q "UPDATE usuariossic SET 'UsuarioNombre' ='" $nombre "', 'UsuarioClave' ='" $clave "', 'UsuarioTipo' ='" $tipo .  "', 'UsuarioClienteID' ='" $cliente "' WHERE 'UsuarioID' ='" .$id "'"
y es que falta un punto de concatenación después de $cliente. Recuerda que si usas comilals dobles, no es necesario que concatenes variables, pues estas serán parseadas y reemplazadas por sus valores. Por lo tanto, da igual si pones:
Código PHP:
$q "UPDATE usuariossic SET UsuarioNombre = '$nombre', UsuarioClave ='$clave', UsuarioTipo = '$tipo', UsuarioClienteID = '$cliente' WHERE UsuarioID = '$id'"
Un saludo,
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:38.