Foros del Web » Programando para Internet » Javascript »

PHP bloqueado por javascript

Estas en el tema de PHP bloqueado por javascript en el foro de Javascript en Foros del Web. Tengo aquí una forma de contacto: http://digicapmedia.com/creaartworks/en/contact.php , cuya action es el archivo send.php, que es éste: Código PHP: <?php if(isset( $_POST [ "name" ]) && isset( ...
  #1 (permalink)  
Antiguo 04/03/2007, 22:14
 
Fecha de Ingreso: octubre-2005
Mensajes: 207
Antigüedad: 18 años, 7 meses
Puntos: 0
PHP bloqueado por javascript

Tengo aquí una forma de contacto: http://digicapmedia.com/creaartworks/en/contact.php, cuya action es el archivo send.php, que es éste:
Código PHP:
<?php
if(isset($_POST["name"]) && isset($_POST["email"]) && isset($_POST["comments"]) ){
    
$fecha date("D-M-y H:i");
    
$mymail "[email protected]";
    
$subject "Free Quote";
    
$contenido .= "I am interested in a new: ".$_POST["interest"]."\n";
    
$contenido .= "Company: ".$_POST["company"]."\n";
    
$contenido .= "Contact name: ".$_POST["name"]."\n";
    
$contenido .= "Phone: ".$_POST["phone"]."\n";
    
$contenido .= "Fax: ".$_POST["fax"]."\n";
    
$contenido .= "Quantity: ".$_POST["quantity"]."\n";
    
$contenido .= "Date wanted by: ".$_POST["date wanted by"]."\n";
    
$contenido .= "Name: ".$_POST["name"]."\n";
    
$contenido .= "E-mail: ".$_POST["email"]."\n";
    
$contenido .= "Color information: ".$_POST["color"]."\n";
    
$contenido .= "List colors: ".$_POST["list colors"]."\n";
    
$contenido .= "Comments: ".$_POST["comments"]."\n";
    
$contenido .= "Date: ".$fecha;
    
$header "From:".$_POST["email"]."\nReply-To:".$_POST["email"]."\n";
    
$header .= "X-Mailer:PHP/".phpversion()."\n";
    
$header .= "Mime-Version: 1.0\n";
    
$header .= "Content-type: text/plain";
    
mail($mymail$subjectutf8_decode($contenido) ,$header);
    include 
"http://digicapmedia.com/creaartworks/en/contact.php?id=confirmation";
}
?>
Para hacer el campo email y phone obligatorios, agregué este código javascipt: http://digicapmedia.com/creaartworks...nsubmitform.js y le agregué a la forma esto:
Código PHP:
<form action='send.php' method='post' onsubmit='return validate(MyForm)' name='MyForm'
Pero ahora no funciona!! Si le dejo action y method solamente, funciona perfectamente. Pero con el onsumit no me llega a mi correo la info de este formulario, aunque al presionar enviar sí te mande a la página de confirmación que el archivo send.php especifica al final (
Código PHP:
include "http://digicapmedia.com/creaartworks/en/contact.php?id=confirmation"
)

¿¿Qué pasa??

Gracias--
__________________
eoran.com

Última edición por EmmanuelOA; 04/03/2007 a las 22:22
  #2 (permalink)  
Antiguo 05/03/2007, 03:10
.:Chimera:.
Invitado
 
Mensajes: n/a
Puntos:
Re: PHP bloqueado por javascript

Prueba con esto:

Código:
<form action='send.php' method='post' onsubmit='return validate(this)'>
O bien pon la accion javascript en el boton con el evento "onclick"

Salu2
  #3 (permalink)  
Antiguo 05/03/2007, 03:13
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
Re: PHP bloqueado por javascript

A ver, aparentemente parece buien, pero prueba a cambiar un par de cosillas:
Código HTML:
<form method='post' name='MyForm'> 
y en el boton pones:
Código HTML:
<input name='submit' type='submit' style='margin-right:10px' value='Send' onclick="javascript:validate(); return false;"> />
y el js:

Código:
function validate() {
    if (document.MyForm.email.value.length == 0)
    {
        alert("Please enter an e-mail address.")
        document.MyForm.email.focus()
        return false
    }
	if (document.MyForm.phone.value.length == 0)
    {
        alert("Please enter a contact phone number.")
        document.MyForm.phone.focus()
        return false
    }
    document.MyForm.action = "./send.php";    	
    document.MyForm.submit();
}
Yo es comolo hago y hast ahora sin problemas.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #4 (permalink)  
Antiguo 06/03/2007, 21:09
 
Fecha de Ingreso: octubre-2005
Mensajes: 207
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: PHP bloqueado por javascript

Hice exactamente lo que me dijiste Bytevamp, y el problema sigue siendo el mismo... no sé qué suceda... (los links son los mismos, para que vean los códigos js y php)
__________________
eoran.com

Última edición por EmmanuelOA; 06/03/2007 a las 21:18
  #5 (permalink)  
Antiguo 06/03/2007, 21:44
Avatar de demiurgo_daemon  
Fecha de Ingreso: diciembre-2006
Ubicación: Querétaro
Mensajes: 184
Antigüedad: 17 años, 4 meses
Puntos: 2
Re: PHP bloqueado por javascript

hola,

antes que nada, necesitas confirmar en php que se haya enviado el mensaje. por ejemplo:

Código:
if(mail($mymail, $subject, utf8_decode($contenido) ,$header)){
    include "url";
}
else echo "no se pudo enviar";
por supuesto, tu manejo del error debe ser bastante más sofisticado que esto. puedes leer la funcion mail en el manual de php para mayor información.

otra cosa es que, a mi parecer, los cambios que hiciste en el js sólo lo revolvieron; puedes regresar a como estabas y poner el cambio que sugirió .:Chimera:..

en resumen, el js no puede hacer que tu php se bloquee, sólo puede jugar con tus variables de manera que se manden mal o algo, pero no es el caso.

saludos
  #6 (permalink)  
Antiguo 07/03/2007, 22:05
 
Fecha de Ingreso: octubre-2005
Mensajes: 207
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: PHP bloqueado por javascript

Ya funcionó... y según yo, ya lo había hecho bien todo... no sé por qué antes no funcionaba. Ahora sólo una cosita: me lo envía 2 veces, ¿será algo en la confirmación? He aquí mi archivo send.php, el que está en la action del <form>:
Código PHP:
<?php
if(isset($_POST["name"]) && isset($_POST["email"]) && isset($_POST["comments"]) ){
    
$fecha date("D-M-y H:i");
    
$mymail "[email protected][email protected]";
    
$subject "Free Quote";
    
$contenido .= "I am interested in a new: ".$_POST["interest"]."\n";
    
$contenido .= "Company: ".$_POST["company"]."\n";
    
$contenido .= "Contact name: ".$_POST["name"]."\n";
    
$contenido .= "Phone: ".$_POST["phone"]."\n";
    
$contenido .= "Fax: ".$_POST["fax"]."\n";
    
$contenido .= "Quantity: ".$_POST["quantity"]."\n";
    
$contenido .= "Date wanted by: ".$_POST["date wanted by"]."\n";
    
$contenido .= "Name: ".$_POST["name"]."\n";
    
$contenido .= "E-mail: ".$_POST["email"]."\n";
    
$contenido .= "Color information: ".$_POST["color"]."\n";
    
$contenido .= "List colors: ".$_POST["list colors"]."\n";
    
$contenido .= "Comments: ".$_POST["comments"]."\n";
    
$contenido .= "Date: ".$fecha;
    
$header "From:".$_POST["email"]."\nReply-To:".$_POST["email"]."\n";
    
$header .= "X-Mailer:PHP/".phpversion()."\n";
    
$header .= "Mime-Version: 1.0\n";
    
$header .= "Content-type: text/plain";
    
mail($mymail$subjectutf8_decode($contenido) ,$header);
    }
if(
mail($mymail$subjectutf8_decode($contenido) ,$header)){
    include 
"http://digicapmedia.com/creaartworks/en/contact.php?id=confirmation";
    }
    else include 
"http://digicapmedia.com/creaartworks/en/contact.php";
?>
__________________
eoran.com

Última edición por EmmanuelOA; 07/03/2007 a las 22:20
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 08:47.