Buenas despues de haber probado mucho tiempo he logrado adaptar un login y un register orientado a objetos en php para mi aplicación.
Les cuento estoy haciendo una aplicación en la cual estoy intentando que a los usuarios que acceden a mi sistema, puedan agregar ciertos viajes que tienen planeados hacer, mediante un form sencillo en html. Para ello en mi sql me hice una tabla para los users, y una tabla circuits con un id,el nombre del viaje y el username joineado de la tabla users... que es donde se va agregar el nombre del viaje que el usuario va hacer.
El problema esta en que necesito que solo los usuarios que esten logueados puedan ingresar los nombres de los viajes y es aqui donde estoy fallando,el registro y el login funcionan bien... cuando hago el login... ingreso a una pagina en la cual esta el link agregar un nuevo viaje... y es ahi donde falla, ya que por ejemplo si copio y pego la url de donde tengo que poner el nombre del viaje. Me deja acceder sin ningun problema aunque no me haya logueado... hay alguna forma de mandar para atras a los usuarios si no estan logueados desde mi html? como lo controlo eso?.... Alguien podria echarme un cable? lo agradeceria... una enormidad..
estos son mis codigos
login.html
Código HTML:
<!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>Trip Minded -Log In</title>
</head>
<body>
<center>
<table>
<tr>
<td></td>
<td align="center">
<h2 style="text-decoration:underline;">Login Trip Minded</h2>
</td>
</tr>
<tr>
<td>
<br/>
</td>
<td></td>
</tr>
<form name="login" method="post" action="login.php">
<tr>
<td> Username: </td>
<td>
<input name="username" class="textbox" type="text"></br>
</td>
</tr>
<tr>
<td>Password: </td>
<td>
<input name="password" class="textbox" type="password"></br>
</td>
</tr>
<tr>
<td></td>
<td>
<input name="login" value="Login" class="button" type="submit"></br>
</td>
</tr>
</form>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td><br/></td>
<td></td>
</tr>
<tr>
<td></td>
<td>
<a href="index.html">Back Index</a>
</td>
</tr>
</table>
</center>
</body>
</html>
login.php
Código HTML:
<?php
class login
{
public $user;
public $post_password;
public $query;
public $mysql_password;
public $error;
public $ok;
public $numrows;
public $fields;
public function __construct($username, $password)
{
include "config.php";
$this->user =$username;
$this->post_password =$password;
$this->query =mysql_query("SELECT * FROM users WHERE username = '".$this->user."'");
$this->mysql_password =mysql_fetch_array($this->query);
$this->numrows =mysql_num_rows($this->query);
$this->error ="Nombre de usuario o contraseña incorrectos.";
$this->ok ="Welcome <span style='color:red; font-size:20px;';<b>".$this->user."</b></span>";
$this->fields ="Por favor, rellena todos los campos.";
}
public function check()
{
if($this->user && $this->post_password)
{
if($this->numrows !=0)
{
if($this->mysql_password['password'] == md5($this->post_password))
{
session_start();
$_SESSION['username'] = $this->user;
echo"<center>";
echo"<table>";
echo"<tr><td>";
echo $this->ok;
echo"</td>";
echo"<td></td>";
echo"<td align='center' style='text-align:center;'>";
echo "<a href='logout.php'>Log Out</a>";
echo"</td></tr>";
echo"<tr><td>";
echo"
<br/>
<a href='./circuits/newcircuit.html'>Create New Circuit</a>";
echo"</td>";
echo"<td></td><td></td>";
echo"</tr>";
echo"<tr><td>";
echo"<br/>";
echo"</td>";
echo"<td></td><td></td>";
echo"</tr>";
echo"</table>";
echo"</center>";
}
else
{
echo $this->error;
}
}
else
{
echo $this->error;
}
}
else
{
echo $this->fields;
}
}
}
include_once "clear.php";
$login = new login(clear($_POST['username']), clear($_POST['password']));
echo $login->check();
?>
newcircuit.html
Código HTML:
<!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>Trip Minded - Create a New Circuit</title>
</head>
<body>
<center>
<table width="487" border="0">
<tr>
<td width="98"></td>
<td width="217" align="center"><h2><u>Create a New Circuit</u></h2></td>
<td width="79"></td>
</tr>
<tr>
<td><br/></td>
<td></td>
<td></td>
</tr>
<form action="newcirc.php" method="post">
<tr>
<td>Name circuit:</td>
<td><input type="text" name="namecirc" width="300" /></td>
<td></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Save Circuit" /></td>
<td></td>
</tr>
</form>
</table>
</center>
</body>
</html>