Ayuda para comprender un codigo en PHP

Iniciado por Velku, 16 Julio 2009, 19:08 PM

0 Miembros y 3 Visitantes están viendo este tema.

Velku

Hola que tal raza.

Necesito que me hechen la mano. Hace poco empece a modificar unas cosas en mi pagina web y justo ahora estoy en la parte del codigo. El problema que tengo es con varias lineas del codigo que maneja el envio de informacion de un formulario de datos a mi correo, ya que no se que hacen porque no entiendo cual es su funcion.

Le agregue una nota debajo de cada linea de codigo que si comprendo al 100% su funcion y como lo hace, pero las demas no. Se que es algo largo, y de antemano les agradezco mucho su ayuda.

<?php
include('auto2.php');
/* Esto si lo entiendo */

include("class.phpmailer.php");
/* Esto si lo entiendo */

include("class.smtp.php");
/* Esto si lo entiendo */

$titulo= "Correo Enviado";
/* Esto si lo entiendo */

$meta= "<meta name='description' content='descripcion del sitio '/>
<meta name='keywords' content='keywords del sitio'/>";
/* Esto si lo entiendo */

$document = "mail";


$msg = "------------------------------- <br/>";
$msg.= "Nombre:   ".$_POST['Nombre']."<br/>";
$msg.= "Empresa:  ".$_POST['Empresa']."<br/>";
$msg.= "Teléfono: ".$_POST['Telefono']."<br/>";
$msg.= "Extensión: ".$_POST['Ext']."<br/>";
$msg.= "E-mail:    ".$_POST['email']."<br/>";
$msg.= "Sitio Web: ".$_POST['Sitio']."<br/>";
$msg.= "Comentarios:".$_POST['comentarios']."<br/>";
$msg.= "Hora:     ".date("h:i:s a ")."<br/>";
$msg.= "Fecha:    ".date("D, d M Y")."<br/>";

/* Inician datos de la cuenta de Gmail */
$mail = new PHPMailer();

$mail->IsSMTP();

$mail->SMTPAuth = true;

$mail->SMTPSecure = "ssl";

$mail->Host = "smtp.gmail.com";

$mail->Port = 465;

$mail->Username = "nombre@dominio";

$mail->Password = "pass";
/* Terminan datos de la cuenta de Gmail */
/* Todo esto si lo entiendo */

$mail->From = $_POST['email'];

$mail->FromName = $_POST['Nombre'];

$mail->Subject = "Solicitud de información";

$mail->AltBody = "Sistema de contacto para Sitio \n";

$mail->MsgHTML($msg);

$mail->AddAddress("nombre@dominio", "Destinatario");

$mail->IsHTML(true);

if(!$mail->Send()) {

  echo "Error: " . $mail->ErrorInfo;

} else {

  BNPrint($document, $titulo, $meta);
 
}
?>

Saludos

Hadess_inf


Velku

hum...   :-\

Como dije antes: todo, excepto las lineas que traen los comentarios abajo que dicen lo contrario.

Lo que pasa es que todo lo referente a la programacion de la pagina no lo manejaba yo, lo manejaba otra persona, y ahora que el no esta, tengo que ocuparme de lo mio y ahora tambien tengo que ocuparme de lo que hacia el tambien, solo que no tengo mucha experiencia en la programacion con PHP.

Azielito

Busca informacion sobre POO en PHP
Código (php) [Seleccionar]
$mail = new PHPMailer();

Velku

#4
De hecho ya encontre la respuesta que buscaba: Google me dirigio a un articulo en Programacion.com que explica el funcionamiento del PHPMailer y sus atributos.

http://www.programacion.com/php/articulo/phpmailer/

Ya solo me falta resolver unas dudas con el Script Aculo Us porque no me esta validando bien los campos que ingresan al formulario. Ahora la duda es con el LiveValidation 1.3 (scriptaculous.js). Por poner un ejm, les muestro la siguiente funcion que es la que valida que la casilla no se quede vacia. Lo que quiero hacer es darle formato al texto del mensaje para cambiar el color de la fuente a rojo (#CC0000).

Presence: function(value, paramsObj){
   var paramsObj = paramsObj || {};
       var message = paramsObj.failureMessage || "Dato no ingresado";
       if(value === '' || value === null || value === undefined){
           Validate.fail(message);}
       return true;
}

Hasta ahora no he sabido como lograr hacerlo, porque ya lo intente poniendole las etiquetas de HTML pero a la hora de mostrar el mensaje tambien las muestra como parte del texto. ¿Como puedo hacer eso?. Tengo el mismo problema en el caso de los acentos ya que etiquetas como &iacute; para los acentos tambien me las muestra como texto.

Velku

#5
Cita de: Velku en 16 Julio 2009, 21:53 PM
De hecho ya encontre la respuesta que buscaba: Google me dirigio a un articulo en Programacion.com que explica el funcionamiento del PHPMailer y sus atributos.

http://www.programacion.com/php/articulo/phpmailer/

Ya solo me falta resolver unas dudas con el Script Aculo Us porque no me esta validando bien los campos que ingresan al formulario. Ahora la duda es con el LiveValidation 1.3 (scriptaculous.js). Por poner un ejm, les muestro la siguiente funcion que es la que valida que la casilla no se quede vacia. Lo que quiero hacer es darle formato al texto del mensaje para cambiar el color de la fuente a rojo (#CC0000).

Presence: function(value, paramsObj){
   var paramsObj = paramsObj || {};
       var message = paramsObj.failureMessage || "Dato no ingresado";
       if(value === '' || value === null || value === undefined){
           Validate.fail(message);}
       return true;
}

Hasta ahora no he sabido como lograr hacerlo, porque ya lo intente poniendole las etiquetas de HTML pero a la hora de mostrar el mensaje tambien las muestra como parte del texto. ¿Como puedo hacer eso?. Tengo el mismo problema en el caso de los acentos ya que etiquetas como &iacute; para los acentos tambien me las muestra como texto.

Pues ya resolvi este tambien. Resulta que podia hacerlo desde el CSS usando lo siguiente:

.LV_validation_message{
   font-family:Verdana, Arial, Helvetica, sans-serif;
   font-size:10px;
   font-weight:bold;
   text-decoration:none;
   text-align:right;
   margin:0 0 0 5px}
.LV_valid {
   color:#00AD00}
.LV_invalid {
   color:#CC0000}
.LV_invalid_field,
input.LV_invalid_field:hover,
input.LV_invalid_field:active,
textarea.LV_invalid_field:hover,
textarea.LV_invalid_field:active {
   border: 1px solid #CC0000}

Aunque aun me falta saber como poner caracteres con acento en los mensajes que despliegan las funciones del    scriptaculous.js y en serio que hacen falta porque los caracteres que se despliegan en su lugar hacen ver sucia a la pagina.

SnakeDrak

Hola,

Para los caracteres te recomiendo el uso de UTF8, guarda las página con algún editor bueno en UTF8 (que no dejen huella) y así no tendrás problemas (archivos js y todo tienen que estar en UTF8), luego en la base de datos puedes almacenar los valores en utf8_general_ci por ejemplo pero recuerda ejecutar esta QUERY al iniciar la conexión MYSQL para que no haya problemas con las tildes:

Código (sql) [Seleccionar]
SET NAMES 'utf8'

Saludos!

elchanchonauta

estoy necesitando algo parecido, un formulario para que los usuarios envíen sus opiniones y llegue a una direccion de correo.. habria forma de que se incluya tambien en el mail la direccion IP?

дٳŦ٭

Cita de: elchanchonauta en  2 Agosto 2009, 01:06 AM
estoy necesitando algo parecido, un formulario para que los usuarios envíen sus opiniones y llegue a una direccion de correo.. habria forma de que se incluya tambien en el mail la direccion IP?

si.. remote_addr.


Con sangre andaluza :)