Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Velku en 16 Julio 2009, 19:08 pm



Título: Ayuda para comprender un codigo en PHP
Publicado por: Velku en 16 Julio 2009, 19:08 pm
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


Título: Re: Ayuda para comprender un codigo en PHP
Publicado por: Hadess_inf en 16 Julio 2009, 19:13 pm
y que cosa no entiendes ?


 :huh: :huh:


Título: Re: Ayuda para comprender un codigo en PHP
Publicado por: Velku en 16 Julio 2009, 19:27 pm
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.


Título: Re: Ayuda para comprender un codigo en PHP
Publicado por: Azielito en 16 Julio 2009, 21:06 pm
Busca informacion sobre POO en PHP
Código
  1. $mail = new PHPMailer();


Título: Re: Ayuda para comprender un codigo en PHP
Publicado por: 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.


Título: Re: Ayuda para comprender un codigo en PHP
Publicado por: Velku en 16 Julio 2009, 22:25 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.


Título: Re: Ayuda para comprender un codigo en PHP
Publicado por: SnakeDrak en 19 Julio 2009, 18:37 pm
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
  1. SET NAMES 'utf8'

Saludos!


Título: Re: Ayuda para comprender un codigo en PHP
Publicado por: 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?


Título: Re: Ayuda para comprender un codigo en PHP
Publicado por: дٳŦ٭ en 5 Agosto 2009, 04:50 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.