Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Parte del formulario hace caso omiso a variable pasada por URL

Estas en el tema de [SOLUCIONADO] Parte del formulario hace caso omiso a variable pasada por URL en el foro de PHP en Foros del Web. Buenas noches, llevo toda la tarde haciendo este formulario para actualizar una tabla de mi BDD, pero no se porque no acaba de funcionar. He ...
  #1 (permalink)  
Antiguo 27/08/2008, 15:37
 
Fecha de Ingreso: mayo-2006
Mensajes: 18
Antigüedad: 18 años
Puntos: 0
[SOLUCIONADO] Parte del formulario hace caso omiso a variable pasada por URL

Buenas noches, llevo toda la tarde haciendo este formulario para actualizar una tabla de mi BDD, pero no se porque no acaba de funcionar.

He rebuscado en San Google, en este foro, y otros, sin suerte!

creo el problema esta en la linia 37...

Código PHP:
titol='$titol',nom='$nom',cognoms='$cognoms',tipus='$tipus',tema='$tema',material='$material',descripcio='$descripcio',cronica='$cronica',direccio='$direccio',barri='$barri',itinerari='$itinerari',data='$data',inauguracio='$inauguracio',editor_fonedor='$editor_fonedor',dimensions='$dimensions',signada='$signada',datada='$datada',inscripcions='$inscripcions',tiratge='$tiratge',forma_ingres='$forma_ingres',font_ingres='$font_ingres',apadrinada='$apadrinada',video='$video',mapa='$mapa' WHERE id='$id'", $connection); 
Hace caso omiso de la variable $id pasada por URL (de esta forma: http://miweb/actualitzar.php?id=1, http://miweb/actualitzar.php?id=2, ...)

Si fuerzo el id, por ejemplo...
Código PHP:
titol='$titol',nom='$nom',cognoms='$cognoms',tipus='$tipus',tema='$tema',material='$material',descripcio='$descripcio',cronica='$cronica',direccio='$direccio',barri='$barri',itinerari='$itinerari',data='$data',inauguracio='$inauguracio',editor_fonedor='$editor_fonedor',dimensions='$dimensions',signada='$signada',datada='$datada',inscripcions='$inscripcions',tiratge='$tiratge',forma_ingres='$forma_ingres',font_ingres='$font_ingres',apadrinada='$apadrinada',video='$video',mapa='$mapa' WHERE id='3'", $connection); 
La entrada con id = 3 se actualiza todo correctamente.

En cambio a la linea 31...

Código PHP:
    $result=mysql_query("SELECT * FROM propia WHERE id='$id'"); 
Si que es efectiva dicha variable, ya que en los campos del formulario veo los contenidos que tocan.

Alguien me puede ayudar?

Os posteo todo el código...


Código PHP:
<?php
  $titol 
$_POST['titol'];
  
$nom $_POST['nom'];
  
$cognoms $_POST['cognoms'];
  
$tipus $_POST['tipus'];
  
$tema $_POST['tema'];
  
$material $_POST['material'];
  
$descripcio $_POST['descripcio'];
  
$cronica $_POST['cronica'];
  
$direccio $_POST['direccio'];
  
$barri $_POST['barri'];
  
$itinerari $_POST['itinerari'];
  
$data $_POST['data'];
  
$inauguracio $_POST['inauguaracio'];
  
$editor_fonedor $_POST['editor_fonedor'];
  
$dimensions $_POST['dimensions'];
  
$signada $_POST['signada'];
  
$datada $_POST['datada'];
  
$inscripcions $_POST['inscripcions'];
  
$tiratge $_POST['tiratge'];
  
$forma_ingres $_POST['forma_ingres'];
  
$font_ingres $_POST['font_ingres'];
  
$apadrinada $_POST['apadrinada'];
  
$video $_POST['video'];
  
$mapa $_POST['mapa'];
  
$update $_POST['update'];
  
$id $_GET["id"];

    
$connection mysql_connect(localhost,USER,PASS);
    
mysql_select_db(BDD$connection);
    
$result=mysql_query("SELECT * FROM propia WHERE id='$id'");
    
$row=mysql_fetch_array($result);
  if ( 
$titol && $nom && $update ) {
    
$id $_GET["id"];
    
$connection mysql_connect(localhost,USER,PASS);
    
mysql_select_db(BDD$connection);
    
mysql_query("UPDATE propia SET titol='$titol',nom='$nom',cognoms='$cognoms',tipus='$tipus',tema='$tema',material='$material',descripcio='$descripcio',cronica='$cronica',direccio='$direccio',barri='$barri',itinerari='$itinerari',data='$data',inauguracio='$inauguracio',editor_fonedor='$editor_fonedor',dimensions='$dimensions',signada='$signada',datada='$datada',inscripcions='$inscripcions',tiratge='$tiratge',forma_ingres='$forma_ingres',font_ingres='$font_ingres',apadrinada='$apadrinada',video='$video',mapa='$mapa' WHERE id='$id'"$connection);
    
mysql_close($connection);
  }
 if(isset(
$_POST['update']) && !$errors)
 {
        echo 
"<h3>CANVIS ENVIATS CORRECTEMENT!</h3> <h2><a href=index.html>torna al principi</a></h2>";
 }

?>

<form method="post" action=actualitzar.php?id=<? echo $id?>>
  titol: <input type="text" value='<? echo $row[1]; ?> ' name=titol /><br />
  nom: <input type="text" value='<? echo $row[2]; ?> ' name=nom /><br />
  cognoms: <input type="text" value="<? echo $row[3]; ?>" name=cognoms /><br />

Tipus (actual: <? echo $row[4?>): <select name="tipus">;
<? $sql="select nom from tipus";
        
$result=mysql_query($sql);
        while (
$array_resultmysql_fetch_array($result)){
                echo 
"<option value=$array_result[nom]>$array_result[nom]</option>";
        }
mysql_free_result($result);
 
?>
</select>
<br />
Tema (actual: <? echo $row[5?>): <select name="tema">;
<? $sql="select nom from tema";
        
$result=mysql_query($sql);
        while (
$array_resultmysql_fetch_array($result)){
                echo 
"<option value=$array_result[nom]>$array_result[nom]</option>";
        }
mysql_free_result($result);
 
?>
</select>
<br />

Material (actual: <? echo $row[6?>): <select name="material" >;
<? $sql="select nom from material";
        
$result=mysql_query($sql);
        while (
$array_resultmysql_fetch_array($result)){
                echo 
"<option value=$array_result[nom]>$array_result[nom]</option>";
        }
mysql_free_result($result);
 
?>
</select>
<br />

  descripcio: <input type="text" value="<? echo $row[7]; ?>" name=descripcio /><br />
  cronica: <input type="text" value="<? echo $row[8]; ?>" name=cronica /><br />
  direccio: <input type="text" value="<? echo $row[9]; ?>" name=direccio /><br />

Barri (actual: <? echo $row[10?>): <select name="barri" >;
<? $sql="select nom from barri";
        
$result=mysql_query($sql);
        while (
$array_resultmysql_fetch_array($result)){
                echo 
"<option value=$array_result[nom]>$array_result[nom]</option>";
        }
mysql_free_result($result);
 
?>
</select>
<br />

  itinerari: <input type="text" value="<? echo $row[11]; ?>" name=itinerari /><br />
  data: <input type="text" value="<? echo $row[12]; ?>" name=data /><br />
  inauguracio: <input type="text" value="<? echo $row[13]; ?>" name=inauguracio /><br />
  editor_fonedor: <input type="text" value="<? echo $row[14]; ?>" name=editor_fonedor /><br />
  dimensions: <input type="text" value="<? echo $row[15]; ?>" name=dimensions /><br />
  signada: <input type="text" value="<? echo $row[16]; ?>" name=signada /><br />
  datada: <input type="text" value="<? echo $row[17]; ?>" name=datada /><br />
  inscripcions: <input type="text" value="<? echo $row[18]; ?>" name=inscripcions /><br />
  tiratge: <input type="text" value="<? echo $row[19]; ?>" name=tiratge /><br />
  forma_ingres: <input type="text" value="<? echo $row[20]; ?>" name=forma_ingres /><br />
  font_ingres: <input type="text" value="<? echo $row[21]; ?>" name=font_ingres /><br />
  apadrinada: <input type="text" value='<? echo $row[22]; ?>' name=apadrinada /><br />
  video: <input type="text" value='<? echo $row[23]; ?>' name=video /><br />
  mapa: <input type="text" value='<? echo $row[24]; ?>' name=mapa /><br />
  <input type=submit name="update" value="Actualitza" />
</form>
Gracias de antemano!!!

Última edición por nandelbosc; 27/08/2008 a las 16:10 Razón: Solucionado
  #2 (permalink)  
Antiguo 27/08/2008, 15:53
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Parte del formulario hace caso omiso a variable pasada por URL

Hola

Haz intentado imprimir el valor que te llega por GET a ver que es lo que te trae??

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 27/08/2008, 15:56
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Parte del formulario hace caso omiso a variable pasada por URL

Cambia tu codigo por el siguiente:

Código PHP:
<?php
  $titol 
$_POST['titol'];
  
$nom $_POST['nom'];
  
$cognoms $_POST['cognoms'];
  
$tipus $_POST['tipus'];
  
$tema $_POST['tema'];
  
$material $_POST['material'];
  
$descripcio $_POST['descripcio'];
  
$cronica $_POST['cronica'];
  
$direccio $_POST['direccio'];
  
$barri $_POST['barri'];
  
$itinerari $_POST['itinerari'];
  
$data $_POST['data'];
  
$inauguracio $_POST['inauguaracio'];
  
$editor_fonedor $_POST['editor_fonedor'];
  
$dimensions $_POST['dimensions'];
  
$signada $_POST['signada'];
  
$datada $_POST['datada'];
  
$inscripcions $_POST['inscripcions'];
  
$tiratge $_POST['tiratge'];
  
$forma_ingres $_POST['forma_ingres'];
  
$font_ingres $_POST['font_ingres'];
  
$apadrinada $_POST['apadrinada'];
  
$video $_POST['video'];
  
$mapa $_POST['mapa'];
  
$update $_POST['update'];
  
$id $_Request["id"];

    
$connection mysql_connect(localhost,USER,PASS);
    
mysql_select_db(BDD$connection);
    
$result=mysql_query("SELECT * FROM propia WHERE id='$id'");
    
$row=mysql_fetch_array($result);
  if ( 
$titol && $nom && $update ) {
    
$id $_GET["id"];
    
$connection mysql_connect(localhost,USER,PASS);
    
mysql_select_db(BDD$connection);
    
mysql_query("UPDATE propia SET titol='$titol',nom='$nom',cognoms='$cognoms',tipus='$tipus',tema='$tema',material='$material',descripcio='$descripcio',cronica='$cronica',direccio='$direccio',barri='$barri',itinerari='$itinerari',data='$data',inauguracio='$inauguracio',editor_fonedor='$editor_fonedor',dimensions='$dimensions',signada='$signada',datada='$datada',inscripcions='$inscripcions',tiratge='$tiratge',forma_ingres='$forma_ingres',font_ingres='$font_ingres',apadrinada='$apadrinada',video='$video',mapa='$mapa' WHERE id='$id'"$connection);
    
mysql_close($connection);
  }
 if(isset(
$_POST['update']) && !$errors)
 {
        echo 
"<h3>CANVIS ENVIATS CORRECTEMENT!</h3> <h2><a href=index.html>torna al principi</a></h2>";
 }

?>

<form method="post" action=actualitzar.php?id=<? echo $id?>>
  titol: <input type="text" value='<? echo $row[1]; ?> ' name=titol /><br />
  nom: <input type="text" value='<? echo $row[2]; ?> ' name=nom /><br />
  cognoms: <input type="text" value="<? echo $row[3]; ?>" name=cognoms /><br />

Tipus (actual: <? echo $row[4?>): <select name="tipus">;
<? $sql="select nom from tipus";
        
$result=mysql_query($sql);
        while (
$array_resultmysql_fetch_array($result)){
                echo 
"<option value=$array_result[nom]>$array_result[nom]</option>";
        }
mysql_free_result($result);
 
?>
</select>
<br />
Tema (actual: <? echo $row[5?>): <select name="tema">;
<? $sql="select nom from tema";
        
$result=mysql_query($sql);
        while (
$array_resultmysql_fetch_array($result)){
                echo 
"<option value=$array_result[nom]>$array_result[nom]</option>";
        }
mysql_free_result($result);
 
?>
</select>
<br />

Material (actual: <? echo $row[6?>): <select name="material" >;
<? $sql="select nom from material";
        
$result=mysql_query($sql);
        while (
$array_resultmysql_fetch_array($result)){
                echo 
"<option value=$array_result[nom]>$array_result[nom]</option>";
        }
mysql_free_result($result);
 
?>
</select>
<br />

  descripcio: <input type="text" value="<? echo $row[7]; ?>" name=descripcio /><br />
  cronica: <input type="text" value="<? echo $row[8]; ?>" name=cronica /><br />
  direccio: <input type="text" value="<? echo $row[9]; ?>" name=direccio /><br />

Barri (actual: <? echo $row[10?>): <select name="barri" >;
<? $sql="select nom from barri";
        
$result=mysql_query($sql);
        while (
$array_resultmysql_fetch_array($result)){
                echo 
"<option value=$array_result[nom]>$array_result[nom]</option>";
        }
mysql_free_result($result);
 
?>
</select>
<br />

  itinerari: <input type="text" value="<? echo $row[11]; ?>" name=itinerari /><br />
  data: <input type="text" value="<? echo $row[12]; ?>" name=data /><br />
  inauguracio: <input type="text" value="<? echo $row[13]; ?>" name=inauguracio /><br />
  editor_fonedor: <input type="text" value="<? echo $row[14]; ?>" name=editor_fonedor /><br />
  dimensions: <input type="text" value="<? echo $row[15]; ?>" name=dimensions /><br />
  signada: <input type="text" value="<? echo $row[16]; ?>" name=signada /><br />
  datada: <input type="text" value="<? echo $row[17]; ?>" name=datada /><br />
  inscripcions: <input type="text" value="<? echo $row[18]; ?>" name=inscripcions /><br />
  tiratge: <input type="text" value="<? echo $row[19]; ?>" name=tiratge /><br />
  forma_ingres: <input type="text" value="<? echo $row[20]; ?>" name=forma_ingres /><br />
  font_ingres: <input type="text" value="<? echo $row[21]; ?>" name=font_ingres /><br />
  apadrinada: <input type="text" value='<? echo $row[22]; ?>' name=apadrinada /><br />
  video: <input type="text" value='<? echo $row[23]; ?>' name=video /><br />
  mapa: <input type="text" value='<? echo $row[24]; ?>' name=mapa /><br />
  <input type=submit name="update" value="Actualitza" />
</form>
Atte.

MasterOjitos
  #4 (permalink)  
Antiguo 27/08/2008, 15:58
 
Fecha de Ingreso: mayo-2006
Mensajes: 18
Antigüedad: 18 años
Puntos: 0
Respuesta: Parte del formulario hace caso omiso a variable pasada por URL

Gracias por responder...

pues entiendo que si, almenos se que esta linea funciona...

Código PHP:
 $result=mysql_query("SELECT * FROM propia WHERE id='$id'"); 
... funciona, ya que la uso para imprimir los campos de la ficha que coinciden con la misma variable $id en los campos del formulario.
  #5 (permalink)  
Antiguo 27/08/2008, 16:02
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Parte del formulario hace caso omiso a variable pasada por URL

Porque vuelves a retomar la variable del GET dentro del if??
Comenta esa linea y prueba a ver que sucede!

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #6 (permalink)  
Antiguo 27/08/2008, 16:04
 
Fecha de Ingreso: mayo-2006
Mensajes: 18
Antigüedad: 18 años
Puntos: 0
Respuesta: Parte del formulario hace caso omiso a variable pasada por URL

masterojitos, gracias también, pero no funciona.

de hecho, si cambio

Código PHP:
$id $_GET["id"]; 
por

Código PHP:
$id $_Request["id"]; 
es peor, ya que ni se me rellenan los campos del formulario, es decir, se estropea lo que le contaba a the_web_saint
  #7 (permalink)  
Antiguo 27/08/2008, 16:05
 
Fecha de Ingreso: mayo-2006
Mensajes: 18
Antigüedad: 18 años
Puntos: 0
Respuesta: Parte del formulario hace caso omiso a variable pasada por URL

the_web_saint, si hago esto passo lo mismo.

Si esta declarada de nuevo, es porque es una de los inventos que he probado
  #8 (permalink)  
Antiguo 27/08/2008, 16:08
 
Fecha de Ingreso: mayo-2006
Mensajes: 18
Antigüedad: 18 años
Puntos: 0
Ya funciona!!!

Ya funciona, la verdad, es que a lo mejor no habia probado esta combinación...

Código PHP:
<?php
  $titol 
$_POST['titol'];
  
$nom $_POST['nom'];
  
$cognoms $_POST['cognoms'];
  
$tipus $_POST['tipus'];
  
$tema $_POST['tema'];
  
$material $_POST['material'];
  
$descripcio $_POST['descripcio'];
  
$cronica $_POST['cronica'];
  
$direccio $_POST['direccio'];
  
$barri $_POST['barri'];
  
$itinerari $_POST['itinerari'];
  
$data $_POST['data'];
  
$inauguracio $_POST['inauguaracio'];
  
$editor_fonedor $_POST['editor_fonedor'];
  
$dimensions $_POST['dimensions'];
  
$signada $_POST['signada'];
  
$datada $_POST['datada'];
  
$inscripcions $_POST['inscripcions'];
  
$tiratge $_POST['tiratge'];
  
$forma_ingres $_POST['forma_ingres'];
  
$font_ingres $_POST['font_ingres'];
  
$apadrinada $_POST['apadrinada'];
  
$video $_POST['video'];
  
$mapa $_POST['mapa'];
  
$update $_POST['update'];
  
$id $_GET["id"];
//  $id = $_Request["id"];

    
$connection mysql_connect(localhost,USER,PASS);
    
mysql_select_db(BDD$connection);
    
$result=mysql_query("SELECT * FROM propia WHERE id='$id'");
    
$row=mysql_fetch_array($result);
  if ( 
$titol && $nom && $update ) {
//    $id1 = $_GET["id"];
    
$connection mysql_connect(localhost,USER,PASS);
    
mysql_select_db(BDD$connection);
    
mysql_query("UPDATE propia SET titol='$titol',nom='$nom',cognoms='$cognoms',tipus='$tipus',tema='$tema',material='$material',descripcio='$descripcio',cronica='$cronica',direccio='$direccio',barri='$barri',itinerari='$itinerari',data='$data',inauguracio='$inauguracio',editor_fonedor='$editor_fonedor',dimensions='$dimensions',signada='$signada',datada='$datada',inscripcions='$inscripcions',tiratge='$tiratge',forma_ingres='$forma_ingres',font_ingres='$font_ingres',apadrinada='$apadrinada',video='$video',mapa='$mapa' WHERE id='$id'"$connection);
    
mysql_close($connection);
  }
 if(isset(
$_POST['update']) && !$errors)
 {
        echo 
"<h3>CANVIS ENVIATS CORRECTEMENT!</h3> <h2><a href=index.html>torna al principi</a></h2>";
 }

?>

<form method="post" action=actualitzar.php?id=<? echo $id?>>
  titol: <input type="text" value='<? echo $row[1]; ?> ' name=titol /><br />
  nom: <input type="text" value='<? echo $row[2]; ?> ' name=nom /><br />
  cognoms: <input type="text" value="<? echo $row[3]; ?>" name=cognoms /><br />

Tipus (actual: <? echo $row[4?>): <select name="tipus">;
<? $sql="select nom from tipus";
        
$result=mysql_query($sql);
        while (
$array_resultmysql_fetch_array($result)){
                echo 
"<option value=$array_result[nom]>$array_result[nom]</option>";
        }
mysql_free_result($result);
 
?>
</select>
<br />
Tema (actual: <? echo $row[5?>): <select name="tema">;
<? $sql="select nom from tema";
        
$result=mysql_query($sql);
        while (
$array_resultmysql_fetch_array($result)){
                echo 
"<option value=$array_result[nom]>$array_result[nom]</option>";
        }
mysql_free_result($result);
 
?>
</select>
<br />

Material (actual: <? echo $row[6?>): <select name="material" >;
<? $sql="select nom from material";
        
$result=mysql_query($sql);
        while (
$array_resultmysql_fetch_array($result)){
                echo 
"<option value=$array_result[nom]>$array_result[nom]</option>";
        }
mysql_free_result($result);
 
?>
</select>
<br />

  descripcio: <input type="text" value="<? echo $row[7]; ?>" name=descripcio /><br />
  cronica: <input type="text" value="<? echo $row[8]; ?>" name=cronica /><br />
  direccio: <input type="text" value="<? echo $row[9]; ?>" name=direccio /><br />

Barri (actual: <? echo $row[10?>): <select name="barri" >;
<? $sql="select nom from barri";
        
$result=mysql_query($sql);
        while (
$array_resultmysql_fetch_array($result)){
                echo 
"<option value=$array_result[nom]>$array_result[nom]</option>";
        }
mysql_free_result($result);
 
?>
</select>
<br />

  itinerari: <input type="text" value="<? echo $row[11]; ?>" name=itinerari /><br />
  data: <input type="text" value="<? echo $row[12]; ?>" name=data /><br />
  inauguracio: <input type="text" value="<? echo $row[13]; ?>" name=inauguracio /><br />
  editor_fonedor: <input type="text" value="<? echo $row[14]; ?>" name=editor_fonedor /><br />
  dimensions: <input type="text" value="<? echo $row[15]; ?>" name=dimensions /><br />
  signada: <input type="text" value="<? echo $row[16]; ?>" name=signada /><br />
  datada: <input type="text" value="<? echo $row[17]; ?>" name=datada /><br />
  inscripcions: <input type="text" value="<? echo $row[18]; ?>" name=inscripcions /><br />
  tiratge: <input type="text" value="<? echo $row[19]; ?>" name=tiratge /><br />
  forma_ingres: <input type="text" value="<? echo $row[20]; ?>" name=forma_ingres /><br />
  font_ingres: <input type="text" value="<? echo $row[21]; ?>" name=font_ingres /><br />
  apadrinada: <input type="text" value='<? echo $row[22]; ?>' name=apadrinada /><br />
  video: <input type="text" value='<? echo $row[23]; ?>' name=video /><br />
  mapa: <input type="text" value='<? echo $row[24]; ?>' name=mapa /><br />
  <input type=submit name="update" value="Actualitza" />
</form>

GRACIAS A TODOS POR VUESTRO TIEMPO!

Última edición por nandelbosc; 27/08/2008 a las 16:09 Razón: faltaba el agradecimiento ;)
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 11:07.