Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/11/2010, 16:47
Dany_s
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 11 meses
Puntos: 65
Respuesta: Pasar string para recoger con PHP

si, escape te codifica, todo muy lindo, pero...
haz visto los ejemplos del link que te pasé? viste lo que hace? los probaste?

si a ese formulario que tienes le agregas más y más campos te puedes llegar a imaginar el kilómetro de linea que va a tener la url que formas para enviar???

si eliminas un campo del formulario tenes que eliminar de la url que formas
si modificas el name tenes que modificar en la url que formas
si ya se, es sencillo, pero no lo es al modificar una y otra vez, en uno y en otro formulario

si te dan un formulario grande no podes tomarte el trabajo de ir campo por campo indicando el par clave/valor en la url

serialize te soluciona y te hace la vida mas fácil, y aparte ya te codifica la url

mira, tenes un simple php que se llama x.php
Código PHP:
Ver original
  1. <?php
  2. echo "Dato " . $_GET['nombre'] . " " . $_GET['apellido'];
  3. ?>
que imprime 2 variables enviadas por get, "nombre" y "apellido"

tenes este jquery para enviar los datos a ese php e imprimir
Código HTML:
Ver original
  1.     <head>
  2.         <title>Ejemplon</title>
  3.         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  4.     </head>
  5.         <script type="text/javascript">
  6.            
  7.             $( function (){
  8.                 $('#enviar').click( function(){
  9.                     $("#resultados").load('x.php?nombre='+$('#nombre').val()+'&apellido='+$('#apellido').val());
  10.                     return false;
  11.                 });
  12.             });
  13.         </script>
  14.     <body>
  15.  
  16.         <form>
  17.             Nombre <input type="text" id="nombre" name="nombre">
  18.             Apellido <input type="text" id="apellido" name="apellido">
  19.         </form>
  20.         <button id="enviar">Insertar</button>
  21.         <div id="resultados"></div>
  22.     </body>
  23. </html>
tuve que indicar/recuperar clave y valor para esos 2 campos (me imagino lo que seria com 20 campos)
si al campo nombre envias 2 palabras no va a funcionar porque como no codifica la URL te va a cortar en la primer palabra, ok entonces usamos scape, listo ya funciona


ahora mira esto
Código HTML:
Ver original
  1.     <head>
  2.         <title>Ejemplon</title>
  3.         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  4.     </head>
  5.         <script type="text/javascript">
  6.            
  7.             $( function (){
  8.                 $('#enviar').click( function(){
  9.                     $("#resultados").load('x.php?'+$('form').serialize());
  10.                     return false;
  11.                 });
  12.             });
  13.         </script>
  14.     <body>
  15.  
  16.         <form>
  17.             Nombre <input type="text" id="nombre" name="nombre">
  18.             Apellido <input type="text" id="apellido" name="apellido">
  19.         </form>
  20.         <button id="enviar">Insertar</button>
  21.         <div id="resultados"></div>
  22.     </body>
  23. </html>

magia!