Foros del Web » Programando para Internet » PHP »

Problema al mandar formulario

Estas en el tema de Problema al mandar formulario en el foro de PHP en Foros del Web. Hola que tal a todos por aquí, el problema es el siguiente: lo que pasa es que mando un formulario sin recargar la pagina, se ...
  #1 (permalink)  
Antiguo 07/04/2013, 15:11
 
Fecha de Ingreso: septiembre-2012
Mensajes: 112
Antigüedad: 11 años, 7 meses
Puntos: 1
Problema al mandar formulario

Hola que tal a todos por aquí, el problema es el siguiente: lo que pasa es que mando un formulario sin recargar la pagina, se manda el valor name y si este es vació $x='error'
lo que quiero hacer es lo siguiente: abajo en mi formulario intento imprimir la variable $x pero no no logro que es lo que tengo que hacer par que se pueda imprimir, muchas gracias por adelantado!

Este es mi codigo:
Form
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Formulario simple</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
      $(function(){
        $("#form1").submit(function(){
          $.ajax({
            type:"POST",
            url:"send.php",
            dataType:"html",
            data:$(this).serialize(),
            beforeSend:function(){
       
            },
            success:function(response){
                $("#response").html(response);
          
            }

          })
          return false;
        })

      })
      </script>
  
  </head>
  <body>
    <div id="loading" style="display:none;"><img src="http://www.forosdelweb.com/f18/images/loading.gif" ></div>
    <form name="form1" id="form1" method="post">
      <fieldset class="login">
        <legend>Perfil</legend>
        <div>
        <label>Nombre</label>
        <input type="text" name="name" id="name" value="">
        </div>     
        <div>
          <button type="submit" name="enviar" >Enviar</button>
        </div>
      </fieldset>
    </form>
   
    
    <?php echo $x?>
  </body>
</html>


Pagina donde se manda el valor
Código PHP:
<?php

if ($_POST['name']==""){

echo 
$x='error';
}

?>

Última edición por Jennifert; 07/04/2013 a las 15:24
  #2 (permalink)  
Antiguo 07/04/2013, 15:33
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Problema al mandar formulario

En tu php, $x no es nada, menos aún en la página dónde tenés el form, con suerte, si tu configuración de php no imprime errores, vas a recibir un string vacia como responseText
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 07/04/2013, 15:45
 
Fecha de Ingreso: septiembre-2012
Mensajes: 112
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: Problema al mandar formulario

Gracias, te entiendo perfectamente, pero como se puede hacer para retornar el valor de $x
  #4 (permalink)  
Antiguo 07/04/2013, 15:54
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Problema al mandar formulario

Es que $x no está definida, no tiene valor alguno
a ver

<?php
$x = "error";
echo $x;
?>

te imprime "error" pero vos simplemente tenés
Código:
echo $x = 'error';
que genera un error de php, a lo mejor lo que querés hacer es lo primero, pero tenés que definir $x

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 07/04/2013, 16:02
 
Fecha de Ingreso: abril-2010
Ubicación: Saltillo Mexico
Mensajes: 83
Antigüedad: 14 años
Puntos: 4
Respuesta: Problema al mandar formulario

Lo que hace falta es poner el elemento con id="response"


Código HTML:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2.   <head>
  3.     <title>Formulario simple</title>
  4.     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5.     <script type="text/javascript" src="jquery.js"></script>
  6.     <script type="text/javascript">
  7.       $(function(){
  8.         $("#form1").submit(function(){
  9.           $.ajax({
  10.             type:"POST",
  11.             url:"send.php",
  12.             dataType:"html",
  13.             data:$(this).serialize(),
  14.             beforeSend:function(){
  15.        
  16.             },
  17.             success:function(response){
  18.                 $("#response").html(response);
  19.          
  20.             }
  21.  
  22.           })
  23.           return false;
  24.         })
  25.  
  26.       })
  27.       </script>
  28.  
  29.   </head>
  30.   <body>
  31.     <div id="loading" style="display:none;"><img src="http://www.forosdelweb.com/f18/images/loading.gif" ></div>
  32.     <form name="form1" id="form1" method="post">
  33.       <fieldset class="login">
  34.         <legend>Perfil</legend>
  35.         <div>
  36.         <label>Nombre</label>
  37.         <input type="text" name="name" id="name" value="">
  38.         </div>    
  39.         <div>
  40.           <button type="submit" name="enviar" >Enviar</button>
  41.         </div>
  42.       </fieldset>
  43.     </form>
  44.    
  45.    
  46.     <div id="response"></div>
  47.   </body>
  48. </html>

<div id="response"></div> en lugar de <?php echo $x; ?>

Código PHP:
Ver original
  1. <?php
  2.  
  3. if ($_POST['name']==""){
  4.  
  5.     echo $x='error';
  6. }else{
  7.     $x = $_POST['name'];
  8.     echo $x; // <-- aqui es donde pones el valor de $x; que se va a mostrar en el div id="response"
  9. }
  10. ?>

Etiquetas: formulario, html
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 21:38.