Foros del Web » Programando para Internet » PHP »

Procesador formulario desde el php

Estas en el tema de Procesador formulario desde el php en el foro de PHP en Foros del Web. Hola, Es algo raro. Tengo un formulario. Cuando hago onsubmit, se llama una función javascript, espera 3 segundos y, al terminar, hace el form.submit() (lo ...
  #1 (permalink)  
Antiguo 24/02/2010, 10:30
 
Fecha de Ingreso: agosto-2008
Mensajes: 143
Antigüedad: 15 años, 7 meses
Puntos: 1
Procesador formulario desde el php

Hola,

Es algo raro. Tengo un formulario. Cuando hago onsubmit, se llama una función javascript, espera 3 segundos y, al terminar, hace el form.submit() (lo que vendría a ser, hacer el action del formulario).

El problema es que el php que recibe el formulario, no me procesa los datos :(

Os pongo el código a ver si veis qué falla.


El formulario html:

Código:
<div style="height: 25px;">
			<div id="resultado">Insertando...&nbsp;&nbsp;<img src=./IMG/ajax-loader.gif></div>
		</div>
					<form name="formlogin" id="formlogin" action="conPhpAjax.php" method="post" class="form" onsubmit="return prova();" >


						<label for="usdni">DNI </label>

						<div class="div_texbox">

							<input class="username" name="usdni" type="text" class="usdni" id="usdni" />

						</div>
El código JS:

Código:
function prova(){
	document.getElementById("resultado").style.display = 'block';
	setTimeout("nova()", 3000);
	return false;
}

function nova(){
	document.forms["formlogin"].submit();
}
Y la página donde está puesto el action del formulario:

Código:
<?php
	include('functions.php');
	// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
	echo "variables: ";
	echo $HTTP_POST_VARS["usdni"] ;
	echo $_POST['udni'];
	echo "FIN variables: ";
?>
La idea es simular un retardo de tiempo a la hora de mandar el formulario (de manera que un campo que estaba ocultado [resultado] se muestre [tal como hace el javascript] aunque en realidad sea instantáneo). Una vez han pasado 3 segundos (simulando con un gif, como he dicho, que se procesan los datos), quiero que se llame el submit del formulario (el action vaya) y me haga el echo de las variables del formulario... Pero no lo hace. No las recibe :(

La idea es que al final, en lugar del echo de las variables se haga un insert a una base de datos. Lo ideal sería que la página del action no se viera, sólo se ejecutara y después se viera otra página distinta (por ejemplo, consultar los datos introducidos).

Me podeis ayudar/replantear la situación? Ando algo perdido...

Gracias
  #2 (permalink)  
Antiguo 24/02/2010, 10:42
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Procesador formulario desde el php

Cita:
Iniciado por samy4ever Ver Mensaje
Hola,

El problema es que el php que recibe el formulario, no me procesa los datos :(
¿Y los recibe? Debes comprobar esto primero
¿Q versión de PHP utilizas? Es mejor utilizar $_POST, y si es esto fíjate q tienes
Código PHP:
echo $_POST['udni'
y el name = usdni




Cita:
Iniciado por samy4ever Ver Mensaje

La idea es simular un retardo de tiempo a la hora de mandar el formulario (de manera que un campo que estaba ocultado [resultado] se muestre [tal como hace el javascript] aunque en realidad sea instantáneo). Una vez han pasado 3 segundos (simulando con un gif, como he dicho, que se procesan los datos), quiero que se llame el submit del formulario (el action vaya) y me haga el echo de las variables del formulario... Pero no lo hace. No las recibe :(

La idea es que al final, en lugar del echo de las variables se haga un insert a una base de datos. Lo ideal sería que la página del action no se viera, sólo se ejecutara y después se viera otra página distinta (por ejemplo, consultar los datos introducidos).
Me parece q lo que quieres lograr es algo parecido a AJAX, en ese caso deberías echarle unas miradas a algunos tutos primero, si es esto te acercará más a lo que quieres lograr
Puedes consultar:
http://www.google.com.cu/#hl=es&q=aj...c9a97574402bb1

Etiquetas: procesador, formulario
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 06:13.