Foros del Web » Programando para Internet » PHP »

Aporte sistema de usuario registrados con vista online y sistema de mensajeria .

Estas en el tema de Aporte sistema de usuario registrados con vista online y sistema de mensajeria . en el foro de PHP en Foros del Web. Bueno creo que llego la hora de aportar un poquito . Dejare aqui un sistema de usuario registrado en el cual se podra ver el ...
  #1 (permalink)  
Antiguo 02/05/2011, 13:42
Avatar de saraivaruas  
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 13 años, 6 meses
Puntos: 10
Aporte sistema de usuario registrados con vista online y sistema de mensajeria .

Bueno creo que llego la hora de aportar un poquito . Dejare aqui un sistema de usuario registrado en el cual se podra ver el usuario on line y incluso enviarle un mensaje.

A todos los amigos y colaboradores del foro quiero decir que soy nuevo en eso por lo tenato si hay algun error pido que me ayuden a arregrarlo para que este aporte sea de utilidade para muchos como yo.


lo primero es lo primero crearemos los campos de nuestra base de datos

LOS CAMPOS DEBEM SER
id;
fecha,
imagen,
nick,
pass,
mail,
ip,
conectado,
timestamp.
  #2 (permalink)  
Antiguo 02/05/2011, 13:48
Avatar de saraivaruas  
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: Aporte sistema de usuario registrados con vista online y sistema de mensaj

Bueno ahora vamos con la 2ª parte el formulario.
fijese que agregare en el mismo formulario un campo de recupracion de contraseña para usuario olvidadizos.
Acuerdense que dije que seria un sistema simple por lo mismo no lo tengo con md5 los campos de contraseñas pero cada un podrá adptarlo de acuerdo a su necesidad.

form.php

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4. <title>Formulario de registro</title>
  5. </head>
  6.  
  7. <table width="348" height="372" border="1" align="center" cellpadding="1" bordercolor="#00923F">
  8.  
  9.   <tr>
  10.  
  11.     <td width="323" bgcolor="#498551"><span class="Estilo6 Estilo1">Registrese aqui ! </span></td>
  12.   </tr>
  13.  
  14.   <tr>
  15.  
  16.     <td><form name="registrar" action="registro.php" method="post" onsubmit="return validar()" >
  17.         <dt>
  18.           <div align="right">
  19.               <label>Nick:</label>
  20.               <input type='text' name='nick' >
  21.               </div>
  22.         <dt>
  23.           <div align="right">
  24.               <label>E-mail:</label>
  25.               <input type='text' name='mail' >
  26.               </div>
  27.         <dt>
  28.           <div align="right">
  29.               <label>Contraseña:</label>
  30.               <input type="password" name='pass' >
  31.               </div>
  32.         <dt>
  33.           <div align="right">
  34.               <label>Confirmar Contraseña: </label>              
  35.                 <input type="password" name='conf_pass' >
  36.               </div>
  37.         <dt>
  38.            <br />
  39.                   <input type="submit" name="registro" style="width:100px;" tabindex="6" value="Registrar" >
  40.                   <input type="reset" name="Limpiar" style="width:100px;" tabindex="6" value="Limpiar" >
  41.                   </form>  </tr>
  42.  
  43.   <tr>  </tr>
  44.  
  45.   <tr>
  46.  
  47.     <td bgcolor="#498551"><span class="Estilo6 Estilo1">Ingrese aqui ! </span><span class="Estilo12 Estilo1">si se registro reci&eacute;n tomar&aacute; algunos segundos en que se actualize la informaci&oacute;n...</span></td>
  48.   </tr>
  49.  
  50.   <tr>
  51.  
  52.     <td><form name="login_user" action="login.php" method="post" >
  53.         <dt>
  54.               <div align="right">
  55.                 <label>Nick:</label>
  56.                 <input type='text' name='nick' >
  57.           </div>
  58.         <dt>
  59.         <div align="right">
  60.             <label>Contraseña:</label>
  61.             <input type="password" name='pass' >
  62.             </div>
  63.          
  64.             <br />
  65.             <input type="submit" name="login" style="width:100px;" tabindex="6" value="Entrar" />
  66.             <input type="reset" name="Limpiar" style="width:100px;" tabindex="6" value="Limpiar" >
  67.             </form>         </tr>
  68. <tr>
  69. <td bgcolor="#498551"> <div align="center">Olvidaste tu contraseña? Igrese tu mail y recuperala
  70.  
  71. <form action="rec_pass.php" method="post" >
  72.         <input type="submit" value="Enviar" name="go">
  73.         <input type="text" name="mail">
  74.     </form></div>
  75. *</td>
  76.    </tr>
  77. </body>
  78. </html>
  #3 (permalink)  
Antiguo 02/05/2011, 13:59
Avatar de saraivaruas  
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: Aporte sistema de usuario registrados con vista online y sistema de mensaj

vamos a la parte de la conexion con nuestra bae de datos para la confirmacion de los datos del usuario. esta parte servira tanto para el registro como para el login

conexion.php


Código PHP:
Ver original
  1. <?php
  2.  
  3. // Configura la información de tu cuenta
  4. $dbhost='';
  5. $dbusername='';
  6. $dbuserpass='';
  7. $dbname='';
  8.  
  9. // Conexión a la base de datos
  10. mysql_connect ($dbhost, $dbusername, $dbuserpass);
  11. mysql_select_db($dbname) or die('Cannot select database');  
  12.      
  13. /*En este archivo también pondremos unas funciones necesarias para el registro y el login*/    
  14.  
  15. /*Función que se encarga de eliminar codigo malicioso de las variables.*/
  16. function limpiar($var)
  17. {
  18.  
  19.     $var = trim($var);
  20.     $var = htmlspecialchars($var);
  21.     $var = str_replace(chr(160),'',$var);
  22.     return $var;
  23. }
  24.  
  25. /*Función que se encarga de validar el email de registro para que sea correcto.*/
  26. function validar_email($email){
  27.     $mail_correcto = 0;
  28.     //compruebo unas cosas primeras
  29.     if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@"))
  30.     {
  31.        if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," ")))
  32.        {//miro si tiene caracter .
  33.           if (substr_count($email,".")>= 1)
  34.           {//obtengo la terminacion del dominio
  35.              $term_dom = substr(strrchr ($email, '.'),1);
  36.              //compruebo que la terminaci?n del dominio sea correcta
  37.              if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) )
  38.              {//compruebo que lo de antes del dominio sea correcto
  39.                 $antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1);
  40.                 $caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1);
  41.                 if ($caracter_ult != "@" && $caracter_ult != ".")
  42.                 {
  43.                    $mail_correcto = 1;
  44.                 }
  45.              }
  46.           }
  47.        }
  48.     }
  49.     if ($mail_correcto)
  50.        return 1;
  51.     else
  52.        return 0;
  53. }
  54.  
  55.  
  56.  
  57. /*Funcion que se encarga de validar si el usuario esta registrado en el sistema*/
  58. function user_login()
  59. {
  60.     if(!$_SESSION['id'])
  61.     {
  62.         exit ("Solo usuarios registrados, <a href='javascript:history.back(-1)'>Volver</a>");
  63.     }
  64. }
  65.  
  66.  
  67.  
  68. ?>
  #4 (permalink)  
Antiguo 02/05/2011, 14:01
Avatar de saraivaruas  
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: Aporte sistema de usuario registrados con vista online y sistema de mensaj

Ahora vamos a la parte en que procesaremos los datos del formulario de registro.
registro.php

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. //Sistema de registro creado por Jorge Saraiva exlusivamente  para Esquinadosamba.cl
  4.  
  5. if(isset($_POST['registro']))//Vallidamos que el formulario fue enviado
  6. {    /*Validamos que todos los campos esten llenos correctamente*/
  7.     if(($_POST['nick'] != '') && ($_POST['mail'] != '') && ($_POST['pass'] != '') && ($_POST['conf_pass'] != ''))
  8.     {
  9.         if($_POST['pass'] != $_POST['conf_pass'])
  10.         {
  11.             echo '<br />Las contrase&ntilde;as no coinciden';
  12.         }
  13.         else
  14.         {
  15.             $date=date("Y-m-d H");
  16.             $timestamp = time();
  17.             $nick= limpiar($_POST['nick']);
  18.             $mail= limpiar($_POST['mail']);
  19.             $pass= limpiar($_POST['pass']);
  20.             $ipuser= $_SERVER['REMOTE_ADDR'];            
  21.             $conectado= 'no';
  22.             $imagen='perfil.gif';
  23.             $b_user= mysql_query("SELECT nick FROM usuarios WHERE nick='$nick'");
  24.             if($user=@mysql_fetch_array($b_user))
  25.             {
  26.                 echo '<br />El nombre de usuario o el email ya esta registrado.';
  27.                 mysql_free_result($b_user); //liberamos la memoria del query a la db
  28.             }
  29.             else
  30.             {
  31.                 if(validar_email($_POST['mail']))//validamos el mail
  32.                 {
  33.                     mysql_query("INSERT INTO usuarios (fecha,nick,mail,pass,ip,conectado,timestamp,imagen) values ('". $date ."','$nick','$mail','$pass','$ipuser','$conectado','$timestamp','$imagen')");
  34.                     echo '<br />Te has registrado Correctamente, te redicionaremos en unos segundos para que puedas ingresar como usuario registrado.';
  35.                 }
  36.                 else
  37.                 {
  38.                     echo '<br />El email no es valido.';
  39.                 }
  40.             }
  41.         }
  42.     }
  43.     else
  44.     {
  45.         echo '<br />Deberas llenar todos los campos.';
  46.     }
  47. }
  48.  
  49. ?>
  #5 (permalink)  
Antiguo 02/05/2011, 14:03
Avatar de saraivaruas  
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: Aporte sistema de usuario registrados con vista online y sistema de mensaj

<?php
//Registro de usuario elaborado por Jorge Saraiva

Bien este sera nuestro procesador del login

login.php

Código PHP:
Ver original
  1. <?php
  2. //Registro de usuario elaborado por Jorge Saraiva
  3.  
  4.  
  5. include("conexion.php");
  6. if(isset($_POST['login'])) //recojeremos  los datos de usuarios para loguearlo
  7. {
  8.     $nick= $_POST['nick'];
  9.     $pass= $_POST['pass'];
  10.     $ipuser= $_SERVER['REMOTE_ADDR'];
  11.     $b_user=mysql_query("SELECT * FROM usuarios WHERE nick='$nick'");    
  12.     $ses = @mysql_fetch_assoc($b_user) ;
  13.     $timeoutseconds = 30;
  14.     $timestamp = time();
  15.     $timeout = $timestamp-$timeoutseconds;
  16.     if(@mysql_num_rows($b_user))
  17.     {
  18.         if($ses['pass'] == $pass)
  19.         {
  20.             $_SESSION['id']=        $ses["id"];
  21.             $_SESSION['fecha']=    $ses["fecha"];
  22.             $_SESSION['nick']=    $ses["nick"];
  23.             $_SESSION['mail']=    $ses["mail"];
  24.             $_SESSION['ip']=        $ses["ip"];
  25.             $_SESSION['conectado']=  $ses["conectado"];
  26.             $_SESSION['timestamp']=   $ses["timestamp"];
  27.             $_SESSION['imagen']=        $ses["imagen"];
  28.         }
  29.         else
  30.         {
  31.             echo 'Nombre de usuario o Contraseña incorrecta.';
  32.         }
  33.     }
  34.     else
  35.     {
  36.         echo 'Nombre de Usuario o contraseña incorrecta.';
  37.     }
  38. }
  39.    
  40. if(isset($_GET['modo']) == 'desconectar')// destruiremos la sesion cuando el usuario se desconecte
  41. {
  42.     echo '<meta http-equiv="Refresh" content="2;url=/acceso_al_vip.php"> ';
  43.     exit ('Te has desconectado del sistema.');
  44. }
  45. if(isset($_SESSION['nick'])) // Aqui actualizaremos el perfil del usuario en la base de datos y le mostraremos que esta conectado
  46. {
  47.  
  48. $orden = ("select * from usuarios where id = ". $_SESSION['id'] ."");
  49.  mysql_query("UPDATE  usuarios SET  conectado='si' where id = ". $_SESSION['id'] ."") ;
  50.  
  51.  //$orden = ("select * from usuarios  fecha='$date'");
  52.  //mysql_query("UPDATE  usuarios SET  fecha=". $_SESSION['fecha'] . "") ;
  53.    
  54.  
  55.  }
  56.  
  57.  else{
  58.  
  59. }
  60.  if(isset($_SESSION['id'])) // Aqui actualizaremos el perfil del usuario en la base de datos y le mostraremos que esta conectado
  61. {
  62. include("mostrar.php");//aqui sera la pagina donde el usuario vera sus dato de perfil
  63. }
  64. else
  65. {
  66. ?>
  67.  
  68.  
  69. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  70. <html>
  71. <head>
  72. </head>
  73. <body><table width="328" height="420" border-radius: "10" align="center" cellpadding="0" cellspacing="0" bordercolor="#999966">
  74.   <tr>
  75.     <td>&nbsp;
  76.  
  77. <div align="center">
  78.     <form name="login_user" action="mostrar.php" method="post" />
  79.         <dt><label>Nick:</label></dt>
  80.         <input type='text' name='nick' /><br /><br />
  81.         <dt><label>Contraseña:</label></dt>
  82.         <input type="password" name='pass' /><br /><br />
  83.        
  84.         <input type="submit" name="login" style="width:100px;" tabindex="6" value="Entrar" />
  85.         <input type="reset" name="Limpiar" style="width:100px;" tabindex="6" value="Limpiar" />
  86.     </form>
  87.  
  88. </div>
  89.  
  90. <?php
  91. }
  92.  
  93. ?>
  94. </td>
  95.   </tr>
  96. </table>
  97. </body>
  98. </html>
  #6 (permalink)  
Antiguo 02/05/2011, 14:11
Avatar de saraivaruas  
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: Aporte sistema de usuario registrados con vista online y sistema de mensaj

Y atenemos al menos los 5 pasos basicos para que funcione nuestro sistema de registro y reconocimientodel usuario.

Ahora pondre la pagina que mostrara el perfil del usuario cuando el sistema lo reconosca.

mostrar.php

Código PHP:
Ver original
  1. <?php  
  2. session_start();   //esta parte es para asegurar que `para ver su perfil el usuario tienen que estar conectado al sistema      
  3.    
  4.  $conexion = mysql_connect('localhost','esquina_esquina','esquina123')or die ('Ha fallado la conexión: '.mysql_error());
  5.             mysql_select_db('esquina_base')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
  6.        
  7.   $result_1= "SELECT * FROM usuarios  where id = ". $_SESSION['id'] ."";  
  8.     $result = mysql_query($result_1 , $conexion) or die ( mysql_error() );  
  9.  
  10.  
  11. while ($row = mysql_fetch_array($result)){
  12.  
  13. echo "<table width=\"325\" cellspacing=\"4\" cellpadding=\"4\">";
  14.         echo "<tr>";
  15.             echo "<td rowspan=\"2\" width=\"80\"style='border:1px solid #808000 ' ><b>";
  16.             echo "<img src='http://www.esquinadosamba.cl/Usuarios1/imagenes/thumbnails/$row[imagen]' >";//selecionamos la imagen de perfil del usuario
  17.             echo "</td>";
  18.                    
  19.             echo "<td  width=\"80\" height=\"40\"  style='border:1px solid #808000'>";
  20.             echo '       <b> Nick  : </b>' . $_SESSION['nick'] . ''; //selecionamos su nombre de acuerdo a su session iniciada
  21.             echo "</td>";  
  22.             echo "</tr>";  
  23.             echo "<td  width=\"80\" height=\"40\" style='border:1px solid #808000'>";
  24.             echo '       <b> Registro : </b>' . $row['fecha'] . '';     //    La fechade registro
  25.             echo "</td>";
  26.             echo "</tr>";
  27.            
  28.             echo "<td  width=\"80\" height=\"40\"style='border:1px solid #808000'>";
  29.             echo '<b>Ultima visita  <br><br><br></b>' . $row['timestamp'] . ''; //su hora de conexion
  30.             echo "</td>";          
  31.             echo "<td  width=\"80\" height=\"40\"style='border:1px solid #808000'>";
  32.             echo '<b>Conectado ahora  <br><br><br></b> '     . $row['conectado'] . ''; //y su estado si esta conectado o no
  33.             echo "</td>";
  34.             echo "</tr>";
  35.             echo "</table >";
  36.            
  37. echo "<table width=\"325\" cellspacing=\"4\" cellpadding=\"4\">";
  38.         echo "<tr>";           
  39.             echo "<td  aling=\"right\" width=\"80\" height=\"40\"style='border:1px solid #808000'>";  //tambien su mail  
  40.             echo " <b> E-mail  : </b> ".$row ['mail'];                   
  41.             echo "</td>";    
  42.  
  43.         echo "</tr>";
  44. echo "</table >";
  45. echo"<br>";
  46.        
  47. }        
  48. ?>
  49. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  50. "http://www.w3.org/TR/html4/loose.dtd">
  51. <html>
  52. <head>
  53. <title>Perfil del usuario</title>
  54. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  55. </head>
  56.  
  57. <body>
  58.  
  59. <!--Bueno este formulraio es para que el usuario cambie su foto de perfil por la que el quiera-->
  60.  
  61. <table width="323" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#808000">
  62.   <tr>
  63.     <td width="332">
  64. <form action="Usuarios1/imagenes/carga.php" method="post" enctype="multipart/form-data">  
  65.   <p>Cambia tu imagen de perfil:  <br>
  66.       <input name="fichero" type="file" size="20" maxlength="20">
  67.       <input name="submit" type="submit" value="Upload!">  
  68. </form> </td>
  69.   </tr>
  70. </table>
  71. </body>
  72.  
  73. </html>
  #7 (permalink)  
Antiguo 02/05/2011, 14:17
Avatar de saraivaruas  
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: Aporte sistema de usuario registrados con vista online y sistema de mensaj

Este codigo es continuacion de la actualizacion del perfil del usuario. E realida es para que el cambie su foto de perfil
por eso lo aconsejo a crear una carpeta de imagenes si es que no latienes o entonces actualizar la ruta que corresponda

cargar.php



Código PHP:
Ver original
  1. require ("config.php");
  2.  
  3. function mysql_escape($cadena) {  //funcion para limpiar campos del form de codigo malicioso  
  4.     if(get_magic_quotes_gpc() != 0) {  
  5.         $cadena = stripslashes($cadena);  
  6.     }  
  7.     return mysql_real_escape_string($cadena);  
  8. }    
  9.  
  10. //nos conectamos a la base de datos  
  11. mysql_connect('localhost','esquina_esquina','esquina123')or die ('Ha fallado la conexión: '.mysql_error());  
  12. mysql_select_db('esquina_base')or die ('Error al seleccionar la Base de Datos: '.mysql_error());  
  13.  
  14. if(isset($_FILES['fichero']['name'])) {  //comprovamos que se haya cargado el archivo  
  15.  
  16. // Creamos la cadena aletoria
  17.  
  18. $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
  19. $cad = "";
  20. for($i=0;$i<12;$i++) {
  21. $cad .= substr($str,rand(0,62),1);
  22. }
  23.    if(is_uploaded_file($_FILES['fichero']['tmp_name'])) {  
  24.      
  25.      
  26.    //empieza la redimension, tomamos la imagen temporal subida que puede ser jpg, png o gif  
  27.    $info = getimagesize($_FILES['fichero']['tmp_name']);  
  28.    //segun el caso sera jpg, gif, png  
  29.    switch ($info[2]) {  
  30.   case 1:  
  31.     $imagen = imagecreatefromgif($_FILES['fichero'] ['tmp_name']); break;  
  32.   case 2:  
  33.     $imagen = imagecreatefromjpeg($_FILES['fichero'] ['tmp_name']); break;  
  34.   case 3:  
  35.     $imagen = imagecreatefrompng($_FILES['fichero'] ['tmp_name']); break;  
  36.   // etcétera //  
  37.   }  
  38.  
  39. $original = $imagen;  
  40. $original_w = imagesx($original);  
  41. $original_h = imagesy($original);  
  42.  
  43. $max = 200;  //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS segun la tabla donde la muestres  
  44.  
  45. if($original_w>$original_h) {
  46.     $muestra_w = $max;  
  47.     $muestra_h = intval(($original_h/$original_w)*$max);  
  48.     } else {  
  49.     $muestra_w = intval(($original_w/$original_h)*$max);  
  50.     $muestra_h = $max;  
  51.     }  
  52.  
  53. $muestra = imagecreatetruecolor($muestra_w,$muestra_h);  
  54. imagecopyresampled($muestra,$original,0,0,0,0, $muestra_w,$muestra_h,$original_w,$original_h);//aqui se crea la imagen en la variable $muestra  
  55.  
  56. imagedestroy($original); // aqui destruyo el original, pues no hace falta ya  
  57.  
  58.  
  59. // comenzamos a guardar el archivo  
  60.         $ruta_destino = "thumbnails/"; //ponemos la ruta donde queremos almacenar los archivos en el server  
  61.         $namefinal= trim ($_FILES['fichero']['name']); //quito espacios iniciales y finales del nombre del archivo  
  62.         $namefinal= ereg_replace (" ", "", $namefinal); //quito los espacios entre el nombre para no tener despues problemas de codigo  
  63.         $uploadfile= $ruta_destino . $namefinal; //monto la ruta seguida del nombre del archivo en $uploadfile  
  64.         if(imagejpeg($muestra,$uploadfile,'100')) { // se coloca en su lugar final,  el 100 el la calidad del jpg  
  65.                     echo "<b>Upload exitoso!. Datos:</b><br>";  
  66.             echo "Nombre: <i><a href=http://www.esquinadosamba.cl/Usuarios1/imagenes/".$uploadfile.">".$_FILES['fichero']['name']."</a></i><br>";  
  67.             echo "Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>";  
  68.                     echo "Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";  
  69.                         echo "<br><hr><br>";  
  70.                        
  71.  
  72.  
  73.                          
  74.  //insertamos en la BD los campos del form
  75.  if(isset($_SESSION['id'])) // Aqui actualizaremos el perfil del usuario en la base de datos y le mostraremos que esta conectado
  76. {
  77. mysql_query("UPDATE  usuarios SET  imagen=
  78. '".$_FILES['fichero']['name']."' where id = ". $_SESSION['id'] ."") ;  
  79.  }
  80.  
  81.  
  82.                                       }else{echo "no se guardo la foto, ni se inserto  en la Base de Datos";}
  83.                      }else{echo "no se subio foto";}
  84.            }else{echo "no se selecciono la foto";}
  85.  
  86.  
  87. ?>  
  88. <!--redicionaremos al perfil-->
  89. <META HTTP-EQUIV="Refresh" CONTENT="0; mostrar.php">
  #8 (permalink)  
Antiguo 02/05/2011, 14:26
Avatar de saraivaruas  
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: Aporte sistema de usuario registrados con vista online y sistema de mensaj

Bien aqui pondre el codigo de recuperacion para los usarios olvidadizos el formulario ya viene junto el de registro que esta arriba.


rec_pass.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. require("conexion");
  4.  
  5.  
  6.       // Seleccionamos el email de la base de datos para verificar
  7.  
  8.     $result = @mysql_query("SELECT * FROM usuarios WHERE mail='".$_POST['mail']."'");
  9.  
  10.     if (!$result) {
  11.  
  12.       echo("<p>Error al seleccionar tabla: " . mysql_error() . "</p>");
  13.  
  14.       exit();
  15.  
  16.     }
  17.  
  18.     //Chekeamos si existe el email
  19.  
  20.  $sql_check_num = mysql_num_rows($result);
  21.  
  22.     if($sql_check_num == 0){
  23.  
  24.      
  25.  
  26.     //si no te aperce el email del que puso  ej: $email prueba con ".$_POST['email']."
  27.  
  28.         echo "<table width='467'><tr><td><font color=ff0000 face=verdana>El e-mail <b >".$_POST['mail']."</b> no fue encontrado en nuestra base de datos</font><br />
  29.  
  30.        <center>
  31.  
  32. <p>
  33.  
  34.  
  35.  
  36. <form action=\"enviar_datos.php\" method=\"post\">
  37.  
  38. Intente de nuevo: <input type=\"text\" name=\"email\">
  39.  
  40. <input type=\"submit\" value=\"Enviar\" name=\"go\">
  41.  
  42. </form>
  43.  
  44. </p></center></td><tr></table>";
  45.  
  46.         exit();
  47.  
  48.     }
  49.  
  50.     // Si va todo bien sacamos todo de la base de datos
  51.  
  52.     while ( $row = mysql_fetch_array($result) ) {
  53.  
  54.       $email = $row["mail"];
  55.       $nick = $row["nick"];
  56.       $password = $row["pass"];
  57.  
  58.  
  59.  
  60.     }
  61.  
  62.    
  63.  
  64.     // creamos el email  
  65.  
  66.    
  67.   $mensaje = "Su Nick y su clave de  usuario para ingresar   en   mi web :     $nick y $password . Ya puedes ingresar a la zona vip.";
  68. $email_webmaster = "usuarios@mi web.com";
  69. $asunto = "Su contraseña para entrar en la zona vip en Esquinadosamba.cl, espero que lo disfrutes.  Saludos!";
  70.  
  71.  
  72.  
  73.  
  74. mail($email,$asunto,$mensaje,"FROM: $email_webmaster");
  75.  
  76.  
  77.  
  78. //le decimos al usuario que fue enviado su password  
  79.  
  80. //y que vaya rrapido a revisar su correo electronico
  81.  
  82.  
  83.  
  84. echo  ("<table width='467'><tr><td>tu password ha sido enviado al siguiente correo: $email <br>
  85.  
  86.    
  87.  
  88.    revise su correo esperamos que disfrutes  <br>  Saludos!</a>
  89.  
  90. </td><tr></table>");
  91.  
  92.  
  93.  
  94. ?>
  #9 (permalink)  
Antiguo 02/05/2011, 14:31
Avatar de saraivaruas  
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: Aporte sistema de usuario registrados con vista online y sistema de mensaj

La parte del sistema de mensajeria interna lo publicare como aporte con el nombre de aporte de sistema de mensajeria. despues pego por aca el link..
  #10 (permalink)  
Antiguo 02/05/2011, 14:32
Avatar de saraivaruas  
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: Aporte sistema de usuario registrados con vista online y sistema de mensaj

Cita:
Iniciado por saraivaruas Ver Mensaje
Bien aqui pondre el codigo de recuperacion para los usarios olvidadizos el formulario ya viene junto el de registro que esta arriba.


rec_pass.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. require("conexion");
  4.  
  5.  
  6.       // Seleccionamos el email de la base de datos para verificar
  7.  
  8.     $result = @mysql_query("SELECT * FROM usuarios WHERE mail='".$_POST['mail']."'");
  9.  
  10.     if (!$result) {
  11.  
  12.       echo("<p>Error al seleccionar tabla: " . mysql_error() . "</p>");
  13.  
  14.       exit();
  15.  
  16.     }
  17.  
  18.     //Chekeamos si existe el email
  19.  
  20.  $sql_check_num = mysql_num_rows($result);
  21.  
  22.     if($sql_check_num == 0){
  23.  
  24.      
  25.  
  26.     //si no te aperce el email del que puso  ej: $email prueba con ".$_POST['email']."
  27.  
  28.         echo "<table width='467'><tr><td><font color=ff0000 face=verdana>El e-mail <b >".$_POST['mail']."</b> no fue encontrado en nuestra base de datos</font><br />
  29.  
  30.        <center>
  31.  
  32. <p>
  33.  
  34.  
  35.  
  36. <form action=\"enviar_datos.php\" method=\"post\">
  37.  
  38. Intente de nuevo: <input type=\"text\" name=\"email\">
  39.  
  40. <input type=\"submit\" value=\"Enviar\" name=\"go\">
  41.  
  42. </form>
  43.  
  44. </p></center></td><tr></table>";
  45.  
  46.         exit();
  47.  
  48.     }
  49.  
  50.     // Si va todo bien sacamos todo de la base de datos
  51.  
  52.     while ( $row = mysql_fetch_array($result) ) {
  53.  
  54.       $email = $row["mail"];
  55.       $nick = $row["nick"];
  56.       $password = $row["pass"];
  57.  
  58.  
  59.  
  60.     }
  61.  
  62.    
  63.  
  64.     // creamos el email  
  65.  
  66.    
  67.   $mensaje = "Su Nick y su clave de  usuario para ingresar   en   mi web :     $nick y $password . Ya puedes ingresar a la zona vip.";
  68. $email_webmaster = "usuarios@mi web.com";
  69. $asunto = "Su contraseña para entrar en la zona vip en Esquinadosamba.cl, espero que lo disfrutes.  Saludos!";
  70.  
  71.  
  72.  
  73.  
  74. mail($email,$asunto,$mensaje,"FROM: $email_webmaster");
  75.  
  76.  
  77.  
  78. //le decimos al usuario que fue enviado su password  
  79.  
  80. //y que vaya rrapido a revisar su correo electronico
  81.  
  82.  
  83.  
  84. echo  ("<table width='467'><tr><td>tu password ha sido enviado al siguiente correo: $email <br>
  85.  
  86.    
  87.  
  88.    revise su correo esperamos que disfrutes  <br>  Saludos!</a>
  89.  
  90. </td><tr></table>");
  91.  
  92.  
  93.  
  94. ?>



Espero que este sistema sea de utilidad para alguien mas y por favor enviar comentarios y observaciones para mejorarlo.. mucho se agradeceria.

saludos a todos.
  #11 (permalink)  
Antiguo 02/05/2011, 15:33
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Aporte sistema de usuario registrados con vista online y sistema de mensaj

hola, quizás podrías acortar algunas partes del código usando expresiones regulares.

Personalmente no crearía tantas variables de session, piensa que si almacenas su id, el resto de campos como nick y email ya los puedes sacar cuando estimes necesario con una consulta.

También hay un par de if que pueden ir juntos.

Son cositas, apenas le dí un repaso visual , pero se puede simplicar muchísimo ese código, aunque entiendo que es lo básico para quienes buscan aprender.

Un saludo
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #12 (permalink)  
Antiguo 02/05/2011, 15:36
Avatar de saraivaruas  
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: Aporte sistema de usuario registrados con vista online y sistema de mensaj

Cita:
Iniciado por IEKK Ver Mensaje
hola, quizás podrías acortar algunas partes del código usando expresiones regulares.

Personalmente no crearía tantas variables de session, piensa que si almacenas su id, el resto de campos como nick y email ya los puedes sacar cuando estimes necesario con una consulta.

También hay un par de if que pueden ir juntos.

Son cositas, apenas le dí un repaso visual , pero se puede simplicar muchísimo ese código, aunque entiendo que es lo básico para quienes buscan aprender.

Un saludo


Gracias IEKK por el comentario, y el codigo esta para que lomejoremos juntos entre todos te agradeceria que pusiera tus ideas aqui ..

saludos amigo!

Etiquetas: mensajeria, registrados, sistema, vistas, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 3 personas




La zona horaria es GMT -6. Ahora son las 19:57.