
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(
`id` int( 4 ) NOT NULL AUTO_INCREMENT ,
`nombre` text,
`apaterno` text,
`amaterno` text,
`login` varchar( 40 ) NOT NULL ,
`password` varchar( 80 ) NOT NULL ,
`email` text,
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']);
$nombre= htmlspecialchars(trim($_POST['nombre']));
$apaterno= htmlspecialchars(trim($_POST['apaterno']));
$amaterno= htmlspecialchars(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ón </title>
</head>
<body>
<h1>SectorWeb.net</h1>
<h2>Identificació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


Este tema le ha gustado a 1 personas