Foros del Web » Programando para Internet » Javascript »

php dentro de <script>

Estas en el tema de php dentro de <script> en el foro de Javascript en Foros del Web. buenas, tengo un formulario que lo mando pasando por una funcion para validar si los datos son correctos. tengo un include.php que me manda un ...
  #1 (permalink)  
Antiguo 05/02/2010, 04:33
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
php dentro de <script>

buenas,

tengo un formulario que lo mando pasando por una funcion para validar si los datos son correctos.

tengo un include.php que me manda un email con los datos, y el submit se envia si estan los campos validados tal que asi:

<script>
.....
document.forms.formpago.submit();

</script>

y me gustaria incluir el include cuando se haya enviado el formulario y no antes. el problema es que el submit se envia a una pasarela de pago y no puedo pasar antes por un archivo si no la pasarela no recibe los datos...

puede hacerse lo que digo?

saludos
  #2 (permalink)  
Antiguo 05/02/2010, 04:39
Avatar de blekia  
Fecha de Ingreso: julio-2009
Mensajes: 204
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: php dentro de <script>

Por lo que entiendo creo que lo que debes de hacer es que el formulario no vaya directamente a la pasarela de pago, sino a tu propio script.

Una vez el usuario le da a enviar tu procesas los campos, pones tu include, y luego creas imprimes lo siguiente al navegador:

Código PHP:
$output "
<html><body onLoad=''>
<form action='URLdelTPV' method='post' style='display:none'>
<input ...
</form>
</body></html>
"
;
 
echo 
$output;
exit; 
De esta manera ya habrás enviado tu email y cuando la página cargue le enviará el formulario al TPV.

Salu2


Cita:
Iniciado por ferranWEB Ver Mensaje
buenas,

tengo un formulario que lo mando pasando por una funcion para validar si los datos son correctos.

tengo un include.php que me manda un email con los datos, y el submit se envia si estan los campos validados tal que asi:

<script>
.....
document.forms.formpago.submit();

</script>

y me gustaria incluir el include cuando se haya enviado el formulario y no antes. el problema es que el submit se envia a una pasarela de pago y no puedo pasar antes por un archivo si no la pasarela no recibe los datos...

puede hacerse lo que digo?

saludos
__________________
Controla tu Página Web con cualquier navegador.
  #3 (permalink)  
Antiguo 05/02/2010, 10:18
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: php dentro de <script>

bekia no acabo de entenderte.

ahora tengo una web con un formulario. cuando el usuario rellena correctamente los datos, los valido en el script y mando el form a la pasarela de pago.

claroi he puesto el include en el html, tonto de mi, y me llega el email cada vez que la gente entra. lo que me ash puesto me parece interesante, pero no acabo de pillarte como hacerlo

saludos!
  #4 (permalink)  
Antiguo 08/02/2010, 04:58
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: php dentro de <script>

blekia no entiendo lo que me comentabas

puedes explicarme mejor?

saludos!
  #5 (permalink)  
Antiguo 08/02/2010, 10:13
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: php dentro de <script>

me lo podeis explicar mejor?

saludos!
  #6 (permalink)  
Antiguo 08/02/2010, 10:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: php dentro de <script>

Podrías mejor indicar lo que deseas, porque no entendí lo que quieres hacer.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 08/02/2010, 10:33
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: php dentro de <script>

he hecho esto y no me va a la pagina de la pasarela

<PHP>
<?

$output = "
<html><body onLoad=''>
<form action='TPV' method='post' style='display:none'>
<input name='var' type='hidden' id='var' value='<? $var ?>' />
</form>
</body></html>
";

echo $output;
exit;

?>
</PHP>
  #8 (permalink)  
Antiguo 08/02/2010, 10:37
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: php dentro de <script>

Primero, te sugiero que todo lo que sea html no lo coloques dentro de las etiquetas de PHP. Segundo, no se puede volver a declarar la estructura de PHP una vez la hayas creado
Código PHP:
Ver original
  1. //MAL
  2. <?php
  3.   <?php ?>
  4. ?>
Tercero, usa la estructura completa
Código PHP:
Ver original
  1. <?php
  2. ?>
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 08/02/2010, 10:45
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: php dentro de <script>

si abimael,

tengo el siguiente problema. tengo mi pasarela de pago en php, y al final de la compra tengo un form donde mando los datos del comprador a la pasarela bancaria via POST. esto funciona. el problema es que yo guardaba una vez la entidad bancaria me confirma la compra. pero hay casos que si el cliente no le da a cerrar la ventana, no me devuelve a mi web y me quedo sin datos. y en ese caso, tengo un dinero que no se de quien es. (ha pasado solo 1 vez pero ha pasado)

ellos tienen una opcion de mandar los datos, que deben enviarse por POST, el problema es que yo el carrito de la compra funciona por GET, y entonces solo se mandan los datos de la persona, pero no los detalles de la compra.

por ello y para curarme en salud, quiero mandar la info de la compra en una bd temporal, por si acaso sucede poder recuperar los datos de la compra.

y por eso, como tengo que mandar el form por POST a la pasarela bancaria, quiero tener una URL intermedia donde guardare los datos, y reenviare a la pasarela. pero claro, el necesito leer la variable en esa URL y mandar en un form por POST a la pasarela. y el header.location me manda por GET...

vaya rollo te he pegado! entendiste? jajaja

saludos
  #10 (permalink)  
Antiguo 08/02/2010, 10:51
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: php dentro de <script>

Sinceramente, no. , pero si me indicas un ejemplo de lo que estas diciendo tal vez.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 08/02/2010, 10:57
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: php dentro de <script>

siempre, tengo un form que manda los datos por POST, ok? esto lo mando a una direccion tal que asi: tpv.com...

quiero guardar la informacion antes de enviarla a la pasarela. de esta forma, quiero mandar el form a una pagina intermedia (temp.php) donde recogere el valor de la variable que quiero guardar ($MerchanData), guardare en mi bd y mandare por POST al tpv.com.

entiendes? necesito coger los datos, guardalos y mandar los datos sin que se pierdan por POST... al hacer header location se mandan por GET...

ahora me explique?
  #12 (permalink)  
Antiguo 08/02/2010, 11:04
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: php dentro de <script>

Tienes varias opciones, según veo, una de ellas es volver a crear un formulario con campos hidden y con javascript usas la función submit() para enviar la información que está en ese formulario. O puedes usar ajax para que haga el trabajo de tanto enviar la información a la base de datos y luego que termine llame otra función para que envie la información por el método de POST.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #13 (permalink)  
Antiguo 08/02/2010, 11:06
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: php dentro de <script>

me quedo con la primera opcion, pero de que forma los envio si no tengo un campo enviar? es decir, tiene que enviarse automaticamente y es lo que no me sale

saludos!
  #14 (permalink)  
Antiguo 08/02/2010, 11:08
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: php dentro de <script>

El escribir solamente esto lo debe hacer, te sugiero que uses el método de onload para enviarlo pero con esto es suficiente
Código HTML:
Ver original
  1. <script type='text/javascript'>
  2. document.NombreDelFormulario.submit();
Lo hace automatico.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #15 (permalink)  
Antiguo 08/02/2010, 11:10
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: php dentro de <script>

donde lo escribo eso? yo se hacelo dandole al boton buscar y llamando a una funcion. pero como se hace directameente?
  #16 (permalink)  
Antiguo 08/02/2010, 11:12
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: php dentro de <script>

pero ¿habrás visto bien lo que escribí? Te sugiero que lo ingreses despues del formulario, no antes.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #17 (permalink)  
Antiguo 08/02/2010, 12:01
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: php dentro de <script>

perdona no te lei

ya me funciono, pensaba que no se podia meter el script fuera del head. gracias, ahroa me pasa otra cosa.

el form que envio, le paso en el campo value de los campos datos que obtengo en la misma pagina, asi como los datos del usuario.

ahora en la pagina intermedia, necesito recoger esos datos para volver a enviarlos, ya que he probado de reenviar a la pasarela y no me da valor. el form que tengo tiene por ejemplo un input tal que asi:

<input name="Ds_Merchant_Order" type="hidden" id="Ds_Merchant_Order" value="<? echo $order; ?>" />

de que forma lo recibo, y mando en la siguiente pagina? lo he puesto en el form de la misma manera y me manda nada.

saludos
  #18 (permalink)  
Antiguo 08/02/2010, 13:00
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: php dentro de <script>

ya lo consgui abimael!

gracias!

Etiquetas: php
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:47.