Foros del Web » Programando para Internet » PHP »

formulario:pasar datos sin cambiar url

Estas en el tema de formulario:pasar datos sin cambiar url en el foro de PHP en Foros del Web. Buenas tengo este formulario que funciona bien, pero quiero que cuando se envie el mensaje se quede en la misma pagina, y no vaya a ...
  #1 (permalink)  
Antiguo 23/10/2009, 03:49
 
Fecha de Ingreso: abril-2008
Mensajes: 144
Antigüedad: 16 años, 7 meses
Puntos: 1
Pregunta formulario:pasar datos sin cambiar url

Buenas tengo este formulario que funciona bien, pero quiero que cuando se envie el mensaje se quede en la misma pagina, y no vaya a la pagina .php como lo puedo hacer?

FOrm.html
Código PHP:
<form name="f1"action="contacte.php" method="post" onSubmit="return valida(this)" target= >
                                                        <
label>Nom:</label><br>
                                                        <
input name="nom" type="text" size="25" maxlength="30">*<br><br>
                                                        <
label>Direcció:</label>    <br>
                                                        <
input name="dir" type="text" size="30" maxlength="50">*    <br>    <br>                                        
                                                        <
label>Telefón:</label>    <br>
                                                        <
input name="tel" type="text" size="9" maxlength="9">*<br><br>
                                                        <
label>Email:</label>    <br>
                                                        <
input name="email" type="text" size="25" maxlength="50" >*<br><br>
                            
                                                        
                                                        <
label>Descripció:</label>    <br>
                                                        <
font>
                                                        <
textarea name="descripcio" cols="35" rows="4"></textarea>
                                                        </
font><br>
                                                        <
br><br>
                                                        <
input name="Enviar" type="submit" value="Enviar">
                                                        </
form>
            <
script language="javascript" type="text/javascript">    
    function 
valida(formulari){
    
    
//valida el nom
    
if (document.f1.nom.value.length==0){
       
alert("Has d'omplir el camp del NOm:")
       
document.f1.nom.focus()
       return (
false);
    }
    
//valida la direcció
    
else if
       (
document.f1.dir.value.length==0){
       
alert("Has d'omplir el camp del Direcció:")
       
document.f1.nom.focus()
       return (
false);
    } 
    
//valida el telefon
    
else if
       (
document.f1.tel.value.length==0){
       
alert("Has d'omplir el camp del Telèfon:")
       
document.f1.tel.focus()
       return (
false);
    } 
    
//valida l'email
    
else if
       (
document.f1.email.value.length==0){
       
alert("Has d'omplir el camp del Email:")
       
document.f1.email.focus()
       return (
false);
    } 
    
//valida la descripcio
    
else if
       (
document.f1.descripcio.value.length==0){
       
alert("Has d'omplir el camp descripció:")
       
document.f1.descripcio.focus()
       return (
false);
    } 
    else
    {
    
alert("Missatge Enviat correctament:")
        return (
true);
    }
    
    
    } 
y el mini trozo de php es:

Código PHP:
<?php 

if (isset($_POST['email'])) { 



   
$msg"";  
   
$msg"Mensaje del formulario de contacto de nnatali.com";  
   
$msg.= "\nNombre: "$_POST['nom'];  
   
$msg.= "\nEmail: ".$_POST['email'];  
   
$msg.= "\nTelefono: "$_POST['tel'];  
   
$msg.= "\nMensaje: \n".$_POST['descripcio'];  
   
$remitente $_POST['email'];  
   
$subject "Mensaje enviado desde nnatali.com por: ".$_POST['nom'];  
   
mail('[email protected]'$subject$msg"FROM: $remitente");  
     
  }
 



      
?> 

gracias :)
  #2 (permalink)  
Antiguo 23/10/2009, 05:46
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 16 años, 3 meses
Puntos: 139
Respuesta: formulario:pasar datos sin cambiar url

Código CODIGO:
Ver original
  1. <form action="<?php echo $_SERVER['PHP_SELF'] ?>"  method="post">
  #3 (permalink)  
Antiguo 23/10/2009, 15:27
Avatar de iandrade  
Fecha de Ingreso: septiembre-2006
Ubicación: Xalapa, Veracruz, MÉXICO.
Mensajes: 171
Antigüedad: 18 años, 2 meses
Puntos: 6
Respuesta: formulario:pasar datos sin cambiar url

si dejas el campo vacio de action="" automaticamente te redirecciona a la misma pagina

ahora silo que quieres es que el usuario se quede en la misma pagina puedes hacer 3 cosas

1) mandar a la pagina que procesa y al final del archivo ponerle un header
Código PHP:
header('Location: PaginaALaQueDebeIrElUsuario.php'
2) en el target del form puedes ponerle target="_blank" y se abrira en una pagina aparte y puedes cerrarla automaticamente despues deprocesar tu php con javascript
3) Hacer una conexion con Ajax que te procese el formulario sin necesidad de que te cambies de pagina.
__________________
No todo lo que se hace en segundo plano es AJAX
  #4 (permalink)  
Antiguo 23/10/2009, 20:14
Avatar de Yefb  
Fecha de Ingreso: septiembre-2008
Ubicación: Medellín
Mensajes: 55
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: formulario:pasar datos sin cambiar url

Si colocas un:
Header("Location: $_SERVER['REQUEST_URI']");
Probablemente quede solucionado el embrollo, 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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:42.