Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/12/2008, 14:20
lesterin
 
Fecha de Ingreso: mayo-2008
Mensajes: 15
Antigüedad: 16 años
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