oye, Danikirt, ya tengo la base de datos, la tengo en mi localhost, echa con phpMyAdmin (localhost/phpmyadmin).
¿Ahora que tengo que hacer para hacer el sistema de registrar?
¿Ahora que tengo que hacer para hacer el sistema de registrar?
¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻
...
5mentarios.
5mentarios.
¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻
Wow.... Parece que el mp no sirve para Nada A la revolucion del Pene xd :pzz:
Jajajja, no hacia falta crear un nuevo tema, te podia responder en el otro.
Bueno, empezemos:
Primero debes crear la siguiente tabla en la base de datos:
Tabla Usuarios:
Una vez echo esto, este es el código de registrar.php
Registrar.php
Ok, ahora ya tienes un registro, que en teoría, debería funcionar, vayamos por el login:
login.php
Como puedes ver, el login.php llama al archivo validar_usuario.php, el cual comprueba si el usuario existe en la base de datos. Este es el código:
validar_usuario.php
Bien, de momento nuestros usuarios se pueden registrar en la web y pueden ingresar en ella con su usuario, pero ahora, nos hace falta poner algo para que cierto contenido solo se muestre a usuarios registrados y otro diferente a los no registrados.
Para ello, pondremos el siguiente código:
index.php
Ahora únicamente nos falta una opción para que nuestros usuarios puedan cerrar sesión, la cual contiene el siguiente código:
logout.php
En teoría ya está todo, dime si te ha funcionado.
:%:
Vía
Bueno, empezemos:
Primero debes crear la siguiente tabla en la base de datos:
Tabla Usuarios:
CREATE TABLE `usuarios` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`usuario` VARCHAR(20) NOT NULL,
`password` VARCHAR(10) NOT NULL,
`descripcion` TEXT character SET utf8 collate utf8_spanish_ci,
`email` VARCHAR(45) character SET utf8 collate utf8_spanish_ci DEFAULT NULL,
`fecha` DATE NOT NULL,
PRIMARY KEY (`id`)
)
Una vez echo esto, este es el código de registrar.php
Registrar.php
<?php
session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','usuario','password')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('mi_base')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function formRegistro(){
?>
<form action="registrar.php" method="post">
Usuario (max 20):
<input type="text" name="username" size="20" maxlength="20" /><br />
Password (max 10):
<input type="password" name="password" size="10" maxlength="10" />
Confirma: <input type="password" name="password2" size="10" maxlength="10" /><br />
Email (max 40):
<input type="text" name="email" size="20" maxlength="40" /><br />
<input type="submit" value="Registrar" />
</form>
<?php
}
// verificamos si se han enviado ya las variables necesarias.
if (isset($_POST["username"])) {
$username = $_POST["username"];
$password = $_POST["password"];
$password2 = $_POST["password2"];
$email = $_POST["email"];
// Hay campos en blanco
if($username==NULL|$password==NULL|$password2==NULL|$email==NULL) {
echo "un campo está vacio.";
formRegistro();
}else{
// ¿Coinciden las contraseñas?
if($password!=$password2) {
echo "Las contraseñas no coinciden";
formRegistro();
}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
$checkuser = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$username'");
$username_exist = mysql_num_rows($checkuser);
$checkemail = mysql_query("SELECT email FROM usuarios 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";
formRegistro();
}else{
$query = 'INSERT INTO usuarios (usuario, password, email, fecha)
VALUES (''.$username.'',''.$password.'',''.$email.'',''.date("Y-m-d").'')';
mysql_query($query) or die(mysql_error());
echo 'El usuario '.$username.' ha sido registrado de manera satisfactoria.<br />';
echo 'Ahora puede entrar ingresando su usuario y su password <br />';
?>
<FORM ACTION="validar_usuario.php" METHOD="post">
Usuario : <INPUT TYPE="text" NAME="usuario" SIZE=20 MAXLENGTH=20><br />
Password: <INPUT TYPE="password" NAME="password" SIZE=10 MAXLENGTH=20><br />
<INPUT TYPE="submit" VALUE="Ingresar">
</FORM>
<?php
}
}
}
}else{
formRegistro();
}
?>
Ok, ahora ya tienes un registro, que en teoría, debería funcionar, vayamos por el login:
login.php
<form action="validar_usuario.php" method="post">
Usuario:<input type="text" name="usuario" size="20" maxlength="20" />
<br />
Password:<input type="password" name="password" size="10" maxlength="10" />
<br />
<input type="submit" value="Ingresar" />
</form>
Como puedes ver, el login.php llama al archivo validar_usuario.php, el cual comprueba si el usuario existe en la base de datos. Este es el código:
validar_usuario.php
<?php
session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','usuario','password')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('mi_base')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function quitar($mensaje)
{
$nopermitidos = array("'",'','<','>',""");
$mensaje = str_replace($nopermitidos, "", $mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
// Puedes utilizar la funcion para eliminar algun caracter en especifico
//$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
//$password = $HTTP_POST_VARS["password"];
// o puedes convertir los a su entidad HTML aplicable con htmlentities
$usuario = strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
$password = $HTTP_POST_VARS["password"];
$result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=''.$usuario.''');
if($row = mysql_fetch_array($result)){
if($row["password"] == $password){
$_SESSION["k_username"] = $row['usuario'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo '<a href="index.php">Index</a></p>';
//Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php
/*Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="javascript">
location.href = "index.php";
</SCRIPT>*/
}else{
echo 'Password incorrecto';
}
}else{
echo 'Usuario no existente en la base de datos';
}
mysql_free_result($result);
}else{
echo 'Debe especificar un usuario y password';
}
mysql_close();
?>
Bien, de momento nuestros usuarios se pueden registrar en la web y pueden ingresar en ella con su usuario, pero ahora, nos hace falta poner algo para que cierto contenido solo se muestre a usuarios registrados y otro diferente a los no registrados.
Para ello, pondremos el siguiente código:
index.php
<?php
session_start();
echo 'Bienvenido, ';
if (isset($_SESSION['k_username'])) {
echo '<b>'.$_SESSION['k_username'].'</b>.';
echo '<p><a href="logout.php">Logout</a></p>';
}else{
echo '<p><a href="login.php">Login</a></p>
<p><a href="registrar.php">Registrar</a></p>';
}
?>
Ahora únicamente nos falta una opción para que nuestros usuarios puedan cerrar sesión, la cual contiene el siguiente código:
logout.php
<?php
session_start();
// Borramos toda la sesion
session_destroy();
echo 'Ha terminado la session <p><a href="index.php">index</a></p>';
?>
<SCRIPT LANGUAGE="javascript">
location.href = "index.php";
</SCRIPT>
En teoría ya está todo, dime si te ha funcionado.
:%:
Vía
¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻
pero en http://localhost/phpmyadmin/ ago la base de datos, ¿cómo se tiene k llamar la base de datos?
¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻
No me ha funcionado, mi página es: www.pruebashtml.freetzi.com
Si le ddoy a registrar me pone:
Not Found
The requested URL /registrar.php was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
¿por qué?
Si le ddoy a registrar me pone:
Not Found
The requested URL /registrar.php was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
¿por qué?
¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻
No me ha funcionado, mi página es: www.pruebashtml.freetzi.com
Si le ddoy a registrar me pone:
Not Found
The requested URL /registrar.php was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
¿por qué?
Pues juraría que es porque no has creado una pagina que se llame registrar.php
Revisa bien si has escrito bien el nombre.
¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻
sí lo escrbi bien
registrar.php
mira eske ya llevo 5 meses buscando esto y nunca me ha salido
quiero k me lo agas tu porfavor
te mando cosas por mensaje provado
registrar.php
mira eske ya llevo 5 meses buscando esto y nunca me ha salido
quiero k me lo agas tu porfavor
te mando cosas por mensaje provado
¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻
Por MP. Gracias.
Cerrado.
Cerrado.
¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻