Foros del Web » Programando para Internet » Javascript »

Formulario PHP abrir ventana "echo "<SCRIPT>window.open"

Estas en el tema de Formulario PHP abrir ventana "echo "<SCRIPT>window.open" en el foro de Javascript en Foros del Web. Hola es mi primer mensaje en el foro, pero miro mucho ya que dais muchas soluciones y cada día se aprende algo nuevo visitandolo. Se ...
  #1 (permalink)  
Antiguo 04/02/2011, 05:43
 
Fecha de Ingreso: febrero-2011
Mensajes: 18
Antigüedad: 13 años, 2 meses
Puntos: 0
Pregunta Formulario PHP abrir ventana "echo "<SCRIPT>window.open"

Hola es mi primer mensaje en el foro, pero miro mucho ya que dais muchas soluciones y cada día se aprende algo nuevo visitandolo.

Se que es un tema muy tratado ya que he ido de un lado a otro del foro recopilando código e intentarlo solucionar por mi mismo, pero no hay manera

Mi problemilla:

Tengo un formulario en .html, que utiliza un .php para enviar los datos.
Una vez hecha la comprobación en php me gustaría que abriera una ventana tipo pop-up. Las soluciones que he encontrado no he logrado que funcionasen

Tengo el siguiente html para el formulario:

Código HTML:
<form action="../src/enviar.php" method="post" enctype="multipart/form-data" name="form" id="form" >
	<input type="hidden" name="nombre" id="name" value="Mensaje desde la web" />
	<label class="texte">NAME </label>
		<input class="imput1" type="text"  name="nombre" value="" /><br />
	<label class="texte">MAIL </label>
		<input class="imput1" type="text" name="mail" value="" /><br />
	<label class="texte">MESSAGE </label>
    <textarea class="imput2" name="mensaje"></textarea>
    <br />
<input type="submit" name="Enviar" id="enviar" value="Enviar" />
</form> 

Luego este es el php que envía los datos.

Código PHP:
<?php
# Guardo en la variable los campos del form
$nombre $_POST['nombre'];
$mail $_POST['mail'];
$telefono $_POST['telefono'];
# Verifico que los campos se hallan completado
if ($nombre == "" AND $mail == "" AND $telefono == "" AND $mensaje == "") {
  
# Muestro mensaje de error
  
echo "<SCRIPT>window.open='http://www.yahoo.com';</SCRIPT>";
}
# Caso contrario, procedo a enviar el email
else{
  
$header 'From: ' $mail " \r\n";
  
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
  
$header .= "Mime-Version: 1.0 \r\n";
  
$header .= "Content-Type: text/plain";

  
$mensaje "Este mensaje fue enviado por " $nombre ", numero de telefono " $telefono " \r\n";
  
$mensaje .= "Su e-mail es: " $mail " \r\n";
  
$mensaje .= "Mensaje: " $_POST['mensaje'] . " \r\n";
  
$mensaje .= "Enviado el " date('d/m/Y'time());

  
$para '[email protected]';
  
$asunto 'Contacto desde Pagina Web';

  if (
mail($para$asuntoutf8_decode($mensaje), $header)) {
    echo 
'El mensaje fue enviado!';
  }
  else {
    echo 
'Error inesperado. El mensaje no se envio.';
  }
}
?>

Soy consciente de que hay varios errores, pero mi ya me encontré la primera piedra :(


Mi lógica me dice, que da la miasma manera que me funciona después de "# Muestro mensaje de error" esto para abrir en la misma pagina:
Código PHP:
echo  "<SCRIPT>window.location='http://www.google.es';</SCRIPT>"

Me funcionase esto otro para abrir un pop-up:
Código PHP:
echo "<SCRIPT>window.open='http://www.yahoo.com';</SCRIPT>"
Pero este ultimo no hay manera de que funcione, con todos los ejemplos que he encontrado por la red.
¿Donde esta el error o esto no se podría realizar?

Espero haberme explicado bien, muchas gracias :D
  #2 (permalink)  
Antiguo 04/02/2011, 07:00
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Formulario PHP abrir ventana "echo "<SCRIPT>window.open"

tienes problema con javascript
window.open();
http://www.webexperto.com/articulos/...on-javascript/
  #3 (permalink)  
Antiguo 04/02/2011, 08:05
 
Fecha de Ingreso: febrero-2011
Mensajes: 18
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Formulario PHP abrir ventana "echo "<SCRIPT>window.open"

Entiendo que el código debería ser así:

Código PHP:
echo "<SCRIPT>window.open('http://www.yahoo.com');</SCRIPT>"
Pero me sigue sin funcionar :S

Creo que al final tirare por otro camino, estoy entrando en bucle desesperante.

Muchas gracias, de todas maneras :D
  #4 (permalink)  
Antiguo 04/02/2011, 08:33
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Formulario PHP abrir ventana "echo "<SCRIPT>window.open"

window.open ('http://www.yahoo.com','mywindow');
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 04/02/2011, 08:44
 
Fecha de Ingreso: febrero-2011
Mensajes: 18
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Formulario PHP abrir ventana "echo "<SCRIPT>window.open"

Cita:
Iniciado por jotaincubus Ver Mensaje
window.open ('http://www.yahoo.com','mywindow');
Me lleva al php, pero no me abre el pop-up.
  #6 (permalink)  
Antiguo 04/02/2011, 09:02
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Formulario PHP abrir ventana "echo "<SCRIPT>window.open"

Y si intentas asi:

Código PHP:

<?php
# Guardo en la variable los campos del form 
$nombre $_POST['nombre']; 
$mail $_POST['mail']; 
$telefono $_POST['telefono']; 
# Verifico que los campos se hallan completado 
if ($nombre == "" AND $mail == "" AND $telefono == "" AND $mensaje == "") { 
?>
  <SCRIPT type="text/javascript">window.open('http://www.yahoo.com','mywindow');</SCRIPT> 
<?php 

# Caso contrario, procedo a enviar el email 
else{ 
  
$header 'From: ' $mail " \r\n"
  
$header .= "X-Mailer: PHP/" phpversion() . " \r\n"
  
$header .= "Mime-Version: 1.0 \r\n"
  
$header .= "Content-Type: text/plain"

  
$mensaje "Este mensaje fue enviado por " $nombre ", numero de telefono " $telefono " \r\n"
  
$mensaje .= "Su e-mail es: " $mail " \r\n"
  
$mensaje .= "Mensaje: " $_POST['mensaje'] . " \r\n"
  
$mensaje .= "Enviado el " date('d/m/Y'time()); 

  
$para '[email protected]'
  
$asunto 'Contacto desde Pagina Web'

  if (
mail($para$asuntoutf8_decode($mensaje), $header)) { 
    echo 
'El mensaje fue enviado!'
  } 
  else { 
    echo 
'Error inesperado. El mensaje no se envio.'
  } 

?>
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #7 (permalink)  
Antiguo 04/02/2011, 09:43
 
Fecha de Ingreso: febrero-2011
Mensajes: 18
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Formulario PHP abrir ventana "echo "<SCRIPT>window.open"

Tampoco me funciona.

De todas maneras muchas gracias, por vuestro tiempo.

He buscado otra solución que funciona aunque creo que es un poco una chapuza XD

Utilizando javascript para comprobar datos y abrir el pop-up y el PHP para enviarlo.

La inserto por si alguien le puede ser de ayuda. O por si teneis una solución mejor

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Documento sin título</title>
<script type="text/javascript">
function MM_validateForm() { //v4.0
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
      if (val) { nm=val.name; if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
        } else if (test!='R') { num = parseFloat(val);
          if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
          if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
            min=test.substring(8,p); max=test.substring(p+1);
            if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
    } if (errors) alert('The following error(s) occurred:\n'+errors);
    document.MM_returnValue = (errors == '');
} }
</script>
<script language="javascript"> 
function ventanaSecundaria (URL){ 
window.open(URL,"ventana1","width=900,height=500,s crollbars=NO") 
} 
</script>
</head>

<body>
<form action="enviar.php" method="post" enctype="multipart/form-data" onsubmit="ventanaSecundaria('http://www.google.com')" name="form" id="form" >
	<input type="hidden" name="nombre" id="name" value="Mensaje desde la web" />
	<label class="texte">NAME </label>
	  <input  name="nombre" type="text" class="imput1" id="nombre" value="" /><br />
	<label class="texte">MAIL </label>
	  <input name="mail" type="text" class="imput1" id="mail" value="" /><br />
	<label class="texte">MESSAGE </label>
    <textarea name="mensaje" class="imput2" id="mensaje"></textarea>
    <br />
<input name="Enviar" type="submit" id="enviar" onClick="MM_validateForm('nombre','','R','mail','','RisEmail','mensaje','','R');return document.MM_returnValue" value="Enviar" />
</form>
</body>
</html> 
Código PHP:
<?php
$nombre 
$_POST['nombre'];
$apellidos $_POST['mail'];
$mail $_POST['mensaje'];


$header 'From: ' $mail " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje "Este mensaje fue enviado por " $nombre " \r\n";
$mensaje .= "Su e-mail es: " $mail " \r\n";
$mensaje .= "Mensaje: " $mensaje .  " \r\n";

$mensaje .= "Enviado el " date('d/m/Y'time());

$para '[email protected]';
$asunto 'Message from web';

mail($para$asuntoutf8_decode($mensaje), $header);

echo 
"<SCRIPT>history.back(1)</SCRIPT>"

?>
  #8 (permalink)  
Antiguo 04/02/2011, 10:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Tema movido desde PHP a Javascript

Etiquetas: php, formulario, ventanas
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 04:53.