Foros del Web » Programando para Internet » PHP »

Header Location Blank

Estas en el tema de Header Location Blank en el foro de PHP en Foros del Web. Hola muchachos y muchachas del foro, Recurro a ustedes porque mi conocimiento en php es algo restringido (a pesar que voy aprendiéndolo de a poco): ...
  #1 (permalink)  
Antiguo 01/10/2012, 14:04
Avatar de rodeirojg  
Fecha de Ingreso: junio-2012
Ubicación: Buenos Aires
Mensajes: 86
Antigüedad: 12 años, 5 meses
Puntos: 2
Pregunta Header Location Blank

Hola muchachos y muchachas del foro,

Recurro a ustedes porque mi conocimiento en php es algo restringido (a pesar que voy aprendiéndolo de a poco):

Tengo un formulario que se valida con un Enviar.php. El tema es que quisiera que cuando se envíe correctamente el formulario, en vez de abrirme una ventana en reemplazo de la existente, vaya a una ventana nueva, con un tamaño determinado (algo así como una suerte de ventana emergente).

He visto ejemplos que se abren como se abren las imágenes del siguiente caso: http:// fancybox. net /

Otras opciones que ví es utilizando javascript pero no sé integrarlo al PHP: javascript:window.open('terminosycondiciones.php', null,'height=600,width=470,status=yes,toolbar=no ,menubar=no')

Les dejo el código:

Código PHP:
<?php

if (isset($_POST['submit']) && $_POST['nombre'] && $_POST['email'] && $_POST['mensaje']!="") { 
echo

$mail='[email protected]';

$nombre $_POST['nombre']; 
$telefono $_POST['telefono']; 
$email $_POST['email']; 
$mensaje $_POST['mensaje'];

$add_header "From: Usuario <".$_POST['email'].">\r\n";  

$para "$mail"

$thank="gracias_contacto.php"

$message 
Nombre: "
.$nombre.
Telefono: "
.$telefono.
email: "
.$email.
Mensaje: "
.$mensaje.""

if (
mail($para"Contacto"$message$add_header));  
Header ("Location: $thank"); 


else { 
echo 
header("Location: advertencia_contacto.php"); 
}

?>
__________________
Julian G. Rodeiro
Encargado del área de Diseño en:
www.brandestudio.com.ar
  #2 (permalink)  
Antiguo 01/10/2012, 16:32
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Header Location Blank

Con header() no puedes abrir páginas en ventanas (pestañas) nuevas, sólo en la actual.

Si tienes problemas con las otras opciones, muestra el código con el que lo has intentado y así, con algo en concreto, sería más fácil tratar de ayudarte.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 01/10/2012, 20:31
Avatar de rodeirojg  
Fecha de Ingreso: junio-2012
Ubicación: Buenos Aires
Mensajes: 86
Antigüedad: 12 años, 5 meses
Puntos: 2
Respuesta: Header Location Blank

Cita:
Iniciado por Triby Ver Mensaje
Con header() no puedes abrir páginas en ventanas (pestañas) nuevas, sólo en la actual.

Si tienes problemas con las otras opciones, muestra el código con el que lo has intentado y así, con algo en concreto, sería más fácil tratar de ayudarte.
Ya intenté cambiar el archivo y ahora agregué algunas funciones javascript para validar, el código del formulario es el siguiente:

Código PHP:
<head>

<
script type="text/javascript">

function 
validar(frm) {

  var 
resultado1 frm.nombre.value.length 3;
  var 
resultado2 = /^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,6})$/.test(frm.email.value);
  var 
resultado3 frm.comentario.value.length 3;
  
  
document.getElementById('error').style.visibility = (resultado1) ? 'hidden':'visible';
  
document.getElementById('error').style.color = (resultado1) ? '#999':'red';
  
document.getElementById('input').style.borderColor = (resultado1) ? '#999':'red';
  
document.getElementById('input').style.color = (resultado1) ? '#999':'red';
  
  
document.getElementById('error2').style.visibility = (resultado2) ? 'hidden':'visible';
  
document.getElementById('error2').style.color = (resultado2) ? '#999':'red';
  
document.getElementById('input2').style.borderColor = (resultado2) ? '#999':'red';
  
document.getElementById('input2').style.color = (resultado2) ? '#999':'red';
  
  
document.getElementById('error3').style.visibility = (resultado3) ? 'hidden':'visible';
  
document.getElementById('error3').style.color = (resultado3) ? '#999':'red';
  
document.getElementById('input3').style.borderColor = (resultado3) ? '#999':'red';
  
document.getElementById('input3').style.color = (resultado3) ? '#999':'red';
  
  return  (
resultado1 && resultado2 && resultado3);
}

</script>

</head>
<body>
<form action="enviar.php" method="post" class="tipo" onsubmit="return validar(this)">

Nombre<input type="text" name="nombre" id="input" style="border-width: 1px; border-style: solid; border-color: #999"/>
<p id="error" style="visibility:hidden">Longitud invalida</p>

Email:
<input type="text" name="email" id="input2" style="border-width: 1px; border-style: solid; border-color: #999"/>
<p id="error2" style="visibility:hidden">E-mail invalido</p>

Comentario:
<textarea cols="30" rows="10" name="comentario" id="input3" style="border-width: 1px; border-style: solid; border-color: #999"></textarea>
<p id="error3" style="visibility:hidden">Texto no valido</p>

<input type="submit" />

</form>

</body>
</html> 
Lo que sucede es que quiero validar también con php en caso que alguien tenga desactivado javascript en el navegador, y así evito que hagan spam en mi casilla
__________________
Julian G. Rodeiro
Encargado del área de Diseño en:
www.brandestudio.com.ar

Etiquetas: blank, header, location
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 09:36.