Ver Mensaje Individual
  #10 (permalink)  
Antiguo 26/12/2007, 07:11
ramon123
 
Fecha de Ingreso: septiembre-2004
Mensajes: 10
Antigüedad: 20 años, 2 meses
Puntos: 0
Re: problemas con el paso de variables

Hola a todos, he solucionado parte del problema:

en primer lugar aclarar que

<a href=\"displaydelete.php?id=".$id."\">

funciona. es decir me pasa el valor de la variable id al fichero displayaupdated.php.

lo que pasa que en displaydelete.php debo recuperar el valor de la variable con:

$id = $HTTP_GET_VARS["id"];

y ahora id si tiene el valor correcto.

El problema que tengo ahora es el siguiente:

en el fichero displayupdated.php recupero los campos de la BD cuyo id es el id que le pase con la orden anterior.

----------------

/*este es el fichero displayupdated.php*/

/*recuperamos el valor de la variable id con GET*/
$id = $HTTP_GET_VARS["id"];

mysql_select_db($db,$id_conexion); /*seleccionamos la bd*/
$consulta = mysql_query("SELECT * from ofertas where id='$id'",$id_conexion);

if($row = mysql_fetch_array($consulta))
{
/*$id=$row ["id"];*/
$titulo=$row ["titulo"];
$oferta=$row ["oferta"];
$precio=$row ["precio"];
$condiciones=$row ["condiciones"];
$visible=$row ["visible"];
$posicion=$row ["posicion"];
echo "<td><input type=\"hidden\" name=\"titulo\" value=\"".$id."\"></td></tr>";
echo "<tr>";
echo "<tr>";
echo "<td>TITULO:</td>";
echo "<td><input type=\"text\" name=\"titulo\" size=\"60\" value=\"".$titulo."\"></td></tr>";
echo "<tr>";
echo "<td>OFERTA:</td>";
echo "<td><textarea name=\"oferta\" cols=50 rows=10>".$oferta."</textarea></td></tr>";
echo "<tr>";
echo "<td>PRECIO:</td>";
echo "<td><input type=\"text\" name=\"precio\" size=\"25\" value=\"".$precio."\"></td></tr>";
echo "<tr>";
echo "<td>CONDICIONES:</td>";
echo "<td><textarea name=\"condiciones\" cols=50 rows=5>".$condiciones."</textarea></td></tr>";
echo "<tr>";
echo "<td>OFERTA VISIBLE:</td>";
echo "<td><input type=\"text\" name=\"visible\" size=\"2\" value=\"".$visible."\"> (si/no)</td></tr>";
echo "<tr>";
echo "<td>POSICION:</td>";
echo "<td><input type=\"text\" name=\"posicion\" size=\"5\" value=\"".$posicion."\"> (0,1,2,etc)</td></tr>";
echo "<tr>";
echo "<td></td>";
echo "<td><input type=\"submit\" size=\"2\" value=\"MODIFICAR OFERTA\"></td></tr>";
echo "<tr>";
echo "<td></td>";
echo "<td><br><a href=admin_ofertas.php class='titulonegro'><center>VOLVER A ADMINISTRACION DE OFERTAS</a></center></td></tr>";
}
?>
</p>
</td>
</tr>
</table>
</form>
</body>
</html>
-----------------------

de esa forma el usuario puede modificar cualquier campo del registro y cuando envie el formulario se actualizaran esos campos.

pero al enviar el formulario al fichero updated.php:

-----------------------------
/*este es el fichero updated.php*/

/*recupero las varibles pasadas del formulario con POST*/
$id = $HTTP_POST_VARS["id"];
$titulo = $HTTP_POST_VARS["titulo"];
$oferta = $HTTP_POST_VARS["oferta"];
$precio = $HTTP_POST_VARS["precio"];
$condiciones = $HTTP_POST_VARS["condiciones"];
$visible = $HTTP_POST_VARS["visible"];
$posicion = $HTTP_POST_VARS["posicion"];

/*PRUEBAS*/
echo ("<td class='textopequeno' align='center' bgcolor='#FFFFFF' width='5%'>el valor del TITLUO es: $titulo</td>\n");
echo $titulo;
echo "<br>";
echo ("<td class='textopequeno' align='center' bgcolor='#FFFFFF' width='5%'>el valor del id es: $id</td>\n");
echo "<br>";


/*actualizo las varibles en la BD*/
$sqlquery="UPDATE ofertas SET titulo=\"".$titulo."\" , oferta=\"".$oferta."\" , precio=\"".$precio."\" , condiciones=\"".$condiciones."\" , visible=\"".$visible."\" , posicion=\"".$posicion."\" where id=\"".$id."\"";
echo $sqlquery;
$result=mysql_query($sqlquery) or die ("no se ha podido realizar la consulta SQL");
echo "<br>";
echo "<br>";
echo "********** LA OFERTA SE MODIFICO CON EXITO **********";
echo "<br>";
echo "<br>";
echo "<br>";
echo ("<a href=admin_ofertas.php class='titulonegro'><center>VOLVER A ADMINISTRACION DE OFERTAS</a></center>");
?>

</body>
</html>
----------------------------


aunque recpere el valor de la variable id con
$id = $HTTP_POST_VARS["id"];

no me funciona la orden UPDATED ... where id=\"".$id."\""; YA QUE EL ID NO TIENE VALOR.
he probado a darle valor a la varible id dentro de este fichero y en este caso si que funciona perfectmaente.

como veis el problema es que no recupero el valor original de la variable id, fundamental para que todo funcione.

de nuevo, mil gracias a todos por vuestra ayuda.