Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/06/2009, 10:57
waty90
 
Fecha de Ingreso: diciembre-2006
Mensajes: 153
Antigüedad: 17 años, 5 meses
Puntos: 1
Exclamación error con formulario en php.

hola, tengo este formulario en mi web para que los usuario puedan editar su perfil, recojo los datos de la Sesion y los imprimo en el value :

modificar.php

Código PHP:
<h3>editar datos personales</h3>
<div id="general-form"><form id="loginForm" name="loginForm" method="post" action="guardar_datos.php">
  <table width="300" border="0" align="center" cellpadding="2" cellspacing="0">
   
 <tr> <input type="hidden" name="member_id" value="<? echo $_SESSION["REQUEST_MEMBER_ID"];?>" style="display:none">
      <th>nombre </th>
      <td><input name="firstname" type="text" class="textfield" id="firstname" value="<? echo $_SESSION["REQUEST_FIRST_NAME"];?>" /></td>
    </tr>
    <tr>
      <th>apellidos </th>
      <td><input name="lastname" type="text" class="textfield" id="lastname" value="<? echo $_SESSION["REQUEST_LAST_NAME"];?>"/></td>
    </tr>
    <tr>
      <th width="124">nombre de usuario</th>
      <td width="168"><input name="username" type="text" class="textfield" id="login"disabled=disabled readonly=readonly value="<? echo $_SESSION["REQUEST_LOGIN"];?>" /></td>
    </tr>
    <tr>

 <tr>
      <th>edad</th>
      <td><input name="edad" type="text" class="textfield" id="edad" value="<? echo $_SESSION["REQUEST_EDAD"];?>"/></td>
    </tr>

<th>pagina web </th>
      <td><input name="paginaweb" type="text" class="textfield" id="paginaweb" value="<? echo $_SESSION["REQUEST_WEB"];?>" /></td>
    </tr><tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit" value="guardar cambios" /></td>
    </tr>


  </table>
</form>
-------------------------


este es el archivo que lo procesa y actualiza los cambios en la db:

guardar_datos.php

Código PHP:
 <?php

$member_id 
$_POST['member_id'];  
$firstname $_POST['firstname'];  
$lastname $_POST['lastname'];
$paginaweb $_POST['paginaweb'];  
$edad $_POST['edad'];  

  
  
//luego haces el query update
$link mysql_connect(DB_HOSTDB_USERDB_PASSWORD);
if(!
$link) {
        die(
'Failed to connect to server: ' mysql_error());
    }
    
    
//Select database
    
$db mysql_select_db(DB_DATABASE);
    if(!
$db) {
        die(
"Unable to select database");
    }

$sql="update USUARIOS set firstname='".$firstname."',paginaweb='".$paginaweb."', edad='".$edad."',lastname='".$lastname."' where member_id=".$member_id;
mysql_query($sql,$link);

echo 
"perfil actualizado con exito!";  
?>
ahora os cuento el problema, y es que por ejemplo si yo me logeo con el usuario : demo voy a la pagina y entro en modificar.php y sale el formulario con mis datos cargados desde la Sesion, modifico lo que quiera y se envia a guardar_datos.php y los actualiza, hasta ahi todo bn.

xro si yo cojo el formulario y lo guardo en mi disco duro,

modificando este campo oculto:
Código PHP:
<input type="hidden" name="member_id" value="1" style="display:none"
tiene puesto el 1 por que es el ID del usuario : demo

pero si yo pongo por ejemplo en el value : 2 lo guardo, lo ejecuto en mi navegador y pongo lo que quiera en los campos: nombre: apellidos.etc pongo en el action: http://miweb.com/guardar_datos.php y edito al usuario con el ID nº 2 estado conectado con mi cuenta: demo que tiene el ID 1..

k puedo hacer para arreglar esto?¿

alguna parte del codigo esta mal?¿

muchas gracias por la ayuda..