Foros del Web » Programando para Internet » Javascript »

mensaje js en php no se muestra

Estas en el tema de mensaje js en php no se muestra en el foro de Javascript en Foros del Web. este codigo es para enviar un correo electronico. el problema esta que quiero mostrar un mensaje de confirmacion que se ha enviado el correo. el ...
  #1 (permalink)  
Antiguo 24/04/2012, 12:15
Avatar de cesarcaes  
Fecha de Ingreso: marzo-2010
Mensajes: 57
Antigüedad: 14 años, 9 meses
Puntos: 1
mensaje js en php no se muestra

este codigo es para enviar un correo electronico. el problema esta que quiero mostrar un mensaje de confirmacion que se ha enviado el correo. el correo se envia por el mensaje java script no se muestra... alguien puede ayudarme.



<?php
$usersmtp ="[email protected]"; // Entre las comillas va una cuenta de correo de su panel de control
$pass="xxxxxxxxxxx"; // Entre las comillas va el password de la cuenta de correo
/*$destino="[email protected]"; // Entre las comillas la direccion de correo donde va a recibir los mails */


if ( $_POST['tipo'] == "1")
{
$destino="[email protected]";
}
else
{
if ( $_POST['tipo'] == "2")
{
$destino="[email protected]";
}
else
{
$destino="[email protected]";
}
}



// Se verifica que los datos han sido enviados desde el formulario, para la validación con el SMTP
if ( $_POST['enviar'] == "1")
{
if ( $_POST['nombre'] != "" && $_POST['apellido'] != "" && $_POST['email'] != "" )

{
// Se incluye la librería necesaria para el envio
require_once("fzo.mail.php");

$mail = new SMTP("localhost",$usersmtp,$pass);

// Se configuran los parametros necesarios para el envío
$de = $usersmtp ;
$a = $destino;
$asunto = "E-mail Contacto";
$cc = $_POST['cc'];
$bcc = $_POST['bcc'];


$cuerpo = "Este es un e-mail enviado desde el formulario de contacto de la pagina\n\n";
$cuerpo .= "Nombre: " .$_POST['nombre'] . "\n";
$cuerpo .= "Apellido: " .$_POST['apellido'] . "\n";
$cuerpo .= "Direccion: " .$_POST['direccion'] . "\n";
$cuerpo .= "Telefono: " .$_POST['telefono'] . "\n";
$cuerpo .= "Email: " .$_POST['email'] . "\n";
$cuerpo .= "Consulta: " .$_POST['consulta'] . "\n";



$header = $mail->make_header(
$de,
$a,
$asunto,
$_POST['prioridad'],
$cc,
$bcc
);

/*
Pueden definirse más encabezados. Tener en cuenta la terminación de la
linea con (\r\n)

$header .= "Reply-To: ".$_POST['from']." \r\n";
$header .= "Content-Type: text/plain; charset=\"iso-8859-1\" \r\n";
$header .= "Content-Transfer-Encoding: 8bit \r\n";
$header .= "MIME-Version: 1.0 \r\n";
*/

// Se envia el correo y se verifica el error
$error = $mail->smtp_send($de, $a, $header, $cuerpo, $cc, $bcc);
if ($error == "0") { ?>
<script language="javascript">alert('lo que quieras');</script>
<?php
header("Location: contacto.html");
}

else
echo $error;
}
else
{

echo("Complete los campos Requeridos ");
}
}
?>
  #2 (permalink)  
Antiguo 24/04/2012, 14:22
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: mensaje js en php no se muestra

hay dos cosas
estás usando
$error == "0"
pero no sé si la libreria fzo.mail.php que cargás reconoce ese valor para error, quizás debas utilizar
$error == true

más allá de eso, estás pasando un header() con php, que se va a ejecutar antes de la script, siempre y cuando el header se ejecute y no te produzca un error (ese sería otro problema)

te convendría hacerlo todo en js
Código Javascript:
Ver original
  1. <script language="javascript">
  2.     alert('lo que quieras');
  3.     location.replace('contacto.html');
  4.     </script>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 24/04/2012, 14:30
Avatar de cesarcaes  
Fecha de Ingreso: marzo-2010
Mensajes: 57
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: mensaje js en php no se muestra

en cuanto al error....

todo esta fino.. el correo me llega. lo que pasa es que quiwero indicarle que ya se envio al usuario.

intento con lo que tu me das y nada.

pregunto: el codigo que me pasa esta dentro del php?????
  #4 (permalink)  
Antiguo 24/04/2012, 14:53
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: mensaje js en php no se muestra

Yo no analicé todo el php, si el email te llega supongo estará bien

probá esta script en forma individual

Código PHP:
Ver original
  1. <?php
  2. $error = $_GET['error'];
  3.  
  4. if($error == 0){
  5. ?>
  6.  
  7.  <script language="javascript">
  8.     alert('lo que quieras');
  9.     location.replace('contacto.html');
  10.     </script>
  11. <?php
  12. }else{
  13.     echo "Hay error";
  14. }
  15. ?>

y pasale ?error=0 ú otro valor

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 24/04/2012, 15:49
Avatar de cesarcaes  
Fecha de Ingreso: marzo-2010
Mensajes: 57
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: mensaje js en php no se muestra

no pasa por el codigo java script. sera problema del servidor???? por que lo ejecuto en la web y no imprime el java scipt
  #6 (permalink)  
Antiguo 24/04/2012, 16:04
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: mensaje js en php no se muestra

yo subi un archivo con el código que te pasé

http://foros.emprear.com/php/mailalert.php?error=1

http://foros.emprear.com/php/mailalert.php?error=0

Fijate
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 24/04/2012, 19:15
Avatar de cesarcaes  
Fecha de Ingreso: marzo-2010
Mensajes: 57
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: mensaje js en php no se muestra

Listo funciono... Muchas gracias.. excelente ayuda.. no se por que pero cuando coloco el location en codigo php, no me imprime el java script. pero ahora si lo hace...
  #8 (permalink)  
Antiguo 24/04/2012, 20:41
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: mensaje js en php no se muestra

cuando te referís a location, a que te referís al header('Location: ....'); de php, o al location.replace() de javascript que puse yo.
A propósito, puede que las demos no funcionne porque el server está caido, en las últimas horas pude notar que muchas páginas de argentina están caidas, asi que deb ser un problema general de dns

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: formulario, html, js, mensaje, muestra, 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 08:12.