Foros del Web » Programando para Internet » PHP »

Problemas con pasar variable con URL y hidden

Estas en el tema de Problemas con pasar variable con URL y hidden en el foro de PHP en Foros del Web. Hola que tal amigos de la web, Tengo una gran duda, estoy haciendo ejercicios para aprender mas PHP, mi meta es crear un carro de ...
  #1 (permalink)  
Antiguo 13/12/2008, 14:20
 
Fecha de Ingreso: mayo-2008
Mensajes: 15
Antigüedad: 15 años, 11 meses
Puntos: 0
Problemas con pasar variable con URL y hidden

Hola que tal amigos de la web, Tengo una gran duda, estoy haciendo ejercicios para aprender mas PHP, mi meta es crear un carro de compras:

Bueno el codigo del ejercicio es este es este

buscacoches.php
Código php:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Untitled Document</title>
  6. </head>
  7.  
  8. <body>
  9. <ul>
  10. <li><a href="index.php">HOME</a></li>
  11. <li><a href="forminserta.html">Inserta Coche</a></li>
  12. <li><a href="formbusca.html">Busca Coche</a></li>
  13. </ul>
  14. <p align = "center">
  15. <h2>RESULTADO DE LA BÚSQUEDA</h2>
  16. <?php
  17. $host="localhost";
  18. $user="root";
  19. $password = ""; //Poner aquí nuestra contraseña.
  20. $db="racer";
  21. $enlace = mysql_connect($host,$user,$password);
  22. mysql_select_db($db,$enlace);
  23.  
  24. $consulta = mysql_query("SELECT * FROM carros
  25. WHERE
  26. marca LIKE '$marca' or modelo LIKE '$modelo' or fecha LIKE '$fecha' or precio LIKE '$precio'",$enlace);
  27.  
  28. while($row = mysql_fetch_array($consulta)){
  29. $id= $row["id"];
  30. $marca= $row["marca"];
  31. $modelo= $row["modelo"];
  32. $fecha= $row["fecha"];
  33. $color = $row["color"];
  34.  
  35. echo '<table width="100%" border="0">';
  36. echo '<tr>';
  37. echo '<td width="12%"><a href=modificarcoche.php?id='.$id.'>Modificar</a></td>';
  38. echo '<td width ="12%"><a href=borrarcoche.php?id='.$id.'>Borrar</a></td>';
  39. echo '<td width="12%"><a href=catalogo.php?id='.$id.'>Datos</a></td>';
  40. echo '<td width="26%">'.$marca.'</td>';
  41. echo '<td width="26%">'.$modelo.'</td>';
  42. echo '<td width="26%">'.$fecha.'</td>';
  43. echo '<td width="26%">'.$color.'</td>';
  44. echo '</tr>';
  45. echo '</table>';
  46. echo '<hr size = 2 color = ffffff width = 100% align = left>';}
  47. ?>
  48. <a href="http://localhost/formbusca.htm">Volver
  49. </body>
  50. </html>


Este este es el resultado de una busqueda teniendo como funcion : modificar(modifica el coche), borrar(borrar cohce), datos (datos del coche). como pueden ver cada una redireccionando a una pag.php. dando como variable en la URL de "id"
Hasta aqui esta bien todo me da, pero si quiero modificar el choche: modificacoche.php:
Código php:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Untitled Document</title>
  6. </head>
  7.  
  8. <body>
  9. <ul>
  10. <li><a href="index.php">HOME</a></li>
  11. <li><a href="forminserta.html">Inserta Coche</a></li>
  12. <li><a href="formbusca.html">Busca Coche</a></li>
  13. </ul>
  14. <p align = "center">
  15. <h1><?php echo $id = $_POST[id]; ?></h1>
  16. <form name="form" action= "modificarcoche2.php" method="post">
  17. <strong><h2>MODIFIQUE LOS DATOS DEL VEHÍCULO.</h2></strong>
  18. <hr size = "8" color = "ffffff" width = "100%" align = "left">
  19. <form name="form" action= "modificarcoche2.php" method="POST">
  20. Seleccione la marca de su vehículo:
  21. <select name="marca">
  22. <option value="alfa romeo">Alfa Romeo </option>
  23. <option value="audi">Audi </option>
  24. <option value="bmw">BMW </option>
  25. <option value="chrysler">Chrysler </option>
  26. <option value="ctroen">Citroen </option>
  27. <option value="daewoo">Daewoo </option>
  28. <option value="fiat">Fiat </option>
  29. <option value="ford">Ford </option>
  30. <option value="honda">Honda </option>
  31. <option value="hyundai">Hyundai </option>
  32. <option value="jeep">Jeep </option>
  33. <option value="kia">Kia </option>
  34. <option value="lancia">Lancia </option>
  35. <option value="lexus">Lexus </option>
  36. <option value="mazda">Mazda </option>
  37. <option value="mercedes">Mercedes </option>
  38. <option value="rnitsubishi">Mitsubishi </option>
  39. <option value="nissan">Nissan </option>
  40. <option value="opel">Opel </option>
  41. <option value="peugeot">Peugeot </option>
  42. <option value="porsche">Porsche </option>
  43. <option value="renault">Renault </option>
  44. <option value="rover">Rover </option>
  45. <option value="scab">Saab </option>
  46. <option value="seat">Seat </option>
  47. <option value="skoda">Skoda </option>
  48. <option value="toyota">Toyota </option>
  49. <option value="volkswagen">Volkswagen </option>
  50. <option value="volvo">Volvo </option>
  51. </select>
  52. <br>
  53. <h5>Indique el modelo:<input name="modelo" type="text" size="45"></h5>
  54. <h5>Indique el color:<input name="color" type="text" size="48"></h5>
  55. <h5>Combustible:
  56. <input name="combustible" type="radio" value="diesel" >Diesel
  57. <input name="combustible" type="radio" value="gasolina" checked>Gasolina
  58. </h5>
  59. <h5>Año de matriculación:<input name="fecha" type="text" size="10"></h5>
  60. <h5>Precio:<input type="text" name="precio" size="10"></h5>
  61. <h5>
  62. <hr size = "4" color = "ffffff" width = "100%" align = "left">
  63. <input type="hidden" name="id" value="<?php $_POST[id] ?>"/>
  64. <input name="Enviar" type="submit" value="Enviar" />
  65. </h5>
  66. </form>
  67. </body>
  68. </html>

Esta es la pagina modificar.php, eh aqui el problema: tengo al principio como orden enseñar la variable id (se supone que me la tendria que dar dado que la mande en la URL) y no me da nada, trato de mandar en esta pag por medio de un hidden la variables id para la base de datos de coches y ir a la siguiente pagina

modificarcoche2.php
Código php:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Untitled Document</title>
  6. </head>
  7.  
  8. <body>
  9. <ul>
  10. <li><a href="index.php">HOME</a></li>
  11. <li><a href="forminserta.html">Inserta Coche</a></li>
  12. <li><a href="formbusca.html">Busca Coche</a></li>
  13. </ul>
  14. <p align = "center">
  15. <h2>DATOS DEL VEHÍCULO MODIFICADOS</h2>
  16. <?
  17. // connect()
  18. function connect() {
  19. $db_host = 'localhost';
  20. $db_user = 'root';
  21. $db_pass = '';
  22. $db_name = 'racer';
  23.  
  24. $db_connect = mysql_connect($db_host,$db_user,$db_pass);
  25. $db_select = mysql_select_db($db_name,$db_connect);
  26. }
  27. connect();
  28.  
  29. //Variables
  30. $id = $_POST[id];
  31. $marca = $_POST[marca];
  32. $modelo = $_POST[modelo];
  33. $combustible = $_POST[combustible];
  34. $color = $_POST[marca];
  35. $fecha = $_POST[fecha];
  36. $precio = $_POST[precio];
  37.  
  38. echo $id;
  39. echo $marca;
  40. echo $modelo;
  41. echo $combustible;
  42. echo $color;
  43. echo $fecha;
  44. echo $precio;
  45.  
  46.  
  47. ///////////Consuta: Actualizacion de datos de carros
  48. $query = "UPDATE `racer`.`carros`
  49. SET
  50. marca='$marca', modelo ='$modelo', combustible='$combustible', color = '$color', fecha = '$fecha', precio = '$precio'
  51. WHERE
  52. id ='$id'";
  53. mysql_query($query_) or die(mysql_error());
  54. echo 'Se han actualizado los Datos';
  55.  
  56. ?>
  57. <a href="formbusca.html">Volver</a>
  58. Volver
  59. </body>
  60. </html>

en esta pag modificarcoche2.php No sigue mostrando la variable id, ni las otras variables...

Podrian ayudarme. acepto criticas mejoras en el codigo etc..
dudas:
hay alguna manera de ahorrarse el estar declarando las variables que mandas por el metodo post: ejemplo $id = $_POST[id];

Última edición por GatorV; 13/12/2008 a las 15:14
  #2 (permalink)  
Antiguo 13/12/2008, 14:51
 
Fecha de Ingreso: octubre-2008
Mensajes: 42
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Problemas con pasar variable con URL y hidden

hola, me parece que cuando haces $consulta, prueba no colocar "like" y solo una igualdad, por ejemplo: marca=$marca...(es un ejemplo), eso es lo que se me ocurre, puede que este equivocado pero pruebalo.
Saludos
  #3 (permalink)  
Antiguo 13/12/2008, 15:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problemas con pasar variable con URL y hidden

Pues el problema es este: <input type="hidden" name="id" value="<?php $_POST[id] ?>"/> si te fijas no haces nada con $_POST['id'], necesitas un echo .

Por otro lado, lo más recomendable es usar $_POST['nombre_del_campo'] ya que si lo haces sin las comillas simples si corres PHP con E_NOTICE activado te va a marcar un problema.

Saludos.
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 07:00.