Current time: 11-26-2024, 11:36 AM Hello There, Guest! (LoginRegister)


Post Reply 
[Resuelto] Cambiar contraseña de cuentas de correo
Author Message
parmando Offline
Junior Member
*

Posts: 10
Joined: Sep 2009
Reputation: 0
Post: #3
RE: Cambiar contraseña de cuentas de correo
Hola, perdon por la demora, estaba con u implementacion y como siempre en esas epocas, sin tiempo.

Yo me base de entrada en esto:
http://isp-control.net/documentation/fre...ia_webmail

y me tiraba un error como que no encontraba alguna clase de ADODB (requiere bajarse un paquete de sourcefoge de adodb). Sinceramente me fue mas facil reemplazar las funciones por las tipicas de PHP (mysql_connect, etc.) que buscarle la solucion. Es un muy buen trabajo el de shiizpa y me sirvió para que con solo modificaciones menores y el cambio de funciones de PHP trabaje muy bien.

Asi me quedo el codigo sin dependencias de adodb:

adodb.inc.php:
---- CORTAR AQUI ----
<?php
define('host','localhost');
define('user','root'); //enter user access to table ISPC
define('pass','aeiouaeiou'); //enter your password
define('database','ispcp');
$conn = mysql_connect(host, user, pass, database);
mysql_select_db(database, $conn);
?>
--------------------------------

change_password.php:
---- CORTAR AQUI ----
<?php
require_once '../../include/ispcp-lib.php';
require '../../include/adodb.inc.php'
?>
<!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=utf-8" />
<title>Cambiar contrase&ntilde;a del e-mail</title>
<meta name="robots" content="noindex,nofollow">
<link rel="stylesheet" type="text/css" href="/webmail/themes/css/omega.css">
<style type="text/css">
<!--
body, td, input, select, textarea {
font-family:Tahoma, Geneva, sans-serif;
font-size:9px;
}
input, textarea, select {
border:#7f9db9 1px solid;
padding:0px;
}
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#000000" vlink="#000000" alink="#000000">
<form action="" method="post" name="login_form">
<div id="container">
<h1>Cambiar contrase&ntilde;a del e-mail</h1>
<fieldset class="login">
<p class="login">
<table cellpadding="0" cellspacing="0" style="color:#CCC">
<tr>
<td align="left">&nbsp;<strong>E-mail:</strong></td>
<td><input type="text" name="user" style="width:130px;"/></td>
</tr>
<tr>
<td align="left">&nbsp;<strong>Password:</strong></td>
<td><input type="password" name="contrasena" style="width:130px;"/></td>
</tr>
<tr>
<td align="left">&nbsp;<strong>Nueva:</strong></td>
<td><input name="ncontrasena" type="password" style="width:130px;" maxlength="15"/></td>
</tr>
<tr>
<td align="left">&nbsp;<strong>Repetir nueva:</strong></td>
<td><input type="password" name="rcontrasena" style="width:130px;" maxlength="15"/></td>
</tr>
<tr>
<td colspan="2" align="left"><a href="/webmail">Ir al Webmail</a></td>
</tr>
<tr>
<td align="left"></td>
<td><input type="submit" name="cambiar" value="Change" /></td>
</tr>
</table>
</p>
</fieldset>
</div>
</form>
<?php
if(isset($_POST['cambiar'])=='Change'&&!empty($_POST['user'])&&!empty($_POST['contrasena'])&&!empty($_POST['ncontrasena'])&&!empty($_POST['rcontrasena']))
{
if( isset($_POST['user']) )
$Usuario= mysql_real_escape_string ($_POST['user']);

if( isset($_POST['contrasena']) )
$Contrasena=encrypt_db_password($_POST['contrasena']);
// echo $Contrasena;

$sql = "SELECT mail_id FROM mail_users WHERE mail_addr='$Usuario' and mail_pass='$Contrasena'";
$ret = mysql_query( $sql, $conn );
if( $ret === FALSE)
echo mysql_error();

$UsuarioExiste = mysql_num_rows( $ret );

if( $UsuarioExiste == 1 )
{
if($_POST['ncontrasena']!=$_POST['rcontrasena'])
echo '<p align="center" style="color:#F00">Las nuevas contrase&ntilde;as no coinciden.</p>';
elseif($_POST['ncontrasena']==$_POST['contrasena'])
echo '<p align="center" style="color:#F00">La nueva password es igual a la actual.</p>';
elseif(empty($_POST['ncontrasena']))
echo '<p align="center" style="color:#F00">Su nueva password no puede esta vacia.</p>';
elseif(strlen($_POST['ncontrasena']) < 6)
echo '<p align="center" style="color:#F00">Su nueva password es muy corta. Debe tener 6 caracteres como minimo.</p>';
elseif(strlen($_POST['ncontrasena']) > 15)
echo '<p align="center" style="color:#F00">Su nueva password es muy larga. No debe ser mas larga que 15 caracteres.</p>';
else
{
$row = mysql_fetch_assoc($ret);
$id = $row['mail_id'];
// echo "ID: $id";
$pass = encrypt_db_password($_POST['ncontrasena']);
// echo "Nueva pass: $pass";
$status = 'change';
$sql = "UPDATE mail_users SET mail_pass='$pass', status='$status' WHERE mail_id=$id ";
mysql_query( $sql, $conn );
//echo "Se produjo el error: " . mysql_error();

echo '<p align="center" style="color:#060">Contrase&ntilde;a cambiada correctamente.</p>';
send_request();
}
}
else echo '<p align="center" style="color:#F00">Atencion! Los datos ingresados no son correctos.</p>';
}
elseif(isset($_POST['cambiar'])=='Change')
{
echo '<p align="center" style="color:#F00">Complete los datos que faltan.</p>';
}
?>
</body>
</html>

-----------------------


En cuanto a incorporar el cambio de contraseña a ispcp, yo lo veo no desde el punto de vista de un Administrador de Sistemas sino de un administrador de ISP que le quiere dar un poco de flexibilidad a los usuarios, es decir, cada uno deberia poder cambiar su contrase;a sin llamar al ISP para solicitarle esto (y pasarle la password).
05-20-2010 01:09 AM
Find all posts by this user Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Cambiar contraseña de cuentas de correo - parmando - 05-20-2010 01:09 AM

Forum Jump:


User(s) browsing this thread: 3 Guest(s)