¡Hola, bienvenidos a la clase número once del Taller de PHP! Ya vimos todo el frontend del formulario, ahora nos resta ver como levantamos las variables enviadas através del mismo con PHP.
Hay que tener mucho cuidado en esta parte, como en general, dado que un pequeño descuido al tipear el código puede provocar un error al intentar enviar los datos a través del formulario. ¡Sigue atentamente las indicaciones y no tendrás problemas!
Recibiendo los datos
Antes de ver como recibimos los datos, veamos como nos quedó el formulario de contacto completo. Supongamos que lo tenemos en el archivo contacto.php
<form action="contacto_script.php" method="post" id="contacto">
<label for=”input_nombres”>Nombre y Apellido</label><br />
<input id=”input_nombres” type=”text” name=”nombres” value=”" /><br /><br />
<label for=”input_email”>Email</label><br />
<input id=”input_email” type=”text” name=”email” value=”" /><br /><br />
<label for=”input_sexo”>Sexo</label><br />
<select id=”select_sexo” name=”sexo”>
<option value=”M”>Masculino</option>
<option value=”F”>Femenino</option>
</select><br /><br />
<label for=”textarea_mensaje”>Mensaje</label><br />
<textarea id=”textarea_mensaje” name=”mensaje” rows=”5″ cols=”50″></textarea><br /><br />
<input type=”submit” name=”submit” value=”Enviar consulta” />
</form>
Este formulario será enviado al archivo contacto_script.php por el método post. Ahora la pregunta del millón es qué contiene el archivo contacto_script.php.
contacto_script.php
Este archivo va a interpretar los datos enviados a través del formulario. Para ello lo que vamos a hacer es primero ver si llegaron todos los parámetros y agregarlos cada uno a una variable.
<?
// definimos las variables o marcamos el error
if ( !empty($_POST['nombres']) ) $nombres = $_POST['nombres']; else $error = true;
if ( !empty($_POST['email']) ) $email = $_POST['email']; else $error = true;
if ( !empty($_POST['sexo']) ) $sexo = $_POST['sexo']; else $error = true;
if ( !empty($_POST['mensaje']) ) $mensaje = $_POST['mensaje']; else $error = true;
?>
Expliquemos paso por paso.
Lo primero que hacemos es preguntar si NO está vacío el parámetro enviado por post, ya que la función empty pregunta si esta vacío (va a responder si el contenido es un string vacio, un cero o un false) pero como le anteponemos el ! estamos preguntando por lo contrario.
En caso de que nuestra condición se cumpla, asignamos a una variable el parámetro recibido, caso contrario definimos una variable llamada error con contenido TRUE. Esta última nos va a servir para hacer que todos los campos del formulario sean obligatorios a la hora de enviarse.
Perfecto, ya tenemos definidas nuestras variables ahora vamos a verificar que no exista la variable error, y si existe redireccionamos a una página con el mensaje de error.
// verificamos que no exista un error
if ( !empty($error) ) {
header( ‘Location: contacto_error.php’ );
die;
}
¿Qué esta pasando acá?
Lo mismo que antes, preguntamos si no está vacío error, si la respuesta a esta pregunta es verdadera, tenemos un problema, uno de los campos del formulario no fue completado, por lo que el script de php lo vamos a frenar y vamos a redireccionar al usuario a una página que contenga el mensaje de error, esta página va a ser en este caso contacto_error.php.
La redirección la hacemos por medio de la función header( ‘Location: …’ ) que va a hacer que recargue la nueva página que le estamos pasando, y tenemos que poner la linea siguiente con el die para que se frene el script en ese momento y pueda ejecutarse la función header, ya que si no frenamos el script, primero va a leer y ejecutar todo y después va a tener acción el header( ‘Location: …’ ).
La página contacto_error.php puede contener simplemente un mensaje que diga “El formulario de contacto no ha podido ser enviado, por favor asegúrese de que haya completado todos los campos correctamente.” y un link a la página del formulario de contacto para que vuelva a enviarlo.
Cuerpo del Mensaje
Nos resta por definir el cuerpo del mensaje que queremos recibir a través del formulario de contacto, el mismo puede ser algo así:
// definimos el cuerpo del email
$cuerpo = “
De: $nombres \n\r
Email: $email \n\r
Sexo: $sexo \n\r
Mensaje: \n\r
$mensaje
“;
Como el e-mail llega como texto plano, debemos definirle los saltos de linea con \n\r.
Perfecto, ya definimos las variables, ya nos aseguramos que no tengo ningún error, creamos el cuerpo del email, ahora lo que vamos a hacer es enviar el mensaje que recibimos através del formulario a nuestra casilla de email. Para ello vamos a utilizar una funcion de php que se llama mail()
Función mail
mail ( string $para , string $asunto , string $mensaje );
esta función va a responder true o false, dependiendo si se pudo ejecutar correctamente, en nuestro script quedaria algo así:
// enviamos el email
if ( mail( ‘direccion.del.destinatario@email.com’,'Recibiste un mensaje a través del formulario de contacto de tu sitio’,$cuerpo ) ) {
header( ‘Location: contacto_exitoso.php’ );
die;
} else {
header( ‘Location: contacto_error.php’ );
die;
}
Fíjense que en el primer parámetro de la función mail agregamos a dónde queremos que se envíe el mensaje, en el segundo parámetro ponemos el asunto y en el tercero el cuerpo que definimos anteriormente.
Si la condición es verdadera, es decir, el e-mail se envió correctamente redireccionamos a una nueva página llamada contacto_exitoso.php, la cual contendrá un mensaje del estilo: “El e-mail ha sido enviado correctamente, a la brevedad nos pondremos en contacto con usted.”
Y en caso de que no se cumpla redireccionamos a la página de error.
Script Completo
El script completo quedaría algo asi:
<?
// definimos las variables o marcamos el error
if ( !empty($_POST['nombres']) ) $nombres = $_POST['nombres']; else $error = true;
if ( !empty($_POST['email']) ) $email = $_POST['email']; else $error = true;
if ( !empty($_POST['sexo']) ) $sexo = $_POST['sexo']; else $error = true;
if ( !empty($_POST['mensaje']) ) $mensaje = $_POST['mensaje']; else $error = true;
// verificamos que no exista un error
if ( !empty($error) ) {
header( ‘Location: contacto_error.php’ );
die;
}
// definimos el cuerpo del email
$cuerpo = “
De: $nombres \n\r
Email: $email \n\r
Sexo: $sexo \n\r
Mensaje: \n\r
$mensaje
";
// enviamos el email
if ( mail( ‘direccion.del.destinatario@email.com’,'Recibiste un mensaje a través del formulario de contacto de tu sitio’,$cuerpo ) ) {
header( ‘Location: contacto_exitoso.php’ );
die;
} else {
header( ‘Location: contacto_error.php’ );
die;
}
?>
| << CLASE ANTERIOR |








Jueves, 3 de Abril de 2008 a las 18.53
q tal.. S aludos ….
solamente tengo una pregunta en donde puedo placticar PHP… en dreaw! o en dode,…
por que lo hago escrito pero si es platico mucho mejor para poder implementar todo y jugar con todo….
ok.
nos vemos espero su respuesta—………
SALUDOS A TODOS…..
ATTE: FREEMAN…..
mi email por los que me quierna agregar….?
Lunes, 7 de Abril de 2008 a las 13.17
Muy bueno…lo voy a bajar y loprobare en un SItio q estoy haciendo
Martes, 8 de Abril de 2008 a las 15.42
¡Hola, Freeman!
PHP es un lenguaje de programación que puedes escribir en un simple blog de notas (notepad), también puedes utilizar el Dreamweaver
Martes, 15 de Abril de 2008 a las 02.09
Que tal, Te felicito por la loable labor que haces al impartir cursos de php, entre otros, me gusta la forma en que lo enseñas pues lo haces en un nivel entendible. Te comento actualmente estoy aprendiendo php de un libro que compre y lo complemento con lo que tu enseñas, en el tema de los formularios me gustaria que nos explicaras un poco hacerca de enviar archivos, tb procesando archivos, bueno te comente que ya estoy aprendiendo un poquito asi que si puede servir de algo te envia algunas cosas sobre estos temas, solo dime si a tu correo o aqui mismo los escribo, saludos y hasta pronto, estamos para servios!!!
Jueves, 17 de Abril de 2008 a las 18.49
Hola, tengo dudas en cómo insertar un comentario y que este aparezca en una dirección de correo para ser valorado antes de publicarlo. Saludos
Viernes, 18 de Abril de 2008 a las 10.54
Hola Kendrick, todavía no expliqué lo que me estas preguntando jeje, pero en cuanto arranque con las clases que hacen referencia a la creación de un “blog” lo voy a explicar.
Tenes que tener un poquito de paciencia solamente, gracias por seguir el curso.
Saludos.
Jueves, 24 de Abril de 2008 a las 12.15
hola, te escribo porque, cuando ejecuto el archivo contacto.php todo bien, pero cuando presiono el boton enviar consulta(obvio con todos los datos ingresados), sale el siguente error:
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 E:\AppServ\www\Clase11\contacto_script.php on line 23
eh instalado, un servidor SMTP del mismo Windows, pero daba el mismo error, he bajado uno que se llama QK SMTP Server 3, y como que funciona (muestra el archivo contacto_exitoso.php), pero en realidad no envia nada.
Que es lo que podria hacer para darle solucion al problema, que imagino no sere el unico que lo tiene, GRACIAS!!
Jueves, 24 de Abril de 2008 a las 12.19
bueno, y era solo ese el problema cuando solo ponia el if sin else porque de lo contario tambien me sale el error anterios junto al segundo:
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 E:\AppServ\www\Clase11\contacto_script.php on line 23
Warning: Cannot modify header information - headers already sent by (output started at E:\AppServ\www\Clase11\contacto_script.php:23) in E:\AppServ\www\Clase11\contacto_script.php on line 26
bueno espero su ayuda, GRACIAS!!!
Martes, 13 de Mayo de 2008 a las 22.34
Hola, Justi
Estoy encantado con tu curso, hasta ahora lo he seguido sin ningún problema.
Sin embargo, en esta clase, el scrip de contacto_scrip.php no me funciona.
Me envía este mensaje ” Warning: Cannot modify header information - headers already sent by (output started …etc ” que traducido viene a ser “Advertencia: No puede modificar la información de header - headers ya enviados por (la salida comenzada …etc. ”
Si en el condicional
“if ( !empty($error) ) {
header( ‘Location: contacto_error.php’ );
die;
}”
sustituyo
“header( ‘Location: contacto_error.php’ );
die;”
por otra instruccioón, por ejemplo “echo $nombres;” y en el header del final hago lo mismo, la instrucción se ejecuta y el correo es enviado sin novedad.
Te agradecería me explicaras qué hago mal.
Aprovecho para saludarte y felicitarte por tu curso
Domingo, 8 de Junio de 2008 a las 23.51
Estoy probando esto del envio de los datos por correo, y aparentemente no existe problema, sin embargo al realizar una prueba no llega a mi email, que estará pasando???
Por favor es para un proyecto, gracias!!!!
Lunes, 23 de Junio de 2008 a las 21.46
Hola, estuve probando este codigo porque lo necesito para una pagina que estoy haciendo pero no me anda, cuando apreto el boton enviar me tira una pantalla en blanco y no hace nada ni me manda el correo ni me muestra la pagina contacto_error.php ni la de contacto_exitoso.php.
Te agradeceria si me pudieras ayudar con esto porque lo necesito. Gracias.
Martes, 24 de Junio de 2008 a las 11.15
Hola nelson,
El error que te esta tirando es un problema con el envío de emails del servidor, tendrías que ponerte en contacto con los encargados del servidor para que hagan funcionar la función mail de php.
Con respecto al error de “Warning: Cannot modify header information - headers already sent by …”, eso es porque no se puede mostrar en pantalla absolutamente nada antes de un “headar location”, y el mismo error anterior, el del mail es el que esta disparando el error del header location. Solucionando uno se solucionan los dos.
Saludos.
Martes, 24 de Junio de 2008 a las 11.18
Hola José Luis,
El error que te tira el “header location” es como le explique a Nelson, porque no podes enviar a pantalla aboslutamente nada antes del “header location”, es por eso que casi siempre se coloca lo mas arriba de todo, si tenes un “echo” o algo en html antes que el “header” te va a tirar el error ese.
Saludos.
Martes, 24 de Junio de 2008 a las 11.20
hola Angeles,
El que no te tire ningún error el script pero nunca te llega el email es por como esta configurada la funcion mail de php, te recomiendo que te pongas en contacto con la gente que te brinda el servicio de hosting para comunicarles este problema (que es bastante común).
Saludos.
Martes, 24 de Junio de 2008 a las 11.22
Lucrecia,
Pueden estar ocurriendo dos posibles cosas ante tu problema, la primera que el formulario no se este enviando a donde se tiene que enviar, asegurate que el action del formulario apunte bien. Y la segunda es que tenga un error el php y el servidor este configurado para que no muestre ningún error.
Una forma de debuggear estos problemas, es poner arriba de todo en el script un echo “hola”; e ir bajando esta linea de a poco, para ver hasta donde llega la ejecucion del script y hasta donde no.
Saludos.
Jueves, 26 de Junio de 2008 a las 02.04
El formulario me ha funcionado perfectamente en cuanto a recibir el mail en mi cuenta, pero me da el error de (Warning: Cannot modify header information…), entonces, ¿cual codigo php debo poner en contacto_exitoso.php y contacto_erro.php ?
Gracias.
Lunes, 7 de Julio de 2008 a las 22.38
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 \\ una ip \s003\midominio.com.mx\Correo\envio.php on line 20
si alguien me pudiera ayudar pa empezar no se por donde atacar el problema soy un burro!! definitivamente
Miércoles, 9 de Julio de 2008 a las 04.04
Hola amigo Justi
Primero felicitarte por el exelente curso que estas brindando y agradecerte de antemano por tu respuesta mi inquietud es la siguiente como recupero datos cuando tengo un formulario con el metodo GET seria de la forma ($_GET['nombres']) o es de una diferente forma muchas gracias por la respuesta
Sábado, 19 de Julio de 2008 a las 18.34
Hola, antes que nada quería comentarles que es excelente este curso.
Ahora (pido un salvavidas), tengo el mismo problema que en los post 7-8 y 17 (Failed to connect to mailserver at “localhost” port 25 …), lo triste es que instalé Apache y Php en mi pc para depurar localmente (no hay adminstrador a quien reclamar…), he revisado toda la documentaciín que encontré sobre Apache… y na, también busqué otra bibliografía sobre Php, pero no encuentro en ningún lado alguna referencia a la variable smtp_port (supuestamente, se debería configurar en php.ini).
Agradeceré alguna orientación.
Mario
Jueves, 31 de Julio de 2008 a las 00.58
Hola de nuevo, luego de probar unas cuantas alternativas (con distintos niveles de éxito, combinando diversos SMTPServer -free- con ejemplos descargados de scripts y personalizando para superar situaciones de error) encontré que la mejor solución se me da utilizando la validación de usuario.
$host, ‘auth’ => true, ‘username’ => $username, ‘password’ => $password));
// envía email
$headers = array (’From’ => $from, ‘To’ => $to, ‘Subject’ => $subject);
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail))
$coment = ‘Error: ‘ . $mail->getMessage();
else
$coment = ‘El mensaje ha sido enviado.’;
//…
?>
Espero ayude a alguien,
Salu2
Jueves, 31 de Julio de 2008 a las 01.01
Perdón, repito xq no salió completo…
Hola de nuevo, luego de probar unas cuantas alternativas (con distintos niveles de éxito, combinando diversos SMTPServer -free- con ejemplos descargados de scripts y personalizando para superar situaciones de error) encontré que la mejor solución se me da utilizando la validación de usuario.
//…
require_once “Mail.php”;
//… inicializar variables
$host = ‘localhost’;
// el servicio SMTP debe estar iniciado
$smtp = Mail::factory(’smtp’,
array (’host’ => $host, ‘auth’ => true, ‘username’ => $username, ‘password’ => $password));
// envía email
$headers = array (’From’ => $from, ‘To’ => $to, ‘Subject’ => $subject);
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail))
$coment = ‘Error: ‘ . $mail->getMessage();
else
$coment = ‘El mensaje ha sido enviado.’;
//…
Espero ayude a alguien,
Salu2
Viernes, 15 de Agosto de 2008 a las 00.34
Hoal, aver si los puedo ayudar un poquito, para todos quienes tienen problemas para trabajar con la función mail, pueden probar con este script mas sencillo, (espero que no se moleste nuestro amigo Justin jejee)..ahí les va:
$email=”nombre@mail.com”;
$asunto=”acá va el asunto del mensaje”;
$contenidomail=”variable1 “.$variable1.”variable2 “.$variable2;/*en esta variable guardan los datos ingresados por el usuario en el formulario*/
mail ($email,$asunto,$contenidomail);//acá envían las tres variables a través de la función mail de PHP
Bueno eso sería, y por supuesto, no olviden que tienen que estar conectados a Internet para poder trabajar con esta función, y si lo prueban en el servidor local, NO podrán enviar los mails porque el Apache no está conectado con el puerto 25, que es el encargado de enviar los correos, si es que quieren hacer pruebas, deben subir sus archivos a un servidor remoto, o en caso contrario, puede buscar algún programa que trabaje a nivel local con pruebas de mails…eso sería, y nuevamente amigo Justin, buenísimo tu curso. Te comento que soy un apasionado de PHP, me gusta mas que ASP o cualquier otro lenguaje del lado del servidor, porque es mas flexible…bueno un abrazo..
Viernes, 15 de Agosto de 2008 a las 12.26
gracias Cesar, excelente tu explicación!
Viernes, 22 de Agosto de 2008 a las 22.40
Muy bueno el fromulario, pero me da el mismo error de todos, y en tu respuesta a este problemas dabas dos alternativas, no se cual me corresponde en mi caso, en una dices que es problema del servidor y hay que pedir habilitar la opcion de correo, pero en mi caso el correo me llega con contenido y todo pero no me muestra la pagina esa Contacto Exitoso, y no entendi la verdad eso de que si tenes un “echo” o algo en html antes que el “header” te va a tirar el error ese. mi codigo es tal cual esta en esta pagina, asi que no tengo nada antes… entonces no se cual es el problema, ojala me pudieras ayudar, ya que soy nueva en esto, con suerte soy disenadora y no se nada de programacion …
Lunes, 22 de Septiembre de 2008 a las 07.07
hola
A mi me envia la informacion al mail pero lo que falla es cuando no metes algun dato y tiene que llamar a la pagina de error, o cuando despues de realizar la funcion mail, y si esta se realiza ok tiene que llamar a la pagina de contacto_exitoso.php, no se que es lo que esta mal, Ayudaaaaaa
yo creo que el fallo puede estar en la linea de header en lo de Location, pero no se como se podria arreglar.
Un saludo
Lunes, 22 de Septiembre de 2008 a las 07.21
La modificacion de Cesar funciona, pero cambiando algunas cosillas.
Asi es como lo puso el:
$email=”nombre@mail.com”;
$asunto=”acá va el asunto del mensaje”;
$contenidomail=”variable1 “.$variable1.”variable2 “.$variable2;/*en esta variable guardan los datos ingresados por el usuario en el formulario*/
mail ($email,$asunto,$contenidomail);//acá envían las tres variables a través de la función mail de PHP
Asi lo puse yo y Funciona
$email2 = ‘yogysp@gmail.com’;
$asunto = ‘Mensaje de mi web’;
//$contenidomail=”variable1 “.$variable1.”variable2 “.$variable2;/*en esta variable guardan los datos ingresados por el usuario en el formulario*/
mail ($email2,$asunto,$cuerpo);//acá envían las tres variables a través de la función mail de PHP
Elimine lo de $contenidomail=”variable1 “.$variable1.”variable2 “.$variable2;/, por que ya teniamos lo de $cuerpo
Martes, 7 de Octubre de 2008 a las 17.57
Muchas Gracias por el curso es excelente!!!
Martes, 7 de Octubre de 2008 a las 17.58
gracias
Lunes, 13 de Octubre de 2008 a las 16.42
Evidentemente todos los caminos son buenos siempre y cuando lleguemos al resultado correcto…Nuevamente felicitaciones amigo de el webnaster, y bueno, ahí cualquier cosa que necesiten estamos a la orden..saludos cordiales..
Lunes, 20 de Octubre de 2008 a las 21.52
Hola justi, mira tu dices que uno se tiene que poner en contacto con queien te brinda el servidor pero que ellos me dirian para solucionar el mail
Miércoles, 22 de Octubre de 2008 a las 14.03
Nada que decir, simplemente es excelente este taller de php, hace bastante tiempo que estaba googleando en busca de un buen tutorial y todo lo he encontrado acá. Felicitaciones al creador, recomendare este sitio a mis compañeros de universidad.
salu2
Viernes, 24 de Octubre de 2008 a las 10.47
Hola, Muchas Gracias por el curso es excelente!!!
Te queria consultar algo, a mi me llaga el mail pero con el numbre ” Apache (apache@ws03.host4g.com)” es posible configurarlo para que me llege info@mipagina ? pense que creando un webmail era sufuciente.
Gracias de nuevo.
Sábado, 1 de Noviembre de 2008 a las 21.53
Este manual me ha sacado de un gran problema, muchas gracias.
Miércoles, 26 de Noviembre de 2008 a las 09.38
ESTOY USANDO EL XAMPP COMO SERVIDOR LOCAL Y ESTE TRAE EL MERCURY UN SERVIDOR DE CORREOS PERO SOO LOGRO QUE ME ENVIE LOS MAIL A MI CUENTA DE GMAIL Y LOS MAIL NO ME LLEGAN A LA DE HOTMAIL PORQEU SERIA ESTO???
AQUI DEJO EL CODIGO
//desde aqui
//hasta aqui
Miércoles, 26 de Noviembre de 2008 a las 09.39
// definimos las variables o marcamos el error
if ( !empty($_POST['nombres']) ) $nombres = $_POST['nombres']; else $error = true;
if ( !empty($_POST['email']) ) $email = $_POST['email']; else $error = true;
if ( !empty($_POST['sexo']) ) $sexo = $_POST['sexo']; else $error = true;
if ( !empty($_POST['mensaje']) ) $mensaje = $_POST['mensaje']; else $error = true;
// verificamos que no exista un error
if ( !empty($error) ) {
header( ‘Location: contacto_error.php’ );
die;
}
// definimos el cuerpo del email
$cuerpo = “felizidades ya estas registrado en el servicio de empleo”;
// enviamos el email
if ( mail( $email,’Recibiste un mensaje a través del formulario de contacto de tu sitio’,$cuerpo,’From:dajogere@hotmail.com’) ) {
//echo “salio” ;
header( ‘Location: contacto_exitoso.php’ );
die;
} else {
//echo “no salio” ;
header( ‘Location: contacto_error.php’ );
die;
}
Viernes, 23 de Enero de 2009 a las 02.23
hola tengo una duda me sale estos errores
el primero es:Warning: mail() [function.mail]: “sendmail_from” not set in php.ini or custom “From:” header missing in C:\AppServ\www\practicando\contacto_script.php on line 29
y mi linea 29 es:if (mail(’e_helloy_149@hotmail.com’, ‘Recibiste un mensaje de tu formulario’, $cuerpo)){
y mi segundo error q me sale junto con el otro es :Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\practicando\contacto_script.php:8) in C:\AppServ\www\practicando\contacto_script.php on line 33
bueno y mi linea 33 es:header(’Location: contacto_error.php’);
Viernes, 23 de Enero de 2009 a las 02.24
bueno espero q me ayuden ,uchas gracias necesito eso xq quiero aprender php estoy muy entusiasmado bueno y pienso q esta web el muy buena gracias.
Viernes, 23 de Enero de 2009 a las 11.56
hola elvis, el 2do error es porque quiere redireccionar pero como te esta mostrando el mensaje de error anterior no te deja, no te preocupes que se soluciona solucionando el primero (valga la redundancia).
el 1er error es porque no debes tener configurada en tu php la funcion mail().
Saludos.
Justi
Viernes, 23 de Enero de 2009 a las 18.16
justi pero como configuro la funcion mail podria explicarme si no fuera molestia
Viernes, 23 de Enero de 2009 a las 18.52
bueno espero q me ayudes xq estoy interesado en aprender bueno estuve viendo otros formas y veo que configuran parametros bueno lo unico que quiero es q me salga el envio gracias
Sábado, 24 de Enero de 2009 a las 16.35
hoa justi entiendo un poco creo q me dices q entre al php.ini pero que configuro ahi eso seria mi duda
Lunes, 26 de Enero de 2009 a las 15.31
@elvis: configurar la funcion mail le tendrias que pedir a los de tu hosting que te la configuren, eso ya excede al curso de php, ya que es una cuestion de servidores, y depende mucho la plataforma donde estes corriendo php, si es apache, que version de apache, que version de php tenes instala, etc, etc.
Lunes, 26 de Enero de 2009 a las 19.01
hola justi pero tengo entendido q tengo q configurar eso en el php.ini y q hay q cambiar algo solo quisiera saber eso no seria molestia si me ayudas con eso, bueno mi apache es 2.5.9 bueno espero qu no t molestes gracias, es muy bueno lo q eplicas aca x eso es que me dan las ganas de aprender php
Martes, 27 de Enero de 2009 a las 10.43
la verdad que no tengo ni idea como configurar la funcion mail(), seguramente haya que buscar el modulo mail para php, lamento no poder ayudarte con ese problema.
Martes, 27 de Enero de 2009 a las 20.12
muchas gracias justi x ayudar a los demas y x compartir lo que sabes q tengas exitos
Lunes, 13 de Abril de 2009 a las 05.00
Ufff… por fin pude usar los header, lo que pasa es que debes de usarlos antes de cualquier codigo HTML lo que hice fu poner el codigo php () al principio de la pagina antes de todo lo de
…
Y sobre el correo debes de habilitar en los servicios de XAMPP el servidor mercury de mensajeria y quitarle lo de los correos locales que dice arriba… y si quieres mandar es otro problema configurarlo jeje… suerte,,,
Lunes, 13 de Abril de 2009 a las 11.07
Hola, estoy probando de hacer un formulario y he encontrado excelente este sitio, por ello me he animado a realizar el formulario como se describe anteriormente, he copiado el formulario de contacto, también el de contacto_script (colocando mi dirección de correo), cuando hago click en el boton enviar con los datos cargados, solo abre una nueva pestaña en blanco y no aparece nada, tampoco envía algo.
He instalado el xampp y he activado apache, mysql y Mercury (adm de correos), pero tampoco aparece algo.
AL hablar con los administradores del servidor de mi correo me han dicho ….coloca en location los datos de SMTP, mi pregunta a que se refieren solo a los datos del smtp o debo colocar tb mi direccion de correo o algo más? Muchiiiiiiiiiisimas gracias por la ayuda se sostener este sitio.
Lunes, 13 de Abril de 2009 a las 12.19
@Mariangeles a mi me llama la atencion dos cosas, por un lado la pantalla en blanco, seguramente esta tirando un error pero no lo muestra en pantalla, no debe estar llegando a la redireccion. Y por otro lado n oentendi lo del administrador del servidor, instalaste Xampp o contrataste un hosting? O a quien te referis por Admnistrador del Servidor, porque en Location no van los datos de smtp, en todo caso a la hora de enviar el email.
Saludos
Lunes, 13 de Abril de 2009 a las 12.31
Holas de nuevo, les cuento que he copiado mi carpeta de formulario con todo dentro de la carpeta htdocs de Xampp y con mercury habilitado he logrado que por lo menos me dé error, (antes solo mostraba página en blanco).
El error que me dá lo transcribo abajo, si alguien tiene idea que puede ser, se lo agradecería
Parse error: syntax error, unexpected T_ECHO in C:\xampp\htdocs\LOPD-AEDHE\enviar1.php on line 5
y el código es el que sigue:
Gracias nuevamente…
Lunes, 13 de Abril de 2009 a las 12.56
Gracias Justi, yo también me había mareado un poco.
Te cuento lo que hice, instalé el xampp y lo que tenía de prueba realizado (replique un formulario de la web en php) lo copie en una carpeta dentro de htdocs de xampp, luego desde el navegador he podido acceder al formulario via, http://localhost/carpeta/formulario.php, hasta allí bien, ahora me da un error; que es el que sigue
Warning: mail() [function.mail]: “sendmail_from” not set in php.ini or custom “From:” header missing in C:\xampp\htdocs\Sitio sin nombre 2\formulario.php on line 29
Esta es la línea 29 mail(”angeleszarate@gmail.com”,”Formulario recibido”,$cuerpo);
supongo que tengo algo mal en la función mail, es lo que estoy por ver.
Muchas Gracias por tu interés en este problema.
Jueves, 14 de Mayo de 2009 a las 16.18
hola. he seguido atentamente este curso y como todos, me he quedado enganchado en la funcion mail() del script contato_script.php. he seguido todos los pasos para crear el formulario pero al ejecutarlo, me aparece el mensaje de error siguiente:
Warning: mail() [function.mail]: “sendmail_from” not set in php.ini or custom “From:” header missing in C:\AppServ\www\membasoft\UP\contacto_script.php on line 24
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\membasoft\UP\contacto_script.php:24) in C:\AppServ\www\membasoft\UP\contacto_script.php on line 31
Este es el script contacto_script.php:
Te agradeceria que me sacases las castañas del fuego. gracias.
Domingo, 17 de Mayo de 2009 a las 15.23
Donde se encuentra ese archivo que tratara el formulario?, Si esta en algun lado como en el servidor de tu pagina o uno tiene que hacerlo y ubicarlo en determinado lugar?, si la accion es igual archivo php y el methodo post, que va en el campo enctype es imprecindible llenarlo o no?
Es inventado varios methodos para enviar formulario incluso el tradicional que es el siguiente: accion: mailto: direccion correo, Methodo: Post, Enctype: text/plain y nada usted puede probarlo en mi pagina en construccion los aspirantesrd. tambien he probado el envio de correo a traves del mailto en aparrece outlook pero cuando envio aparece un mensaje que dice que hotmail no recibe correo a traves de outlook o algo parecido. Lo que pido es simple que alguien me diga pon esto aqui, aquello alli y punto ver lo que hace no com lo hace.
At.
Robert Burgos
Miércoles, 27 de Mayo de 2009 a las 21.08
Muy bueno esto, pero… tengo un problema.
Cuando presiono el boton enviar me aparece la un ventana para descargar el formulario PHP y no me muestra la informacion
Que pasaa???
Viernes, 29 de Mayo de 2009 a las 12.37
Hola que tengo que agregar para que este formulario vaya a mi correo nelson5544@gmail.com
Saludos
Muchas garcias
Nelson
Nombre:
Pedido C:
Empresa:
Cant.:
piezas.
Teléfono:
Pedido D:
Email:
Cant.:
piezas.
Interés:
Elegir
Pedido
Pedido E:
Pedido A:
Cant.:
piezas.
Cant.:
piezas.
Pedido F:
Pedido B:
Cant.:
piezas.
piezas.
Cant.:
Lunes, 1 de Junio de 2009 a las 15.25
@nelson hola nelson, es practicamente a lo que se explica en los tallers, pero tenes que agregar mas campos y definir mas variables, dependiendo la cantidad de campos que quieras tener.
Saludos.
Lunes, 1 de Junio de 2009 a las 15.27
@ricardo hola ricardo, asegurate que este configurado tu servicio de hosting para procesar php, tenes que hablarlo con los encargados del servidor.
Martes, 2 de Junio de 2009 a las 08.56
Me da este error:
Parse error: syntax error, unexpected ‘:’ in contacto_script.php on line 10
Que puede ser?¿
Gracias, un saludo.
Martes, 2 de Junio de 2009 a las 11.53
@luis me tendrías que decir que es lo que tenes en la linea 10 de contacto_script.php porque hay algo de sintaxis que está mal.
Martes, 2 de Junio de 2009 a las 19.44
Esto es lo que tengo en la linea 10
header( ‘Location: contacto_error.php’ );
Muchas gracias.
Jueves, 4 de Junio de 2009 a las 12.21
fijate que las comillas simples que se estan usando estan mal, eso es porque este blog las cambias, hay que usar las que son bien verticales. Y no esas que son como una especie de acento. En mi teclado yo las tengo en la misma tecla que el signo de cierre de interrogación. Esta
'Sábado, 6 de Junio de 2009 a las 02.53
Hola no se si lo estoy haciendo bien.. estoy trabajando con dreamweaver… y ya abre el formulario… pero cuando le doy enviar una pagina en blanco solamente… creo q debe ser por cree un archivo en dreamweaver q se llama contacto_script.php… no se si ese se el error….y alli pegue las acciones de php
Jueves, 11 de Junio de 2009 a las 11.51
@Maximiliano disculpame, pero no entendi la pregunta muy bien. Fijate que si te aparece una pagina en blanco desdepus del formulario quizas estas teniendo un error y tenes configurado PHP para que no muestre los errores. Tendrías que hablar con el encargado de servidores donde tenes montado el sitio para que te habiliten esa opcion, o que te digan donde esta el log de errores.
Viernes, 3 de Julio de 2009 a las 18.58
Hola les mando un saludo. Les planteo mi duda haber si me pueden ayudar.
Hice el formulario tal como esta, pero, llene o no el formulario lo unico que sale es la pagina
de contacto error, que he creado y no lo envia a mi correo.
Que esta pasando Por que no lo envia?
Gracias.
Lunes, 6 de Julio de 2009 a las 19.15
@benjamin podría ser por muchas cosas, habría que ver como tenes configurado el envio de emails, o como tenes armado los scripts, etc etc
Miércoles, 8 de Julio de 2009 a las 01.16
Hola mira te pongo el script yo creo que esta bien, no se ustedes que opinen.
Mil gracias.
Viernes, 24 de Julio de 2009 a las 20.02
Hola muy bueno el taller de PHP, mi inquietud es acerca de los formulario y el envío de datos bueno ya los datos los envío y recibo en el otro php pero no se envían al mail como dices, estoy trabajando desde ubuntu tiene q ver o xq no se envían, no me sale ningún error solo q salta al else del envío…
// enviamos el email–> las xxxx son un supuesto, uso uno real…
if ( mail(”vicanall@xxxx.com”,”Recibiste un mensaje”,$cuerpo) ) {
header(’Location: cont_exitoso.php’);
die;
}else{
header(’Location: cont_error.php’);
die;
}
Martes, 28 de Julio de 2009 a las 16.49
@victor hola, seguramente no tengas configurada la salida de emails desde el servidor que tenes corriendo la aplicacion. Saludos.
Lunes, 10 de Agosto de 2009 a las 23.09
hola que tal!? tengo el mismo problema que benjamin, me salta la pagina de error que yo diseñe pero no me salta nunca la pagina de contacto_exitoso, ni me envia el mail. dices que hay k configurar el envio de mails?..como se hace eso? mi servidor XAMPP(para macOS X 1.0.1). Muchas gracias!
Miércoles, 19 de Agosto de 2009 a las 12.15
GRACIAS son de mucha ayuda .
Miércoles, 19 de Agosto de 2009 a las 12.17
por favor talves pueden poner como maiobrar satelites o redes inalambricas
Jueves, 17 de Septiembre de 2009 a las 03.10
Excelente, tu web, sabes como manera de mejorarlo porque no haces una actualizacion y pones lo nuevo de php 5.0, todo lo potente que es ante la tecnología de POO. Una sana sugerencia, me ayudo con algunos buenos ejemplos, y muy didácticos, Felicidades.
Jueves, 24 de Septiembre de 2009 a las 19.31
Hola, es muy buenos los datos que dan de PHP. Yo estoy teniendo un problema con un formulario que hice. Es este: En el formulario no tengo un campo donde se coloque el mail del que lo esta respondiendo, pero quiero que me llegue su mail de todas formas. Como se hace? Porque los datos del formulario me llegan bien, pero cuando me llega el mail con los datos, en mi casilla no aparece nada en De: o dice Remitente Desconocido. Como hago para que aparezca el mail de quien responde el formulario?. Muchas gracias.
Sábado, 3 de Octubre de 2009 a las 15.17
hola se q a lamejor ya no contestas pero es q apenas encontre este tutorial q graciasesta muy bien pero tengo 2 dias con un problema en le mail primero me aparesia lo de astp con un documnto q hice e yo como no olo pude hacer para ver el error lo copie exactamnte el q tu propones pero sabes q me marca eror en alla linea 15 y detalle s asi es igualito al tuyo y nose por queosea q no me puede enviar a mi correo espero me respondas justi se claroaun o no se mucho de hp estoy atorada en esta clase
Miércoles, 7 de Octubre de 2009 a las 13.57
@rubi puede que el problema sea porque no esta bien configurado el envio de emails en tu servidor, si usas xampp o similar es muy probable que sea eso.
Lunes, 12 de Octubre de 2009 a las 16.49
hola si ya resolvi ese problema pedi prestado un servidor elcual solo si pongo la funcion mail si la envia me aparese como error pero si llega a mi correo el t detalle ahora es cuando quiero agregar datos hice mi codigo y me marca error y lo que hice para ver es q piratie el q tu pones y aun asi me marca error en la linea 16 o 17 segun sea pero esta copiado tal cual de echo le puse cortar y pegar y no sirve ni siquiera funciona directamnte me manda a erorr. gracias por el tutorial encerio para gnete como yo ses genial y entonces que puedo hacer
gracias por contestar. dedicar tiempo a gente extraña
Lunes, 12 de Octubre de 2009 a las 16.55
mira este esl el tuyo igualito y no funciona para na me marca q ay error en una linea auxilio
para enviar datos
Nombre y Apellido
Email
Sexo
Masculino
Femenino
Mensaje
Lunes, 12 de Octubre de 2009 a las 16.58
Parse error: syntax error, unexpected T_STRING in /home/miguelg/public_html/pruebas_rubi/prueba.php on line 16
es te es el herror mas exacto
Miércoles, 14 de Octubre de 2009 a las 17.05
@rubi hola, borrale las comillas y agregalas a mano vos, eso es porque el blog este cambia las comillas que hay que usar, en programacion tanto las comillas dobles como simples tienen que ser siempre las que son perfectamente vertical, no las inclinaditas.
Jueves, 15 de Octubre de 2009 a las 14.59
Hola Justi, estoy siguiendo tu curso online, y me parece muy fascinante… ahora mi pregunta va, en este tema de la redireccion del formulario, en donde se envia el email, se puede agregar mas de uno, o simplemente esta diseñado para un correo, nada mas por ahora, y otra vez excelente explicacion… hasta la proxima….
Lunes, 19 de Octubre de 2009 a las 11.46
@Mario hola, en el string donde va el destinatario lo podes armar con multiples email, admite los siguientes formatos
Lunes, 26 de Octubre de 2009 a las 16.11
no habia visto tu respuesta pero sabes eso tambien ya le habia cambiado y aun asi me marc ERROR DE SINTAXIS TALVEZ POR Q EN LA MISMA PAGIAN ESTA EL DE HTML Y PHP LO METI EN EL BODY SERA. LO TENDRE Q METER EN PAGINAS DISTINTAS DISCULPA SI SONTONTAS O OBIAS MIS RESPUESTAS ES Q NO SE MUCHO DE PHP LO Q SE ES LO Q E LEIDO CON TIGO PERO SIGO A TORADA AQUI EN LO DEL MAIL MIRA LO TENGO ASI. DE ECHO ESTABA HACIENDO EL MIO PERO ME SALIO MAL ENTONCES DESIDI PARA APRENDER PIRATIAR EL TUYO ENLO Q LO COMPRENDIA Y ME MARCO EL MISMO ERROR, AYUDAME POR FIS PUEDES ENVIARME A MI CORREO LO Q SEA
para enviar datos
Nombre y Apellido
Email
Sexo
Masculino
Femenino
Mensaje
Lunes, 26 de Octubre de 2009 a las 16.14
AAAAAAAAAAAAAAAAA NO YO TE QUIERO ENVIAR EL CODIGO
Lunes, 26 de Octubre de 2009 a las 22.28
jajaj ya pude gracias si me faltaba una comilla q no veia hasta q me puse a ver y separe el codigo todo en 2 hojas no se por q me dio esa idea jajaja q mensa gracias por tus tuturiales encerio no sabes cuanta ayuda a los q no podemos pagar un curso gracias
Martes, 27 de Octubre de 2009 a las 10.35
@rubi no hay drama que tengas el php y el html en el mismo archivo, fijate que tenes en la linea 16 de tu codigo que es donde esta marcando el error y cualquier cosa pegamela aca.
Jueves, 5 de Noviembre de 2009 a las 09.32
Tengo un problema:
Cómo insertar los datos que vienen de un select multiple, los marco como has explicado, pero solo me inserta uno de los varios marcados.
Me podrias ayudar.
Gracias
Jueves, 5 de Noviembre de 2009 a las 14.57
@nely hola, los datos te van a llegar como un array, lo que podes hacer es recorrer ese array con un foreach e insertar el valor en cada vuelta del bucle
Jueves, 12 de Noviembre de 2009 a las 12.27
Gracias por la respuesta, ya lo he logrado y no tengo problemas.
Ahora la duda es que cuando quiero una lista con los datos me pone por ejemplo:
para varias materias, me pone en cada fila los datos con una materia (las materias vienen del select multiple)
pero yo quiero que me ponga los datos y en la misma fila materias:……. y ponga todas las materias que corresponden a ese dato separadas por coma.
Te comento que tengo una tabla (temas) donde cada dato (tabla dato) tiene iddato e idmateria, asi sé que dato tiene asociada varias materias, pero te repido ahora el porblema es que quiero que en una sola fila salgan todas las materias correspondientes a ese dato y no una fila para cada meteria con los datos correspondientes que es lo que me pasa ahora.
Gracias y perdona tanta lata
Lunes, 7 de Diciembre de 2009 a las 19.01
Hola gente… tenemos un problema… en la siguiente seccion:
// definimos el cuerpo del email
$cuerpo = “
De: $nombres \n\r
Email: $email \n\r
Sexo: $sexo \n\r
Mensaje: \n\r
$mensaje
“;
Primero, corregimos todo el tema de las comillas y demas, pero cuando logramos que el php mande el mail al correo, llega con la info de la siguiente manera:
De: $nombre \n\r
Email: $email \n\r
Telefono: $telefono \n\r
Localidad: $localidad \n\r
Asunto: $asunto \n\r
Mensaje: \n\r
$mensaje
No somos grande maestros ni nada por el estilo, pero creemos que al enviar no esta leyendo las variables, sino todo como un gran cuerpo de mensaje.
Separamos las variables con puntos (ej: ‘De: ‘ .$nombre. ‘\n\r’), ya que en otro ejemplo vimos que las escribian de esa manera.
Ahora, sigue tirando error. En nuestro caso el siguiente:
Parse error: syntax error, unexpected T_VARIABLE in /home/messiha/public_html/hiddenband.com.ar/A/enviar.php on line 19
La respectiva linea es la misma del ejemplo anterior: ‘De: ‘ .$nombre. ‘\n\r’
Les agradeceriamos una ayuda para poder hacer andar esto!.
Saludos!
Martes, 8 de Diciembre de 2009 a las 11.39
@Messiha hola, usa comillas dobles en lugar de comillas simples en el primer ejemplo, las comillas dobles permite a php interpretar variables dentro del string, las simples no.
Martes, 8 de Diciembre de 2009 a las 21.25
esto anda bien… obviamente tenes que cambiar los contenidos de la variables, con esto estoy trabajando ahora y funciona
$cabeza = “MIME-Version: 1.0\r\n”;
$cabeza .= “Content-type: text/html; charset=iso-8859-1\r\n”;
$autor1=”messiha.com.ar”;
$autormail=”gerencia@messiha.com.ar”;
$remitente=”From: “.$autor1.”\nReply-To:”.$autormail;
$cabeza .=$remitente;
$destino=”gerencia@messiha.com.ar”;
$asunto=$autor.”PLAYA COSTA MAGNA INFORMA”;
$men = $mensaje;
mail($destino, $asunto, $men, $cabeza);
Jueves, 24 de Diciembre de 2009 a las 12.08
Hola chicos buen dia, alguien me puede guiar como hacer para que no llegue como remitente desconocido asi hotmail no me lo toma como no seguro ????? estoy trabajando con un formulario flash y phpmail, estaria muy agradecido por su ayuda y felices fiestas
Lunes, 28 de Diciembre de 2009 a las 11.38
@Luis la variable del mail o el nombre del usuario que envió el mensaje las tienes, de modo que puedes enviarlas desde la función mail() como parámetros
Domingo, 7 de Febrero de 2010 a las 20.58
Hola tengo una pregunta .. con el primer formulario como haria para que guarde los datos ingresados de varias personas y luego me muestre un reporte con php ( no con pdf , ni con excel .. menos usando programas) …. please!!
Martes, 16 de Febrero de 2010 a las 11.31
@minerva
Hola minerva.
Para poder guardar esos datos y luego mostrarlos en un reporte, tienes que usar una base de datos(DB) y cada vez que una persona use el formulario, meter todos los datos dentro.
Luego en otra página php, debes traer un listado de las personas desde la misma DB e imprimirlo en pantalla.
Aquí tienes otras clases del taller de php que muestran como usar bases de datos.
http://www.elwebmaster.com/talleres/taller-de-php-base-de-datos
Leyendo el taller completo estarás 100% capacitado para hacer la tarea que preguntas arriba.
Saludos!
Domingo, 7 de Marzo de 2010 a las 02.22
Me encanta este taller aunque ya tenia algo de practica en php o almenos en cuanto a lo basico se refiere. Me parece un excelente taller para aquellos que se van inicando en el mundo de PHP MUCHAS FELICIDADES!!!
Domingo, 7 de Marzo de 2010 a las 07.16
hola, bueno primero muy bueno el curso este, he estudiado muchos cursos de php pero este me parecio muy copado, siempre a los otros los abandono porque son muy tecnicos pero este me parece muy copado y bien explicado, los felicito...ahora mi pregunta, mi error, me sale todo bien, pero no puedo enviar el msj, siempre me lleva a la pagina que dice que hubo algun error, osea siempre me lleva a [b]contacto_error.php[/b], y el formulario esta bien completado, cual puede ser el error?
PD: lo estoy probando en localhost, con el apache, osea todavia no lo subi
Domingo, 7 de Marzo de 2010 a las 07.21
lo subi a un host, al servidor de mi web e igual me pasa lo mismo, siempre me dice que algo fallo y me manda a la web contacto_error.php
Miércoles, 10 de Marzo de 2010 a las 15.24
Hola, para solucionar el problema de Elvis y de otros que sale >>> Warning: mail() [function.mail]: “sendmail_from” not set in php.ini or custom “From:” header missing in C:\AppServ\www\practicando\contacto_script.php on line 29 y por ahi otro error mas, la solucion es configurar el archivo PHP.INI, este se encuentra ubicado generalmente en C:/WINDOWS/PHP.INI, obviamente si no esta ahi pueden usar la funcion BUSCAR que traen todos los sistemas operativos windows. En este archivo PHP.INI (solo aparece PHP por que la extension esta oculta), damos doble click sobre el y se abre en el block de notas, MUCHO CUIDADO, SI CAMBIAS ALGO POR ERROR MALOGRARIAS LA CONFIGURACION DE TU PHP, por lo que te recomiendo hagas una copia de seguridad.
Abres el archivo PHP.INI, te desplazas hasta casi la parte central del documento y vas a encontrar esto:
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
;sendmail_from = me@example.com
o algo parecido a eso.. asegurate que el smtp este asi:
SMTP = localhost
y en donde dice sendmail_from cambiamos el valor por el mail a donde keremos que lleguen los datos
;sendmail_from = micorreodondequeiroquelleguenlosdatos@ejemplo.com
una ves hecho esto guardas los cambios y reinicias el equipo.
Ahora abre tu pagina y el envio de datos estara listo... por si acaso yo tengo el APPSERVER!! que trae el apache, php , mysql y phpadmyn, muy bueno para uso personal. Exitos
Martes, 27 de Abril de 2010 a las 20.13
Muchas gracias, al fin pude hacer mi formulario que funcionara para enviarlo donde quiera usando mi servidor.Felicidades.
Viernes, 30 de Abril de 2010 a las 12.46
Una aclaración sobre lo que dice tan correctamente Daniel sobre el fichero php.ini
en la linea ;sendmail_from = micorreodondequeiroquelleguenlosdatos@ejemplo.com hay que quitarle el ; de delante para que la instrucción se ejecute, sino es como un comentario.
Un saludo
Martes, 15 de Junio de 2010 a las 17.11
No funciona el if, no me redireccion a las paginas que quiero, ¿Cual es el error?
Martes, 15 de Junio de 2010 a las 17.12
session_start();
include("conexion.php");
$link = conectarse(); //Invocar metodo para la conexion
$usuario = htmlspecialchars(trim($_POST['usuario'])); //Recibir usuario
$clave = sha1(md5(trim($_POST['clave']))); //Recibir clave y encriptala con sha1 y MD5
if (enlace($usuario, $clave)){ //Verificar si hay sesion
header('Location: ../modules/'); //Si hay sesion inicia los modulos
die;
}else{
header('Location: ../index.php'); //Si no hay sesion manda iniciar el sistema
die;
}
function enlace($usuario, $clave){ //Funcion para crear sesion o bien negar sesion
$ubication = conectarse(); //Invocar metodo para la conexion
$query = sprintf("SELECT usuario, clave FROM usuarios WHERE usuario = '%s' && clave = '%s'", mysql_real_escape_string($usuario), mysql_real_escape_string($clave));
$result = mysql_query($query, $ubication) or die("No se pudo realizar la consulta a la Base de Datos");
if(mysql_num_rows($result)){
$array = mysql_fetch_array($result);
$_SESSION["usuario"] = $array["usuario"];
return (true);
}else{
return (false);
}
}
function status(){ //Funcion para verificar si hay sesion
session_start();
if ($_SESSION["usuario"]){
return (true);
}
}
Miércoles, 16 de Junio de 2010 a las 22.48
A LOS QUE LES ESTEN DANDO ESTE ERROR:
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
ESTE JODIDO ERROR!!!!!, toda la tarde para solucionarlo.... bueno, la cuestion es que yo tenia bien configurada la funcion de email :
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = postmaster@localhost
y tambien me habia creado un servidor local de pruebas (mercury el que te viene con Xampp) en donde habia seguido mil veces el tutorial este que tanto se ve por ahi (http://www.joomleros.com/28-instalacion/16559-configurar-el-mercury32-del-xampp-para-enviar.html). Bueno, pues no iva, habia hecho de todo y nada. Al final leyendo en foro encuentro esto: QK SMTP. Un programilla super pestoso, en donde lo instalas, no hacer falta tocar nada, solo siguiente y te envia el mensaje. Espero de verdad que alguien le sirva esto.
la pagina es de foros del web (http://www.forosdelweb.com/f18/warning-mail-function-mail-localhost-443592/).
El link de descarga es este: http://www.qksoft.com/
Suerte...
Domingo, 27 de Junio de 2010 a las 16.33
hola amigos necesito una ayudita no se como aser q mi formulario q ise en esta pagina http://www.carpiforma.com en la parte donde dice optimizacion llegue mi correo tal como esta diseñado el formulario
Jueves, 5 de Agosto de 2010 a las 04.05
hola! oigan me dejaron una tarea para el lunes de esto y nad amas no me sale!!!! alguien me podria dar su mail para auxiliarme?? por favor!!!
Sábado, 16 de Octubre de 2010 a las 19.20
ma gustaria hacer este codigo porque yo tambien tengo que hacer un proyecto y tengo que hacer un codigo higualito a este y no tengo la ayuda suficiente para crearlo
Jueves, 4 de Noviembre de 2010 a las 18.02
hola tengo problemas con la función header hago todo bien pero no me direciona,,, y tambien con la función mail, de esta ultina "mail" uno pone un correo normal puede ser ejemplo@hotmail.com y ejemplo@gmail.com??????
estoy utilizando un servidor local es el xaMPP
Jueves, 11 de Noviembre de 2010 a las 17.11
Hola esta excelente el tutorial, gracias a la explicacion he podido entender varios puntos que no me resultaban. ahora recibo bien los mail del formulario.
Solo tengo una pregunta, yo quiero agregar otro mail para recibir el formularios aparte de mimail@miservidor.com pero no me resulta como lo dice la explicacion de mas arriba, como debo hacerlo para que quede bien? El codigo del formulario send.php es:
espero que me puedan ayudar.Gracias
Jueves, 11 de Noviembre de 2010 a las 17.13
Hola esta excelente el tutorial, gracias a la explicacion he podido entender varios puntos que no me resultaban. ahora recibo bien los mail del formulario.
Solo tengo una pregunta, yo quiero agregar otro mail para recibir el formularios aparte de mimail@miservidor.com pero no me resulta como lo dice la explicacion de mas arriba, como debo hacerlo para que quede bien? El codigo del formulario send.php es:
///$mail='mimail@servidor.com';
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$nacionalidad = $_POST['nacionalidad'];
$hotel = $_POST['hotel'];
$evento = $_POST['evento'];
$fecha = $_POST['fecha'];
$mes = $_POST['mes'];
$paxs = $_POST['paxs'];
$mensaje = $_POST['mensaje'];
$thank="gracias.html";
$message = "
Nombre: ".$nombre."
Email: ".$email."
Nacionalidad: ".$nacionalidad."
Hotel: ".$hotel."
Evento: ".$evento."
Dia: ".$fecha."
Mes: ".$mes."
Paxs: ".$paxs."
Mensaje: ".$mensaje."";
if (mail($mail,"Formulario de Consulta",$message))
Header ("Location: $thank");
///
espero que me puedan ayudar.Gracias
Jueves, 11 de Noviembre de 2010 a las 18.56
Hola, yo de nuevo... ya encontre la solucion, para los que lo necesiten, el error que cometia era que los correos los separaba mal:
$mail='mimail@servidor.com'; 'contacto@miservidor.com'; 'otro@miservidor.com';
y la forma correcta es:
$mail='mimail@servidor.com,contacto@miservidor.com,otro@miservidor.com';
la comilla va al principio y al final y no entre email como lo hacia. espero que a alguien mas le sirva.
saludos
Martes, 15 de Febrero de 2011 a las 14.08
Les quería consultar si a través de una opción dentro de un formulario se podrían crear nuevos campos... aclaro un poco.
Al ingresar una cantidad en un campo (ej.: 5) dentro de un formulario quiero que se generen 5 campos para poder ser rellenados y ésos campos ser enviados a través del mail.
Desde ya muchas gracias!
Lunes, 14 de Marzo de 2011 a las 22.11
Buenas me gustarias que sean mas explicitos que ponga el moderador porfavor que nombre se le pone a cada script por en el ejemplo no se entiende bien
Lea agradeceria .
Saludos.
Viernes, 5 de Agosto de 2011 a las 23.52
hola
Jueves, 25 de Agosto de 2011 a las 08.26
Hola. Gracias por este súper blog.
Al hacer el formulario tal como dice el inicio me da este error:
[Not Found The requested URL /â€contacto_script.php†was not found on this server.
Apache/2.2.3 (CentOS) Server at http://www.instalahogar.com Port 80]
y sí que está la página .php en el servidor...
¿Por qué puede ser?
Domingo, 30 de Octubre de 2011 a las 16.40
Como hago para procesar un archivo que tengo en php en una tabla de excel... claro ya he intentado con varias opciones pero siempre me manda directo al archivo lo que quisiera es que me ayudaran a saber como le hago para colocar un enlace desde la pagina de php para enviar a q lo abra por excel.... quien me pueda ayudar con esto le estaría agradecido...
Martes, 24 de Enero de 2012 a las 03.29
oie tengo un bronkon no c mucho de php pero tengo una bronca para un proyecto que me encargaron ,como puedo mandar a un correo electronico tipo como una ultima hoja como pedido ,mi pag es como un carrito de compras se almacena y al ver el pedido esa la quiero mandar a un correo pero no puedo me podrias hayudar