Foros del Web » Programando para Internet » PHP »

Pagina web en HTML + PHP embebido con FrontPage

Estas en el tema de Pagina web en HTML + PHP embebido con FrontPage en el foro de PHP en Foros del Web. Hola estoy haciendo mi primera pag. web con html en frontpage acerca de un estudio de fotografia (como si es de una web para perros, ...
  #1 (permalink)  
Antiguo 07/10/2009, 04:40
 
Fecha de Ingreso: junio-2009
Mensajes: 59
Antigüedad: 14 años, 11 meses
Puntos: 0
Pagina web en HTML + PHP embebido con FrontPage

Hola estoy haciendo mi primera pag. web con html en frontpage acerca de un estudio de fotografia (como si es de una web para perros, pero weno).
Tengo un formulario y he leido bastante en internet acerca de como hacer para que dicho formulario se envie al mail sin emplear mailto (outlook), sino la funcion mail() de php.

Tengo apache2.2 corriendo y mi editor es FrontPage

Que debo modificar o que estoy haciendo mal para que esto funciones bien??

archivo del formulario (contacto.htm):
Código PHP:
<html>

<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<
title>Contacto</title>
<
script language="javascript" type="text/javascript">
// JJBM, 27/06/00. Reconocer si un e-mail es correcto o no.
//
//Este script y otros muchos pueden
//descarse on-line de forma gratuita
//en El Código: www.elcodigo.com

function mostrar_informacion(txt){
    
    
//expresion regular
        
var b=/^[^@s]+@[^@.s]+(.[^@.s]+)+$/
        
        
//comentar la siguiente linea si no se desea que aparezca el alert()
        
alert("Email " + (b.test(txt)?"":"no ") + "válido.")
        
        
//devuelve verdadero si validacion OK, y falso en caso contrario
        
return b.test(txt)
}
</script>
</head>


<body bgcolor=#000000>
<FORM name="formulario" action="nova_enviar.php" method="POST" enctype="text/plain" onSubmit="return mostrar_informacion(this.email.value)" 
style="border-style: double; border-width: 3px">
<input type=hidden name="redirect" value="/contacto.htm">
<P>
    <table align=center cellspacing="4" cellpadding="4" width="714">
        <tr>
            <td width="69"><LABEL for="nombre"><font color=#FFFF00>Nombre: </font></LABEL></td>
            <td><INPUT name="nombre" type="text" id="nombre" size="25" maxlength="25"></td>
        </tr>
        <tr>
            <td width="69"><LABEL for="apellidos"><font color=#FFFF00>Apellidos: </font></LABEL></td>
            <td><INPUT name="apellidos" type="text" id="apellido" size="25" maxlength="25"></td>
        </tr>
        </table>
    <table align=center cellspacing="4" cellpadding="2" width="715">
        <tr>        
            <td width="127"><LABEL for="email"><font color=#FFFF00>Correo electrónico: </font></LABEL></td>
            <td><INPUT name="email" type="text" id="email" size="30" maxlength="40"><font color="#FFFF00"> 
            <b>(*)</font></b></td>
        </tr>
    </table><br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <INPUT type="radio" name="sexo" value="Hombre" checked><font color=#FFFF00> Hombre</font>
    <INPUT type="radio" name="sexo" value="Mujer"><font color=#FFFF00> Mujer</font><BR><br>
    <table align=center cellspacing="4" cellpadding="3" width="715">
        <tr>
            <td valign=top width="66"><LABEL for="mensaje"><font color=#FFFF00>Mensaje: </font></LABEL></td>
            <td><TEXTAREA name="mensaje" rows="5" cols="50"></TEXTAREA></td>
        </tr>
    </table>
    <table align=center cellpadding="4" width="721" height="45">
    <tr>
    <td><INPUT type="submit" value="Enviar" style="float: right"></td>
    <td width="561">
    <INPUT type="reset" value="Borrar formulario" style="position: relative; left: 0"></td></tr>
    </table>
    <table cellpadding="4" align=center width="719" height="36"><tr><td>
       <font size="2" color="#FFFF00"> 
    (*) </font><font size="2" color="#FFFFFF">&nbsp;Campos obligatorios</font></td>
 </tr></table>
 </FORM>


</body>

</html> 


en nova_enviar.php (procesa supuestamente el formulario - todas las letras salen en negro ya que entiendo que FrontPage no se encarga del php):

Código PHP:
<?php

if (isset($_POST['action'])) {

$dest "[email protected]";
$head "From: ".$_POST['email']."\r\n";
$head.= "To: [email protected]\r\n";

$msg "------------------------------- \n";
$msg.= "         Comentarios            \n";
$msg.= "------------------------------- \n\n";

$msg.= "FECHA: ".date("D, d M Y")."\n";
$msg.= "HORA: ".date("h:i:s a ")."\n";
$msg.= "IP: ".$REMOTE_ADDR."\n";
$msg.= "NOMBRE: ".$_POST['nombre']."\n";
$msg.= "APELLIDOS: ".$_POST['apellidos']."\n";
$msg.= "E-MAL: ".$_POST['email']."\n";
$msg.= "SEXO: ".$_POST['sexo']."\n\n";
$msg.= "MENSAJE: ".$_POST['mensaje']."\n";

if (
mail($dest"Comentarios desde Fotograf&iacute;a Alitana"$msg$head)) {
  
$aviso "Su mensaje fue enviado.\n";
  
$aviso.= "Muy pronto nos pondremos en contacto con usted.";
} else {
      
$aviso "Error de envío.";
        }
echo 
$aviso;

}

?>

Última edición por Zidek; 07/10/2009 a las 06:20
  #2 (permalink)  
Antiguo 07/10/2009, 05:21
 
Fecha de Ingreso: mayo-2005
Mensajes: 188
Antigüedad: 19 años
Puntos: 6
Respuesta: Pagina web en HTML + PHP embebido con FrontPage

Comprueba la sintaxis de la función mail(), ya que es incorrecta; http://es2.php.net/manual/en/function.mail.php

Además, en esa página puedes ver ejemplos de cómo enviar mails con esta función.
  #3 (permalink)  
Antiguo 07/10/2009, 06:19
 
Fecha de Ingreso: junio-2009
Mensajes: 59
Antigüedad: 14 años, 11 meses
Puntos: 0
Script modificado en el primer mensaje. Ahora estando en el primer mensaje tal como está (ya está corregido lo que comenta juanfuentes), le doy a enviar, se me cambia la página en blanco, y no me sale ningun mensaje de enviado o erróneo, por lo que entiendo que no se descifra en el apache no??? Obviamente tpco me llega el mensaje al destinatario($dest)

A ver si me ayudais por favor. No sé si el problema es con FrontPage, con el servidor local...
Que pasará cuando suba la pagina con arsys???

Gracias

Por otro lado me parece que en el ultimo if del script si se cumple la condicion, antes de inicializar la variable $aviso habrá que poner:

Código PHP:

mail
($dest"Comentarios desde Fotograf&iacute;a Alitana"$msg$head); 
Por lo demás espero alguna respuesta

Ah, tb he puesto en el action del form en vez de nova_enviar...obviamente que lo resuelva en el servidor local: http://localhost/nova_enviar.php
Tengo dudas de si en vez de eso debiera poner esto: C:\AppServ\www\nova_enviar.php

Ya me diréis, pero aun asi no se envia el mensaje y no da tpco ningún error, solo pagina en blanco. el Script creo que está bien.....

Por otro lado tengo la duda de si el script esta bien, porque tb tengo dudas de que deba de ir entre etiquetado html ¿?

No encuentro solucion, mi duda esta si el script se resuelve bien en el servidor o como lo tenggo q hacer para que envie el mail. Si teneis alguna duda de como lo estoy haciendo preguntadme por favor, ya que no puedo avanzar.

Gracias

Última edición por GatorV; 07/10/2009 a las 15:18
  #4 (permalink)  
Antiguo 08/10/2009, 06:53
 
Fecha de Ingreso: junio-2009
Mensajes: 59
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Pagina web en HTML + PHP embebido con FrontPage

Lo subo 24h después para quien me pueda orientar para que se envie el mail a traves del script php
  #5 (permalink)  
Antiguo 09/10/2009, 02:53
 
Fecha de Ingreso: mayo-2005
Mensajes: 188
Antigüedad: 19 años
Puntos: 6
Respuesta: Pagina web en HTML + PHP embebido con FrontPage

Todo el código de nova_enviar.php lo tienes encerrado en un if:
Código php:
Ver original
  1. if (isset($_POST['action'])) {
  2. .... aqu&#237; va todo el código ....
  3. }
Sin embargo, en ningún momento se pasa ningún parámetro de nombre "action". Por lo tanto, nunca se ejecuta el código dentro del IF
  #6 (permalink)  
Antiguo 09/10/2009, 04:08
 
Fecha de Ingreso: junio-2009
Mensajes: 59
Antigüedad: 14 años, 11 meses
Puntos: 0
Pregunta

Ok, ahora me sale lo siguiente:


"Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\AppServ\www\nova_enviar.php on line 24
Error de envío."




Buscando dicho error he encontrado que aquí debajo nos habla de modificar el php.ini (yo lo tengo tal como dicen excepto la parte de sendmail_from
"; For Win32 only.
sendmail_from =....."

y no se que tendría que poner ¿la direccion del remitente?)
y de descargar un servidor smtp → QK SMTP Server,que lo encontramos en http://www.qksoft.com/:

http://www.forosdelweb.com/f18/warni...alhost-443592/

Para no dar palos de ciego, si me podeis concretar algo para no dar mas palos de ciego.


Por cierto muchas gracias juanfuentes... ahora ya tenemos un error diferente, y eso es bueno, jeje. Gracias de verdads por detenerte a mirar fallos de esos que para el que los ve, lo primero que debe pensar es lo zoquete que es el otro (y lo soy)

Sigo buscando ayuda a mi última consulta. Gracias

Última edición por GatorV; 12/10/2009 a las 10:06
  #7 (permalink)  
Antiguo 12/10/2009, 08:43
 
Fecha de Ingreso: junio-2009
Mensajes: 59
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Pagina web en HTML + PHP embebido con FrontPage

Sigo sin saber salir del problema

"Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\AppServ\www\nova_enviar.php on line 24
Error de envío."
  #8 (permalink)  
Antiguo 13/10/2009, 15:42
 
Fecha de Ingreso: junio-2009
Mensajes: 59
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Pagina web en HTML + PHP embebido con FrontPage

Lo subo y perdonad mi insistencia
  #9 (permalink)  
Antiguo 13/10/2009, 16:13
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Pagina web en HTML + PHP embebido con FrontPage

Instalaste el servidor SMTP en tu PC?
- No me preguntes como, nunca he instalado uno.

Probaste si funciona de alguna otra forma que no sea PHP.. ej. Outlook?
- La configuracion en cualquier cliente de correo depende del servidor que hayas instalado.

Tu proveedor de internet te permite usar el puerto 25?
- Algunos ISP como "Lentinitum" (el mio) bloquean el puerto 25 para "evitar spam".
__________________
- León, Guanajuato
- GV-Foto
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 12:06.