Programación Web y Scripting > PHP

 Sistema Login/Registro con almacén de fechas

<< < (2/3) > >>

chesbor:
Ok, vamos por partes... lo de la cookie lo tenés que sacar... porque vas a usar session...

Así que esta parte:


--- Código: Text ---} else {  setcookie("loggedin", "".$_POST['username']."", time()+(3600 * 24));echo "Welcome: <strong>".$_POST['username']."</strong><br>";echo "Continue to the <a href=members.php>members</a> section.";session_start();$_SESSION['log'] = 1;mysql_query("INSERT INTO logs (usuario, fecha) values ('".$_POST['username']."','".date('d/m/y')."'");} 
sería así:


--- Código: Text --- } else { session_start();$_SESSION['log'] = 1;mysql_query("INSERT INTO logs (usuario, fecha) values ('".$_POST['username']."','".date('d/m/y')."'");echo "Welcome: <strong>".$_POST['username']."</strong><br>";echo "Continue to the <a href=members.php>members</a> section."; 
Ahora el tema de los logins... te muestra el código porque no lo encerraste en los <?PHP ?>
Y si lo tienen que ver todos en vez de solo un administrador hay que dejarlo asi como está, y si lo pueden ver todos incluso sin loguearse, solo hay que sacar el if($_SESSION['log] == 1).

Espero que sirva.

ToNy_EsP:
Buenos días chesbor,

Antes que nada darte las gracias  :)  :good: .

Pues mira, elimine del código de administrador (para ver los logins) lo de: if($_SESSION['log] == 1) pero me sale un error a la hora de cargar la página:

Parse error: syntax error, unexpected T_ELSE in /home/a1830998/public_html/admin.php on line 10

Está claro, el error estáa en el Else, por eso eliminé la parte de código de Else. Por cierto, dejando lo de If... me decia que me indentificase (y ya estaba identificado :S). Bueno, elimine lo de If... y lo de Else... y me daba errores en lo de Mysql query... diciendome que se queria conectar pero habia un error.

Lo de Login creo que se quedó bien :D. Creo que el error está en el código donde dice: "usuario" y "fecha", no sé, eso me parece a mi.

Este es el código del login

--- Código: PHP --- <?phpob_start(); include("config.php");  // connect to the mysql server $link = mysql_connect($server, $db_user, $db_pass) or die ("Could not connect to mysql because ".mysql_error());  // select the databasemysql_select_db($database) or die ("Could not select database because ".mysql_error());  $match = "select id from $table where username = '".$_POST['username']."' and password = '".$_POST['password']."';";  $qry = mysql_query($match) or die ("Could not match data because ".mysql_error()); $num_rows = mysql_num_rows($qry);  if ($num_rows <= 0) { echo "Sorry, there is no username or password with: <strong>".$_POST['username']."</strong><br>"; echo "<a href=login.html>Try again</a>"; exit;   } else {   session_start(); mysql_query("INSERT INTO logs (usuario, fecha) values ('".$_POST['username']."','".date('d/m/y')."'"); echo "Welcome: <strong>".$_POST['username']."</strong><br>"; echo "Continue to the <a href=members.php>members</a> section."; }ob_end_flush();$logeo=time();?>  

Este es el código de lo de administrar

--- Código: PHP --- <?phpsession_start();{    $consulta = mysql_query("SELECT * FROM logs ORDER BY usuario");    echo "<table><tr><td>Usuario</td><td>fecha</td></tr>";    while($registro = mysql_fetch_array($consulta)) {       echo "<tr><td>".$registro['usuario']."</td><td>".$registro['fecha']."</td></tr>";   }   echo "</table>"; } else {    echo "debe loguearse para ver esta información"; }?>  
Este el de registro

--- Código: PHP --- <?php  include("config.php");  // connect to the mysql server$link = mysql_connect($server, $db_user, $db_pass)or die ("Could not connect to mysql because ".mysql_error()); // select the databasemysql_select_db($database)or die ("Could not select database because ".mysql_error()); // check if the username is taken$check = "select id from $table where username = '".$_POST['username']."';"; $qry = mysql_query($check)or die ("Could not match data because ".mysql_error());$num_rows = mysql_num_rows($qry); if ($num_rows != 0) { echo "Sorry, there the username $username is already taken.<br>";echo "<a href=register.html>Try again</a>";exit; } else { // insert the data$insert = mysql_query("insert into $table values ('NULL', '".$_POST['username']."', '".$_POST['password']."', '".$_POST['name1']."', '".$_POST['name2']."', '".$_POST['email']."', '".$_POST['website']."', 'images/avatar.jpg')")or die("Could not insert data because ".mysql_error()); // print a success messageecho "Your user account has been created!<br>"; echo "Now you can <a href=login.html>log in</a>"; } ?>  
Y por si las moscas dejo el de configuracion (contiene los passwords :D)

--- Código: PHP --- <?php// Server to connect to, the default is 'LocalHost' but if it does not work use your IP address for your server$server = "mysql8.000webhost.com"; // The name of the database, when using cPanel you would normally have your user name first like so: username_DATABASE-NAME$database = "a1830998_db1"; // MySQL username to access the database with.  $db_user = "a1830998_db1"; // MySQL password to access the database with.$db_pass = "mgmhgev3"; // The table that this script will set up and use, you can change this but recommended to keep the same so if you require any support we can help faster$table = "ac_users";?>  
Deje todos los códigos  :rolleyes: . Creo que lo unico que falla es el código de "Administrar". Falla con la conexión al servidor.
Por cierto, ¿podrías poner el código de Administración sólo para que lo vean los usuarios registrador (no el admin solo, sino los registrados que hagan Login)? Es que llamé a mi profesor y me dijo que mejor que lo puedan ver solo los registrados logeados.

Muchísimas gracias por tu atención y por ayudarme.

Un saludo

chesbor:
Para que lo puedan ver todos los usuarios registrados el código sería como estaba antes:


--- Código: Text ---session_start();if($_SESSION['log'] == 1) {   $consulta = mysql_query("SELECT * FROM logs ORDER BY usuario");   echo "<table><tr><td>Usuario</td><td>fecha</td></tr>";   while($registro = mysql_fetch_array($consulta)) {      echo "<tr><td>".$registro['usuario']."</td><td>".$registro['fecha']."</td></tr>";   }   echo "</table>";} else {   echo "debe loguearse para ver esta información";} 

ToNy_EsP:
No sirve :S. He puesto ese código, me he logeado y después he entrado a la pagina de Administracion, y me sale que no estoy logeado, pero es mentira porque si lo estoy. Creo que el problema esta en el .PHP del Login :S.

Un saludo y de nuevo, gracias.

chesbor:
Jejejje si, ni lo leí el de login... el de login tendrías que cambiar esto:

--- Código: Text --- } else { session_start();mysql_query("INSERT INTO logs (usuario, fecha) values ('".$_POST['username']."','".date('d/m/y')."'");echo "Welcome: <strong>".$_POST['username']."</strong><br>";echo "Continue to the <a href=members.php>members</a> section."; 
Por esto:


--- Código: Text --- } else { session_start();$_SESSION['log'] = 1;mysql_query("INSERT INTO logs (usuario, fecha) values ('".$_POST['username']."','".date('d/m/y')."'");echo "Welcome: <strong>".$_POST['username']."</strong><br>";echo "Continue to the <a href=members.php>members</a> section."; 
es solo una línea, espero que salga :P.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa