Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/05/2010, 20:06
Avatar de djwall
djwall
 
Fecha de Ingreso: abril-2010
Ubicación: Argentina
Mensajes: 61
Antigüedad: 14 años
Puntos: 0
Solucion Email Confirmacion

Hola gente, como va... espero q bien



Hace ya un tiempo q necesito solucionar un pequeño problema con esto de PHP MAILER. O sea... quisiera saber como puedo enviar los datos de la persona q se registro en mi WEB. O enviarle un link de confirmacion, en si... LO Q SEA MAS SIMPLE. Lo mas sencillo posible. Si es mas sencillo enviarle los datos de nuevo usuario... bienvenido sea.



Les dejo el sistema de registro y login q estoy usando... de paso si alguien esta buscando... a mi me funciona perfecto. Claro aqui esta como lo consegui yo. Luego yo le hice mis cosillas jeje...


TABLA SQL

Código PHP:
CREATE TABLE usuarios(
`
idintNOT NULL AUTO_INCREMENT ,
`
nombretext,
`
apaternotext,
`
amaternotext,
`
loginvarchar40 NOT NULL ,
`
passwordvarchar80 NOT NULL ,
`
emailtext,
UNIQUE KEY id )
); 

Formulario HTML

Código PHP:
<html><body>
<
h1>SectorWeb.net</h1>
<
form action="crea_usuarios.php" method="POST">
Login(nick): <input type="text" name="login"><br>
Password: <input type="password" name="pass1"><br>
Repite Password: <input type="password" name="pass2"><br>
Nombre: <input type="text" name="nombre"><br>
Apellido Paterno: <input type="text" name="apaterno"><br>
Apellido Materno: <input type="text" name="amaterno"><br>
E-mail: <input type="text" name="email"><br>
<
input type="submit" name="Crear">
</
form>
</
body></html

crea_usuarios.php

Código PHP:
<?
// modificacion de codigo Xombra (www.xombra.com) 21/03/2009 para sectorweb.net
include("config.php"); /*Traemos el archivo config*/
/*Recibimos las variables por el metodo POST*/
$login htmlspecialchars(trim($_POST['login']));
$pass1 trim($_POST['pass1']);
$pass2 trim($_POST['pass2']);
$nombrehtmlspecialchars(trim($_POST['nombre']));
$apaternohtmlspecialchars(trim($_POST['apaterno']));
$amaternohtmlspecialchars(trim($_POST['amaterno']));
$email htmlspecialchars(trim($_POST['email']));
/*Hacemos la consulta */
// $query="SELECT * FROM usuarios WHERE login='$login'"; //ANTES

$link=mysql_connect($server,$dbuser,$dbpass);
$query sprintf("SELECT login FROM usuarios WHERE usuarios.login='%s'"// Ahora
mysql_real_escape_string($login)); 
$result=mysql_db_query($database,$query,$link);
if(
mysql_num_rows($result)){
echo 
"El usuario ya existe en la BD";
} else {
mysql_free_result($result);
/* Ahora comprovamos que los dos pass coinciden */
if($pass1!=$pass2) {

echo 
"Los passwords deben coincidir";

echo 
'Click <a href="form.html">aquÃ*</a> para volver al formulario';

} else {

/* Encriptamos "Ciframos" el password

// $pass1=crypt($pass2, "semilla"); // ANTES */

$pass1=sha1(md5($pass1)); // Ahora

/* $query="INSERT INTO usuarios (login, nombre, apaterno, amaterno, password, email) VALUES ('$login','$nombre','$apaterno', '$amaterno','$pass1','$email')"; */ // Antes

$query sprintf("INSERT INTO usuarios (login, nombre, apaterno, amaterno, password, email) VALUES ('%s','%s','%s', '%s','%s','%s')"// Ahora
mysql_real_escape_string($login), mysql_real_escape_string($nombre),
mysql_real_escape_string($apaterno),mysql_real_esc ape_string($amaterno), 
mysql_real_escape_string($pass1), mysql_real_escape_string($email)); 


$result=mysql_db_query($database,$query,$link);

if(
mysql_affected_rows()){

echo 
"Usuario introducido correctamente";

} else {

echo 
"Error introduciendo el usuario";

/* Cierre del else */

/* Cierre del else que corresponde a if(mysql_affected_rows.....) */
/* Cierre del else que corresponde a if(mysql_num_rows...) */
?>

config.php

Código PHP:
<?
$server
=""/* Nuestro server mysql */
$database=""/* Nuestra base de datos */
$dbpass=""/*Nuestro password mysql */
$dbuser=""/* Nuestro user mysql */
?>

comprueba.php

Código PHP:
<?php 
session_start
();
// modificacion de codigo Xombra (www.xombra.com) 21/03/2009 para sectorweb.net
include("config.php");
$login htmlspecialchars(trim($_POST['login']));
$pass sha1(md5(trim($_POST['pass']))); // encriptamos en MD5 para despues comprar (Modificado)
// $query="SELECT * FROM usuarios WHERE login='$login'"; Antes
$link=mysql_connect($server,$dbuser,$dbpass);

$query sprintf("SELECT usuarios.login,
usuarios.nombre,
usuarios.apaterno, 
usuarios.amaterno,
usuarios.email
FROM usuarios WHERE usuarios.login='%s' && usuarios.password = '%s'"
// Ahora
mysql_real_escape_string($login),mysql_real_escape _string($pass)); 
$result=mysql_db_query($database,$query,$link);
// if(mysql_num_rows($result)==0){ // antes
if(mysql_num_rows($result)){ // nos devuelve 1 si encontro el usuario y el password

$array=mysql_fetch_array($result);
// if($array["password"]==crypt($pass,"semilla") ){ // Antes
/* Comprobamos que el password encriptado en la BD coincide con el password que nos han dado al encriptarlo. Recuerda usar semilla para encriptar los dos passwords. */
$_SESSION["login"]=$array["login"];
$_SESSION["nombre"]=$array["nombre"];
$_SESSION["apaterno"]=$array["apaterno"];
$_SESSION["amaterno"]=$array["amaterno"];
$_SESSION["email"]=$array["email"]; // Agrgado Nuevo
header("Location:user.php");
} else {
echo 
"Login o Password Incorrectos"// Ahora


?>

login.php


Código PHP:
<?
session_start
();
if(isset(
$SESSION)){
header("location:user.php"); /* Si ha iniciado la sesion, vamos a user.php */
} else { 
/* Cerramos la parte de codigo PHP porque vamos a escribir bastante HTML y nos será mas cómodo así que metiendo echo's */
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Identificaci&oacute;n </title>
</head>
<body>
<h1>SectorWeb.net</h1>
<h2>Identificaci&oacute;n </h2>
<form action="comprueba.php" method="POST" class="miform">
Login: <input type="text" name="login"><br>
Password: <input type="password" name="pass"><br><br>
<input type="submit" value="Entrar" class="boton">
</form>
</body></html>
<?
/* Y cerramos el else */ 
?>

logout.php

Código PHP:
<?
session_start
();
if(!isset(
$_SESSION["login"])){
header("location:login.php");
} else {
session_unset();
session_destroy();
echo 
"<h1>SectorWeb.net</h1>";
echo 
"Las variables de sesión han sido eliminadas, y la sesión se ha dado por finalizada correctamente da click <a href=\"login.php\">aqui para loguearte</a>";
}
?>

user.php


Código PHP:
<?
session_start
();
if(!isset(
$_SESSION["login"])){
header("location:login.php");
} else {
echo 
"<html><body>";
echo 
"<h1>SectorWeb.net</h1>";
echo 
"Bienvenido al Area de usurios: <strong>";
echo 
$_SESSION["nombre"]." ".$_SESSION["apaterno"]." ".$_SESSION["amaterno"]." ";
echo 
"</strong><br>Has entrado con el nick: <strong> ";
echo 
$_SESSION["login"];
echo 
"</strong><br>Para cerrar la sesión, pulsa: <a href='logout.php'>Aqui</a>";
echo 
"</body></html>".isset($_SESSION);
}
?>


Bien, eso seria todo.


Ahora............... tengo estos archivos:


class.phpmailer.php

y

class.smtp.php


y esto:


Código PHP:
01.<?php    
02.    
require("class.phpmailer.php");   
03.    $mail = new PHPMailer();   
04.    $mail->IsSMTP(); // Envia el correo via SMTP   
05.    $mail->SMTPAuth true// Encienda la autenticacion SMTP   
06.    $mail->Username "[email protected]"// Uusuario SMTP   
07.    $mail->Password "contrasena"// Contrasena SMTP   
08.    $webmaster_email ="[email protected]"//Direccion desde donde se envia el correo   
09.    $email="[email protected]"// Correo del receptor   
10.    $name="Britney Maria"// Nombre del receptor   
11.    $mail->From $webmaster_email;   
12.    $mail->FromName "Dargor"//Nombre del que envia el correo   
13.    $mail->AddAddress($email,$name);   
14.    $mail->AddReplyTo($webmaster_email,FromName);   
15.    $mail->WordWrap 50// Word wrap   
16.    $mail->IsHTML(true); // Enviar como HTML   
17.    $mail->Subject "Correo por phpmailer"//Asunto   
18.    $mail->Body 'Es el cuerpo del mensaje en HMTL'//Cuerpo en HMTL   
19.    $mail->AltBody ""//Cuerpo en Texto plano   
20.    if(!$mail->Send()){   
21.      echo "Error: " $mail->ErrorInfo;   
22.    }else{   
23.      echo "El Correo se ha enviado satisfactoriamente";   
24.    }   
25.?>

La pregunta es...

En usuario SMTP y contraseña etc etc. tengo q poner los datos de mi cuenta GMAIL?

y...


En correo receptor y demas... q pongo ahi? porque supuestamente ahi es donde le llega el email al nuevo usuario? eso no entiendo muy bien. Alguien me puede ayudar?

Desde ya... Gracias