Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/06/2011, 02:24
GuillermoM
 
Fecha de Ingreso: abril-2011
Ubicación: España, Mdrid
Mensajes: 89
Antigüedad: 13 años, 1 mes
Puntos: 1
Cronómetro en PHP + Sincronización con la base de datos

Hola! He creado un sistema de usuarios en PHP sin MYSQL funciona de maravilla pero... Quiero ir un poco más allá.

Código PHP:
<?php
$mensaje_error 
"";
if (
$_SERVER['REQUEST_METHOD'] == 'POST')
{
   
$accion = isset($_POST['accion']) ? $_POST['accion'] : '';
   
$base_datos 'usuariosdb.php';
   
$pagina_sucesos './index.php';

   if (!
file_exists($base_datos))
   {
      echo 
'La base de datos no funciona!';
      exit;
   }
   if (
$accion == 'registro')
   {
      
$nuevonombre_usuario $_POST['nombre_usuario'];
      
$nuevoemail $_POST['email'];
      
$nuevacontrasena $_POST['contrasena'];
      
$confirmarcontrasena $_POST['confirmarcontrasena'];
      
$nuevonombre_completo $_POST['nombre_completo'];
      if (
$nuevacontrasena != $confirmarcontrasena)
      {
         
$mensaje_error 'Tu contrasena y la confirmada no es la misma.';
      }
      else
      if (!
ereg("^[A-Za-z0-9_!@$]{1,50}$"$nuevonombre_usuario))
      {
         
$mensaje_error 'Tu nombre de usuario no es válido.';
      }
      else
      if (!
ereg("^[A-Za-z0-9_!@$]{1,50}$"$nuevacontrasena))
      {
         
$mensaje_error 'Tu contrasena no es válida.';
      }
      else
      if (!
ereg("^[A-Za-z0-9_!@$.' &]{1,50}$"$nuevonombre_completo))
      {
         
$mensaje_error 'Tu nombre completo no es válido.';
      }
      else
      if (!
ereg("^.+@.+\..+$"$nuevoemail))
      {
         
$mensaje_error 'Tu Email no es válido.';
      }
    [
B]  $elementos file($base_datos);
      foreach(
$elementos as $enlinea)
      {
         list(
$nombre_usuario$contrasena$email$nombre_completo) = explode('|'trim($enlinea));
         if (
$nuevonombre_usuario == $nombre_usuario)
         {
            
$mensaje_error 'Tu nombre de usuario ya está en uso. Por favor, prueba con otro.';
            break;
         }
      }
      if (empty(
$mensaje_error))
      {
         
$archivo fopen($base_datos'a');
         
fwrite($archivo$nuevonombre_usuario);
         
fwrite($archivo'|');
         
fwrite($archivomd5($nuevacontrasena));
         
fwrite($archivo'|');
         
fwrite($archivo$nuevoemail);
         
fwrite($archivo'|');
         
fwrite($archivo$nuevonombre_completo);
         
fwrite($archivo'|1');
         
fwrite($archivo"\r\n");
         
fclose($archivo);[/B]

         
$mailto $nuevoemail;
         
$asunto 'Tu nueva cuenta.';
         
$correo 'Una nueva cuenta a sido creada';
         
$correo .= "\r\nnombre_usuario: ";
         
$correo .= $nuevonombre_usuario;
         
$correo .= "\r\ncontrasena: ";
         
$correo .= $nuevacontrasena;
         
$correo .= "\r\n";
         
$encabezado_correo  "De: [email protected]"."\r\n";
         
$encabezado_correo .= "X-Mailer: PHP v".phpversion();
         
mail($mailto$asunto$correo$encabezado_correo);
         
header('Location: '.$pagina_sucesos);
         exit;
      }
   }
}
?>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<link rel="stylesheet" type="text/css" href="estiloregistro.css"></link>
<link rel="stylesheet" type="text/css" href="estiloindex.css"></link>
<title>Tu libro de compases - Alumno</title>
</head>
<body>
<!-- CABEZA -->
<div id="cabecero">
<div id="menu">
<div id="tabla">
    <ul>
<li><a href="#" >Opciones</a></li>    
<li><a href="#" >Alumno</a></li>  
<li><a href="#" >Estadísticas</a></li>    
    </ul>
</div>
</div>
<div id="menu2">
<div id="tabla2">
    <ul>
<li><a href="#" id="especial">Iniciar sesión</a></li>     
    </ul>
</div>
</div>
</div>
<div id="contenido">
<div id="herramienta">
<div class="margen">
<div id="div_registro">
<form name="registro" method="post" action="<?php echo basename(__FILE__); ?>" id="registro">
<input type="hidden" name="accion" value="registro">
<table fontsize="12px" align="center">
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr>
   <td align="center" colspan="2"><strong>Registrate para crear una nueva cuenta</td></strong>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr align="left">
   <td align="left">Nombre completo: </td>
   <td align="left"><input name="nombre_completo" type="text" id="nombre_completo"></td>
</tr>
<tr align="left">
   <td align="right">Nombre de usuario (nick): </td>
   <td align="left"><input name="nombre_usuario" type="text" id="nombre_usuario"></td>
</tr>
<tr>
   <td align="left"">Contraseña: </td>
   <td align="left"><input name="contrasena" type="password" id="contrasena"></td>
</tr>
<tr align="left">
   <td align="left">Confirmar contraseña: </td>
   <td align="left"><input name="confirmarcontrasena" type="password" id="confirmarcontrasena"></td>
</tr>
<tr align="left">
   <td align="left">E-mail:</td>
   <td align="left"><input name="email" type="text" id="email"></td>
</tr>
<tr align="left">
   <td><?php echo $mensaje_error?></td>
</tr>

   <td align="left" valign="bottom" colspan="1"><input type="submit" name="registro" value="Crear usuario" id="registro"></td>
</tr>
</td>
</table>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Ese es el código de registro.php con el los suarios meten sus datos y la base de datos que es un archivo .php que esta en formato separado por "|". Quiero que, una vez que te hayas reistrado y logueado accedas a ciertas heramientas músicales las cuales tienen un cronómetro que se inicia cuando tu entras a esa página y se para cuando sales. Y que el tiempo que hayas estado en esa página se imprima en el archivo "base de datos".