Estimado(a)s
Aqui esta el código completo de la pagina process.php les puse un aviso con doble barra invertida ( // ) para que sepan donde esta la linea 159.
Código PHP:
<?
/**
* Process.php
*
* la tarea de esto es prosesar la info del usuario
* y redirecionarlo al lugar correcto
* tambien prosesa errores
*
* Login System By lil fino
* Creado el 5 de abril del 2010
* Mantenga esta noticia intacta
* por futuras actualizaciones
*/
include("include/session.php");
class Process
{
/* Class constructor */
function Process(){
global $session;
/*user puso el login form */
if(isset($_POST['sublogin'])){
$this->procLogin();
}
/* User puso la rejistracion */
else if(isset($_POST['subjoin'])){
$this->procRegister();
}
/* User puso que olvideo la contrasena */
else if(isset($_POST['subforgot'])){
$this->procForgotPass();
}
/* User puso editir cuenta */
else if(isset($_POST['subedit'])){
$this->procEditAccount();
}
/**
* la unica razon por la cual el usuario sera
* redirecionado aqui es por que quiere salirse
*/
else if($session->logged_in){
$this->procLogout();
}
/**
* si no deveria estar aqui sera redirecionado a la pagina principal
*/
else{
header("Location: main.php");
}
}
/**
* procLogin - prosesa la informacion que puso el usuario
* para iniciar seccion y su ubo algun error sera redirecionado
*/
function procLogin(){
global $session, $form;
/* Login attempt */
$retval = $session->login($_POST['user'], $_POST['pass'], isset($_POST['remember']));
/* Login susesivamente */
if($retval){
header("Location: ".$session->referrer);
}
/* Login fallo */
else{
$_SESSION['value_array'] = $_POST;
$_SESSION['error_array'] = $form->getErrorArray();
header("Location: ".$session->referrer);
}
}
/**
* procLogout - Simplemente saca el usuario del systema
*/
function procLogout(){
global $session;
$retval = $session->logout();
header("Location: main.php");
}
/**
* procRegister - Procesa lo que aiga puesto el usuario
* si se encuentran errores el usuario es redirecionado a correjirlos.
*/
function procRegister(){
global $session, $form;
/* Convert username to all lowercase (by option) */
if(ALL_LOWERCASE){
$_POST['user'] = strtolower($_POST['user']);
}
/* intento de rejistracion */
$retval = $session->register($_POST['user'], $_POST['pass'], $_POST['email']);
/* Registracion susesivamente */
if($retval == 0){
$_SESSION['reguname'] = $_POST['user'];
$_SESSION['regsuccess'] = true;
header("Location: ".$session->referrer);
}
/* Error encontrados en el formulario */
else if($retval == 1){
$_SESSION['value_array'] = $_POST;
$_SESSION['error_array'] = $form->getErrorArray();
header("Location: ".$session->referrer);
}
/* intento rejistracion fallo */
else if($retval == 2){
$_SESSION['reguname'] = $_POST['user'];
$_SESSION['regsuccess'] = false;
header("Location: ".$session->referrer);
}
}
/**
* procForgotPass - Valida el nombre de usuario y si todo esta bien
* una nueva contrasena es generada
* y se mandara un correo al usuario
*/
function procForgotPass(){
global $database, $session, $mailer, $form;
/* Username error checking */
$subuser = $_POST['user'];
$field = "user"; //Use field name for username
if(!$subuser || strlen($subuser = trim($subuser)) == 0){
$form->setError($field, "* Username not entered<br>");
}
else{
/* se asegura que el nombre este en la base de datos */
$subuser = stripslashes($subuser);
if(strlen($subuser) < 5 || strlen($subuser) > 30 ||
!eregi("^([0-9a-z])+$", $subuser) ||
(!$database->usernameTaken($subuser))){
$form->setError($field, "* Username does not exist<br>");
}
}
/* existe un error, que el usuario los corrija */
if($form->num_errors > 0){
$_SESSION['value_array'] = $_POST;
$_SESSION['error_array'] = $form->getErrorArray();
}
else{
/* Genera nueva contrasena */
$newpass = $session->generateRandStr(8);
/* agarra el correo del usuario */
$usrinf = $database->getUserInfo($subuser);
$email = $usrinf['email'];
/* manda el correo con la nueva contrasena */
if($mailer->sendNewPass($subuser,$email,$newpass)){
/* correo enviado, actualiza la base de datos */
$database->updateUserField($subuser, "password", md5($newpass));
$_SESSION['forgotpass'] = true;
}
/* correo fallo, no cambiara la contrasena */
else{ // LINEA 159, AQUI ES DONDE ESTA EL ERROR QUE DICE!!!
$_SESSION['forgotpass'] = false;
}
}
header("Location: ".$session->referrer);
}
/**
* procEditAccount - edita la cuenta del usuario incuyendo la
* contrasena la cual sera verificada antes de cambiar
*/
function procEditAccount(){
global $session, $form;
/* intentando editir la cuenta */
$retval = $session->editAccount($_POST['curpass'], $_POST['newpass'], $_POST['email']);
/* edicion susesivamente */
if($retval){
$_SESSION['useredit'] = true;
header("Location: ".$session->referrer);
}
/* ubo un error */
else{
$_SESSION['value_array'] = $_POST;
$_SESSION['error_array'] = $form->getErrorArray();
header("Location: ".$session->referrer);
}
}
};
/* Inicia el proseso */
$process = new Process;
?>
Espero que me puedan ayudar.
Saludos.