Comunidad PHPeros
Lenguajes => PHP => Tutoriales PHP => Mensaje iniciado por: Dj-Celta en 11 de Marzo de 2007, 15:19:25 pm
-
Aqui esta:
constarira de 3 archivos:
-Login.php(para conectarse)
-logout.php(para desconectarse)
-register.php(para registrarse)
-conectar.php(para conectarse a la base de datos)
EL login sera asi:
<?php
include("conectar.php");
session_start();
// Conectar a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');
if ($_POST['username']) {
//Comprobacion del envio del nombre de usuario y password
$username=$_POST['username'];
$password=$_POST['password'];
if ($password==NULL) {
echo "La password no fue enviada";
}else{
$query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] != $password) {
echo "Login incorrecto";
}else{
$query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
$row = mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username'];
echo "Has sido logueado correctamente.Bienvenid@ ".$_SESSION['s_username'].".";
}
}
}
?>
<style type="text/css">
<!--
.style1 {color: #FFFFFF}
-->
</style>
<form action='login.php' method='POST'>
<table bordercolor="#FFFFFF" style='border:1px solid #FFFFFF;'>
<tr>
<td align='right'> <span class="style1">Nombre de usuario:</span><font color="#FFFFFF">
<input type='text' size='15' maxlength='25' name='username'>
</font></td>
</tr>
<tr>
<td align='right'> <span class="style1">Password</span><font color="#FFFFFF">:
<input type='password' size='15' maxlength='25' name='password'>
</font></td>
</tr>
<tr>
<td align='center'> <font color="#FFFFFF">
<input type="submit" value="Login">
</font></td>
</tr>
<tr>
<td align='center'> </td>
</tr>
</table>
<p></p>
</form>
El logout:
<?php
session_start();
$_SESSION = array();
?>
El register:
?php
include("conectar.php");
// Preguntaremos si se han enviado ya las variables necesarias
if (isset($_POST["username"])) {
$username = $_POST["username"];
$password = $_POST["password"];
$cpassword = $_POST["cpassword"];
$email = $_POST["email"];
// Hay campos en blanco
if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) {
echo "un campo está vacio.";
}else{
// ¿Coinciden las contraseñas?
if($password!=$cpassword) {
echo "Las contraseñas no coinciden";
}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
$checkuser = mysql_query("SELECT username FROM users WHERE username='$username'");
$username_exist = mysql_num_rows($checkuser);
$checkemail = mysql_query("SELECT email FROM users WHERE email='$email'");
$email_exist = mysql_num_rows($checkemail);
if ($email_exist>0|$username_exist>0) {
echo "EL nombre de usuario o la cuenta de correo estan ya en uso";
}else{
//Todo parece correcto procedemos con la inserccion
$query = "INSERT INTO users (username, password, email) VALUES('$username','$password','$email')";
mysql_query($query) or die(mysql_error());
echo "El usuario $username ha sido registrado de manera satisfactoria.";
}
}
EL conectar:
<?php
// Configura los datos de tu cuenta
$dbhost='nombre de tu host';
$dbusername='nombre de usuario la base de datos';
$dbuserpass='contraseña del usuario de la base de datos';
$dbname='nombre de la base de dtaos';
// Conexión a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
// Seleccion de la base de datos
mysql_select_db($dbname) or die('Cannot select database');
?>
y la tabla que habria que crear seria asi:
CREATE TABLE users(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
username VARCHAR(30) NOT NULL,
password VARCHAR(20) NOT NULL,
email VARCHAR(40) NOT NULL)
No lo explico por que lo que tiene es muy basico si algun mod quiesiera explicarlo que lo edite.
-
Esto.. por lo que veo te liastes mucho >.<
¿Porque mezclas el sistema de usuarios poniendole hojas de cascada?
Esque este me parece a copiar y pegar =.=
Lo digo porque hubieras podido complicarte mucho menos usando menos variables, ya que hay muchas cosas que sobran..
-
eso me dijo mi tio xD y parte fue copiar pegar pero lo modifique
-
LOL? Se supone que debes poner un tutorial que tu allas creado, no modificado, para eso pongo el PfUsers le cambio unas cosas y coloco el código
-
Se nota que ha sido Copy/Paste ... xD
-
nu fue copy paste ni copiar pegar en principio por q lo traduje q estaba ne ingles
-
Pues si no ha sido Copy/Paste ... Por qué incluyes un conectar, y poco mas abajo conectas a una base de datos, con unas variables, a las cuales no les das valor en este archivo ? ...
Saludos!
-
Solo he mirado el login.php y esta fatal. Tambien he visto que copias todas las variables $_POST en lugar de usarlas directamente, cosa que hace mucha gente y nunca entendere la razon. Os da miedo usarlas?
-
Ishamato me das tu registro de user please
-
Clarisimo copy/paste aunque hayas traducido de nada te vale porque encima esque ni va x'D
-
Hasta hoy no habia visto este POST.
No voy a dar mi opinión sobre lo aquí posteado porque podríamos seguir hablando indefinidamente, por lo tanto, Cierro Tema.
Solamente haré una puntualización, Solamente se Admitirán de ahora en adelante tutoriales que cumplan unas caracteristicas concretas que serán indicadas en OTRO POST.
Ejemplos de Características:
- Originalidad
- Utilidad
- Funcionales
- Correctos y Corregidos
- Explicados
Un Saludo :D
PD. Dj-Celta creo que una buena intención debe ser premiada y por ello te felicito y te doy un Karma (+)