Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Pasar string para recoger con PHP

Estas en el tema de Pasar string para recoger con PHP en el foro de Frameworks JS en Foros del Web. Código PHP: Estoy utilizando ajax con jquery y todo va de maravilla solo tengo una duda. Cuando quiero pasar un string desde un formulario no funciona. Lo hago de esta forma: $("#content").load("index.php?modulo=detalle_observacion&id= <?php  echo  $id ?> &nombre_escuela="+$('#nombre_escuela').val()+"&lugar_escuela="+$('#lugar_escuela').val()+"&tipo_escuela="+tipo_escuela+"&anios_trabaja="+$('#anios_trabaja').val()+"&numero_estudiantes="+$('#numero_estudiantes').val()+"&fecha_observacion="+$('#fecha_observacion').val()+"&hora_inicio="+$('#hora_inicio').val()+"&hora_finalizacion="+$('#hora_finalizacion').val()+"&area="+area+"&fecha_observacion="+$('#fecha_observacion').val()+"&factores_externos="+$('#factores_externos').val(), function(){ por ejemplo si en el <input type=text> Escribo: "cosa" el valor pasa sin problema pero si ...
  #1 (permalink)  
Antiguo 05/11/2010, 14:28
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 15 años, 5 meses
Puntos: 1
Pasar string para recoger con PHP

Código PHP:
Estoy utilizando ajax con jquery y todo va de maravilla solo tengo una duda.
Cuando quiero pasar un string desde un formulario no funciona. Lo hago de esta forma:

$("#content").load("index.php?modulo=detalle_observacion&id=<?php echo $id ?>&nombre_escuela="+$('#nombre_escuela').val()+"&lugar_escuela="+$('#lugar_escuela').val()+"&tipo_escuela="+tipo_escuela+"&anios_trabaja="+$('#anios_trabaja').val()+"&numero_estudiantes="+$('#numero_estudiantes').val()+"&fecha_observacion="+$('#fecha_observacion').val()+"&hora_inicio="+$('#hora_inicio').val()+"&hora_finalizacion="+$('#hora_finalizacion').val()+"&area="+area+"&fecha_observacion="+$('#fecha_observacion').val()+"&factores_externos="+$('#factores_externos').val(), function(){
por ejemplo si en el <input type=text> Escribo: "cosa" el valor pasa sin problema pero si escribo "algunas cosas" por el espacio en blanco todo se daña.

HE cambiado de posicion las comillas pero sin exito. Alguien me puede dar una ayuda.

Saludos
  #2 (permalink)  
Antiguo 05/11/2010, 14:34
 
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

php dentro de un js?
o dentro de una vista php mezclas js con php?


separa cada cosa, html por un lado, js por otro

para no hacer esas largas cadenas de url concatenando clave/valor tenes este método http://api.jquery.com/serialize/
  #3 (permalink)  
Antiguo 05/11/2010, 14:41
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Pasar string para recoger con PHP

gracias por el aporte.
Pero con este problema cual podria ser la solucion la que dices sirve?? Lo has probado tu?

Saludos
  #4 (permalink)  
Antiguo 05/11/2010, 15:39
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Pasar string para recoger con PHP

Agradezco tu aporte Dany_s .
Yo siempre manejo en capaz estoy arreglando el codigo de otro programador y la urgencia es porque tengo que entregar este trabajo lo que buscaba y con lo que se soluciona es tan solo poniendo la palabra :

Código Javascript:
Ver original
  1. escape

Ej:
Código Javascript:
Ver original
  1. &nombre_escuela="+escape($('#nombre_escuela').val())+"

Saludos
  #5 (permalink)  
Antiguo 05/11/2010, 16:47
 
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!
  #6 (permalink)  
Antiguo 05/11/2010, 23:11
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Pasar string para recoger con PHP

Claro que lo probe.
Pero como te indico ese momento era una urgencia.

Ahora que la todo ya se calmo ya pude corregir el programa y con el código que escribiste quedo más claro todavia.

Saludos y gracias
  #7 (permalink)  
Antiguo 25/11/2010, 09:01
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Pasar string para recoger con PHP

Que tal,

Para pasar por GET con lo indicado:
$("#resultados").load('x.php?'+$('form').serialize ());

funciona perfecto pero si quiero pasar por GET como se realiza??

Alguien conoce esto.

Saludos
  #8 (permalink)  
Antiguo 25/11/2010, 10:37
 
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

a que te refieres?
a usar el método serialize para generar la cadena? de la misma forma

o si es para enviar los datos por get
http://api.jquery.com/jQuery.get/
  #9 (permalink)  
Antiguo 25/11/2010, 10:53
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Pasar string para recoger con PHP

Talvez me explique mal.

con serialize creamos la cadena y podemos recoger utilizando el metodo get.

Existe alguna forma de pasar todo pero recoger con el metodo post ??

Se entiende?

Saludos
  #10 (permalink)  
Antiguo 25/11/2010, 14:27
 
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

y con post http://api.jquery.com/jQuery.post/

recorré cada método en la doc, fijate los ejemplos asi tenés alguna idea de que se puede hacer
http://api.jquery.com/category/ajax/

Etiquetas: pasar, php, recoger, string
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 04:57.