Foros del Web » Programando para Internet » PHP »

Como le hago? php formulario

Estas en el tema de Como le hago? php formulario en el foro de PHP en Foros del Web. Hola tengo un formulario parecido a este, solo que el formulario lo hice en dreamweaver y llama al php. Todo funciona bien, pero lo que ...
  #1 (permalink)  
Antiguo 26/10/2004, 15:26
 
Fecha de Ingreso: septiembre-2004
Mensajes: 118
Antigüedad: 19 años, 6 meses
Puntos: 0
Pregunta Como le hago? php formulario

Hola tengo un formulario parecido a este, solo que el formulario lo hice en dreamweaver y llama al php.
Todo funciona bien, pero lo que quiero saber es como le hago ...
cuando el usuario le da en "enviar" a parece un texto que dice, "su mensaje se ha enviado con exito" (y todo se envia a mi mail) pero lo que quiero es que cuando salga, "su mensaje se ha enviado con exito" tambien aparezca "cerra ventana" y este del mismo color que la ventana, por ejemplo un verde olive a algo asi...

pongo aqui el php

Código PHP:
$auth_domain = array("chilepixel.com","chilepixel.com");
$to       "tu_mail@tu_sitio.com";
$subject  "Tiene un e-mail desde www.chilepixel.com!!";

if (isset(
$HTTP_REFERER)) { 
    foreach (
$auth_domain as $line) {
        if (
eregi($line,$HTTP_REFERER)) {
            
$check_url 1;           
            continue;
        }
    }
}else{
    
$check_url 1;
}
if (
$check_url != 1) {
    echo 
"error=this formmail is not allowed in your domain";
    exit;
}


$date getdate(time());
$date sprintf("%s %s %s %s:%s:%s"$date["mday"],$date["month"],$date["year"],$date["hours"],$date["minutes"],$date["seconds"]);
$from "$name<$email> ";
$header =  "From:$from\n";
$header .= "Reply-To:$from\n";

$body "El siguiente comentario ha sido enviado por: \n";
$body .= "$name el $date\n\n";
$body .= "---------------------------------------------------------------\n\n";
$body .= "$comments\n\n";
$body .= "---------------------------------------------------------------\n\n";
$body .= "<Hosting remoto> $REMOTE_HOST\n";
$body .= "<Dirección remota> $REMOTE_ADDR\n";
$body .= "<Agente usado> $HTTP_USER_AGENT\n";
           
$header=trim($header);
mail($to$subject$body$header) or die("error=No se pudo enviar el mensaje!");
echo 
"&error=Su mensaje se ha enviado con éxito!!"
ojala me puedan ayudar ! gracias
  #2 (permalink)  
Antiguo 26/10/2004, 18:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Aquí se genera tu mensaje ...

echo "&error=Su mensaje se ha enviado con éxito!!";

todo lo que va entre echo "aquí ..."; puedes usar HTML común .. tus tag de <font .. o con CSS o como gustes y resto de HTML+javacript como ese botón o link que ante un evento de javascript (onClick) hagas tu window.close ..

Sólo tienes que respetar la sintax de PHP al respecto .. si tienes que usar una comilla doble " .. debes escaparla : \" para usarla entre el echo "algo".

Si tienes dudas al respecto .. lee este capítulo del manual oficial de PHP (y sigue los links que ahí veras que apuntan a otras secciones de PHP sobre manejo de strings-cadenas)
www.php.net/strings

Un saludo,
  #3 (permalink)  
Antiguo 27/10/2004, 23:34
 
Fecha de Ingreso: septiembre-2004
Mensajes: 118
Antigüedad: 19 años, 6 meses
Puntos: 0
Hola cluster gracias por contestarme

Aun tengo lagunas mentales, he leido lo de las comillas pero no consigo que la pagina sea de estilo que quiero.

Este es el estilo que tengo

Código HTML:
<style type="text/css">
<!--
body {
	background-color: #60736C;
}
body,td,th {
	color: #FFFFFF;
}
.Estilo1 {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;
}
.Estilo2 {font-family: Verdana, Arial, Helvetica, sans-serif}
-->
</style> 
como lo pongo en el "echo" hice varios intentos pero no me dio resultado
lo mismo que la opcion "cerrar ventana" tampoco consigo ponerla, me sale error

Podria ser asi?

Código PHP:
$header=trim($header); 
mail($to$subject$body$header) or die("error=No se pudo enviar el mensaje!"); 
echo 
"&error=Su mensaje se ha enviado con éxito!!"
echo 
"<style type="text/css">
<!--
body {
    background-color: #60736C;
}
body,td,th {
    color: #FFFFFF;
}
.Estilo1 {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
}
.Estilo2 {font-family: Verdana, Arial, Helvetica, sans-serif}
-->
</style>
"


Última edición por Moras; 27/10/2004 a las 23:36
  #4 (permalink)  
Antiguo 28/10/2004, 05:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Vamos a ver ...

Con PHP lo que haces principalmente son "páginas HTML dinámicas" (por decir un ejemplo y una de las aplicaciones típicas) .. Eso significa que tu página HTML de toda la vida seguirá con la misma estructura de siempre y tu añades el "dinamismo" a partir de PHP

Por ende .. tus "CSS" que definas .. lo debes hacer con la estructura que corresponde a una página HTML como es entre su <head> .. </head> y donde corresponde (antes de usarlo). Y .. de "HTML" .. si no aplicas el estilo al tag que corresponda .. ¿como esperas que salga? (esto insisto que es HTML no PHP ..)

Código PHP:
<html>
<head>
<style type="text/css"> 
<!-- 
body { 
    background-color: #60736C; 

body,td,th { 
    color: #FFFFFF; 

.Estilo1 { 
    font-family: Verdana, Arial, Helvetica, sans-serif; 
    font-size: 12px; 

.Estilo2 {font-family: Verdana, Arial, Helvetica, sans-serif} 
--> 
</style> 
</head>
<body>
<?
// tu código actual

echo "<div class=\"Estilo1\">Su mensaje se ha enviado con éxito!!</div>"
?>
</body>
</html>
Compara el código HTML (en tu navegador ver->código fuente) que generas con el código original que usabas: ¿ eso que ves es una página HTML standard? .. la respuesta es NO, .. Fijate que ni título tenía esa página .. ahora lo puedes añadir y hasta editar con tu editor HTML visual favorito (Dreamweaver por ejemplo) ...

Por otro lado, .. no es recomendable hacer esto de hacer un proceso PHP (como ese envio del e-mail) y en el mismo flujo del código (mismo script) presentar mensajes de error o exito .. Lo que deberías hacer es redireccionar hacia otra página donde muestres tu mensaje de error o existo según corresponda usando:
Código PHP:
header ("Location: mensajes.html");
exit; 
Si no lo haces así .. haz una prueba . .cuando veas tu mensaje de "se envió con exito el e-mail" .. recarga la página y veras que se vuele a enviar tu e-mail tantas veces como te canses de recargar tu página (con o sin prévia confirmación de envio de los datos nuevamente al servidor ...)

Un saludo,

PD: en las FAQ's de este foro tienes tutoriales de PHP .. intenta leerlos.
  #5 (permalink)  
Antiguo 29/10/2004, 07:04
 
Fecha de Ingreso: septiembre-2004
Mensajes: 118
Antigüedad: 19 años, 6 meses
Puntos: 0
hola Cluster

muchas gracias por tu ayuda, ya pude solucionar mi problema.

!! gracias
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 10:54.