Comunidad PHPeros
Lenguajes => PHP => Tutoriales PHP => Mensaje iniciado por: G2K en 01 de Agosto de 2007, 21:44:43 pm
-
Después de recibir muchas proposiciones por msn de varios usuarios que querian que hiciera un codigo libre de un registro de usuarios, no me dispongo a hacer un gran codigo libre de registro de usuarios, pero si e hecho uno de bastante simple que servira de tutorial y seguro que lo entendereis todos y sino exponeis las dudas.
index.php:
<?
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com
if($_COOKIE['usuario'] and $_COOKIE['contrasena']){ #Comprovamos si existen las cookies, vamos que si estan o no logeados
echo"Hola ".$_COOKIE['usuario']."<br>"; #Todo lo que se ponga aquí hasta el else se mostrara solamente si esta logeado
echo'<a href="salir.php">Salir</a>';
} else {
#Si no esta conectado le mostramos el logeador
echo'<form method="POST" action="entrador.php">
<p>Usuario:<br>
<input type="text" name="usuario" size="20"><br>
Contraseña:<br>
<input type="password" name="contrasena" size="20"><br>
<input type="submit" value="OK" name="OK"></p>
</form><br>
<a href="registrador.php">¡Registrate!</a>';
}
?>
entrador.php:
<?
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com
include("conectar.php"); #incluimos el archivo de conexión a la base de datos
#Seleccionamos en la tabla usuarios de la base de datos la fila del nombre de usuario que tiene el nick igual al introducido en el formulario de conexión
$query = mysql_query("SELECT * FROM usuarios WHERE usuario='$_POST[usuario]'");
$datos = mysql_fetch_array($query);
#Comprovamos si la contraseña introducida es igual a la que se introdujo cuando se registro
if($datos['contrasena'] == md5($_POST['contrasena'])){
# Si es asi creamos las cookies
setcookie("usuario",$datos['usuario'],time()+3600);
setcookie("contrasena",$datos['contrasena'],time()+3600);
header("location: index.php"); #Por ultimo lo volvemos a mandar al index.php
} else {
#Si no son correctos los datos le avisamos de que vuelva a intentarlo
echo "<b>Hay un error</b>: No a sido posible conectarte, vuelve a intentarlo ;)";
echo "<a href=\"javascript:history.back(1)\"><b>Volver atrás</b></a>";
}
?>
salir.php:
<?php
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com
if($_COOKIE['usuario'] and $_COOKIE['contrasena']){ #Comprovamos si existen las cookies, vamos que si estan o no logeados
#Si estaban conectados eliminamos las cookies
setcookie("usuario");
setcookie("contrasena");
header("location: index.php");
} else {
#Si no es asi les decimos que no se les pueden desconectar porque no estan conectados, obio no? xD
echo "<b>Hay un error</b>: Usted no estaba conectado, por lo tanto no puede ser desconectado<br>";
echo "<a href=\"javascript:history.back(1)\"><b>Volver atrás</b></a>";
}
?>
registrador.php:
<?
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com
include("conectar.php"); #incluimos el archivo de conexión a la base de datos
if(isset($_POST['OK'])){ #Comprovamos si se a pulsado el boton OK
#Si es asi comprovamos que sean correctas las contras
if($_POST['contrasena1'] == $_POST['contrasena2']){ #Comprovamos que las contraseñas sean las 2 iguales
#Buscamos haver si hay algun mail o nombre de usuario igual al introducido
$consultamos = 'SELECT * FROM usuarios WHERE usuario="' . $_POST['usuario'] . '" or correo="' . $_POST['correo'] . '"';
$comprovacion = mysql_query($consultamos);
#Buscamos haver si hay algun usuario o correo ya igual al seleccionado
if(mysql_num_rows($comprovacion)==0){
#Buscaremos si hay errores y si los hay creamos la variable con el contenido adecuado
} else {
$error = "El nombre de usuario y/o el correo electronico ya a sido registrado";
}
} else {
$error = "Las contraseñas que nos a proporcionado no coinciden";
}
#Comprovamos haver si hay alguna variable que contenga un error
if($error){
#Si es asi lo mostramos
echo"$error";
} else {
#Si no hau errores registramos al usuario
$registrar = "INSERT INTO usuarios (usuario,contrasena,correo) VALUES ('".$_POST['usuario']."','".md5($_POST['contrasena1'])."','".$_POST['correo']."')";
if(mysql_query($registrar)){ #Comprovamos si se ha realizado el registro
echo"Has sido registrado, ¡¡¡Enhorabuena!!!"; #Si se a registrado le decimos que a sido registrado
} else {
echo"No se te a podido registrar, ¡¡¡sorry!!!"; #Si no a sido registrado le decimos que no a sido registrado
}
}
} else {
#Si no a pulsado el botón OK le mostramos el registrador
echo'<form method="POST" action="registrador.php">
<p>Usuario: <input type="text" name="usuario" size="20"><br>
Contraseña: <input type="password" name="contrasena1" size="20"><br>
Repetir Contraseña: <input type="password" name="contrasena2" size="20"><br>
Correo: <input type="text" name="correo" size="20"><br>
<input type="submit" value="OK" name="OK"><input type="reset" value="Borrar" name="Borrar"></p>
</form>';
}
?>
el conectar.php por si alguien no sabe como conectar:
<?php
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com
$conectar = mysql_connect( 'localhost', 'usuariodb', 'contradb') or die('No se puede conectar al servidor.' );
mysql_select_db('nombre base de datos', $conectar) or die('No se puede conectar con la base de datos.');
?>
y el sql:
CREATE TABLE `usuarios` (
`id` smallint(255) NOT NULL auto_increment,
`usuario` varchar(30) collate latin1_general_ci NOT NULL,
`contrasena` varchar(50) collate latin1_general_ci NOT NULL,
`correo` varchar(100) collate latin1_general_ci NOT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
Recordar que no esta bien acreditarse los codigos libres que se publican, solo pido eso, que no se acrediten los codigos, recordar que os estareis engañando a vosotros mismos ;)
Saludos
PD: Link de descarga (http://cristiantorrijos.com/Registrousuariosbyg2k.rar)
-
Buen trabajo, yo me lo leo y aprendo algo xD
Si hago algo parecido, lo posteare ;) (no copiaré, tranquilo xD)
KARMA+
-
xDDDD
Muchas gracias por el karma ;)
-
Buenas,
Está bien el script, es sencillito puede enseñar a mucha gente.
Buen aporte, otro karma + :)
Saludos, viciadillo! ajjaja
-
muy buen aporte G2K esto me va a venir bien para aprender mas de php. + karma xD.
Saludos...
-
:o muy bueno cristian, es sencillito y muy util.
Karma +
-
jejeje me alegra de que os sirva y sobretodo que a los que están empezando con el PHP, puedan aprender de una manera sencilla como es tener todo explicado paso a paso.
Un Saludo.
PD: Próximamente más tutoriales ;)
-
G2K muy buena idea!
Creo que mucho van a aplicarlo a sus webs :P
Karmita Plus :P
-
jejejej thank's ;) :P
-
o.0 mas tutoriales sigue asi y tendras mas karma xDjo e por cada tutorial te dan mucho karma xD.
Saludos...
-
Balita, no lo hago por el Karma... que consigo con el Karma? me paga naveda por tener más karma? :P no jejeje yo los tutos los hago porque ya que naveda esta bastante ocupadillo pues le quito faena, porque me entretengo y así ayudo a la gente principiante ;)
Pero siempre le anima a uno volver a hacer otro tuto si le dan karma ya que es señal de lo que estas haciendo, o trabajando para la comunidad no es trabajo en vano.
Un Saludo ;)
-
Oh.. Muchas gracias buscaba esto desde hace un buen tiempo no soy muyh bueno en php xD pero de verdad gracias
-
G2K esta muy bueno pero tengo una duda lo del sql como le llamaria a ese archivo?
-
Buenas,
Eso se sube al phpmyadmin, en la parte SQL, aunque podrías hacer un instalador...
include("conectar.php");
$sql = "EL create table...";
mysql_query($sql);
y así de simple...
Saludos :P
-
muchas gracias :P te daria mas karma pero no tengo 200 mensajes :P
-
hay que tener más de 20 mensajes...
-
son 20 o 200? yo lei en lo del karma que eran 200
-
En ves de hacer esto:
if(mysql_num_rows($comprovacion)==0){
#Buscaremos si hay errores y si los hay creamos la variable con el contenido adecuado
} else {
$error = "El nombre de usuario y/o el correo electronico ya a sido registrado";
}
Saldría mejor:
if(!mysql_num_rows($comprovacion)==0){
$error = "El nombre de usuario y/o el correo electronico ya a sido registrado";
}
son 20 o 200? yo lei en lo del karma que eran 200
Mejor dicho 25 mensajes
http://www.phperos.net/foro/index.php/topic,542.msg4311.html#msg4311
-
muchas gracias
-
Revancha si se puede hacer y el codigo podria haverlo simplificado mucho más... pero recuerda que lo hice lo más simple posible y comprensible para los principiantes ;)
-
Hola G2k me gustaria mucho como a mucha gente como crear un archivo para que si algun usuario pierde la contraseña que se le recuerde a traves de un frase o palabra clave e estado buscando pero no encuentro nada relacionado.
un saludo y gracias
-
Bueno primero decirte que no hagas copy paste del codigo directamente sino que intentes crearte un ANTI SQL INJECTION, si no quieres llevarte un buen susto.
Y el archivo de recuperación de contraseña pues no lo hice en su momento para no darlo todo masticado, aunque si quieres puedo ayudarte, pero debes empezar tu.
Aquí unos pasos para que empieces:
- Una pagina con un formulario para que introduzca su correo
- Cuando detecte si existe ese correo que le pregunte a su correo si quiere recibir la contraseña.
- Si es asi pues que clike el link y esa pagina con algun tipo de confirmación numerica pues que cree una nueva contraseña y la envie ;)
Si tienes algun problema comentalo.
Un saludo
-
Hola g2k he seguido mas o menos tus indicaciones y ayudandome de un tuto en php mas o menos me ha salido este archivo este seria para reconocer el nick pero no se crear para que se reconozca el nick o el e-mail
Este archivo seria recuperar_contraseña.php lo mas seguro que tenga errores pero en php no se tanto.
<font color="#000000" face="Verdana" size="1"><b>Recuperar Contraseña</b><br><br>Pon aqui tu nick o e-mail
<form action="" method="post" name="form" id="form">nick/e-mail
<input name="nick" type="text" id="nick" class="campo_min">
<input name="recordar" type="submit" id="recordar" value="Aceptar" class="boton">
</form>
</center>
Faltaria solo el archivo de cuando se a reconocido la contraseña pero no se mas :P
Un saludo
-
Esto es unicamente el formulario en php.
Has de hacer un num_rows del nick exacto y si equivale a 0 pues nada, si equivale a 1 significa que ese usuario existe y se le envia el mail ;)
Intentalo lo que puedas y yo te corrijo ;)
-
a partir del num_rows no e entendido nada podrias explicarlo mejor xP
se muy poco de php
un saludo seguire intentando cosas
-
Ahora estoy en clase cuando llegue a casa si me acuerdo te explico mejor ;)
-
creo q g2k lleva 2 dias sin ir a casa xD cuando tengas tiempo me sigues ayudado
gracias
-
Ups, sorry lo olvide... es que estaba liado con la programación de la Web de un club de futbol, de hecho aun estoy liado XD
-
suele ocurrir
no te preocupes cuando tu tengas tiempos me ayudas
-
Perdona no e podido hasta ahora... lo que tienes que hacer es:
- Formulario para introducir mail o nombre de usuario
- Si existe tal mail o tal usuario que genere un codigo automaticamente y se meta en la base de datos y a la vez ese mismo numero se envie por mail.
- En el mail que venga un link con la variable del numero a una pagina que busque en la tabla de donde el numero generado anteriormente y si coincide con el almazenado anteriormente para tal usuario pues que genere una nueva contraseña, la encripte, y la mande si encriptar por mail al usuario.
Entendiste ahora?
-
si entiendo mas o menos pero los pasos 2 y 3 no se como empezar a realizarlos
no se mucho de php
saludos
-
Intenta plantearlo... como pasar la idea que esta en el aire a PHP
Y te ayudaremos a continuar...
-
Muy bueno!
Me ha venido estupendamente ;) Gracias
-
Si te digo que te quiero... me creerás? Porque lo hago!!!
Aunque creas que no, esto me a ayudado MUCHÍSIMO... :D
Ahora por mi cuenta probaré de ponerle un sistema de puntos y ya se podría hacer un mini juego (es lo que tengo previsto ... xD)
-
XDDDD
Pues me alegra de que os sirva ;)
Pero no olvideis que la seguridad es lo más importante y os recomiendo poner un filtro anti sql injection ;)
-
Jajaj muy buenoo! Peroo.. para ponerlo en mi web tengo que poner "<iframe balba=ada>Que va aca?</iframe>" ayudame, si?
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/virtual/sitio######/www/usuarios/registrador.php on line 17
No se te a podido registrar, ¡¡¡sorry!!!
-
ami me dice :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/virtual/sitio152459/www/registrador.php on line 17
No se te a podido registrar, ¡¡¡sorry!!!
y esta todo bn configurado tb le e dado derechos 777
-
Aver traducido en de ingles a español
esto
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/virtual/sitio152459/www/registrador.php on line 17
seria esto en español
Atencion: mysql_num_rows(): no es un argumento valido MYSQL en el arhchivo registrado.php linea 17
o algo asi xddd
pon el codigo, esto creo que se ignifica que no haz puesto un Select FROM * bien o algo asi no se xddd
-
hola llevo dias investigando como hacer el recordar contraseña creo que es este el codigo
$testip = mysql_query("SELECT * FROM usuarios", $coneccion);
while ($testing = mysql_fetch_array($testip)) {
$ip = $_SERVER['REMOTE_ADDR'];
if ($testing[ip] == "$ip") {
$timme = date('YmdHis') - $testing[tiempo];
if ($timme <= 1500) {
$lokeado = $testing[usuario];
}
if ($timme > 1500) {
$sql = "update usuarios set ip = ''
where ip = '$ip'";
$result = mysql_query($sql, $coneccion);
}
if ($testing[admin] == "si") {
$admin = $lokeado;
}
}
}
si no es corrijanme
-
No he leido el sistema, pero me da ami que ese codigo no recuerda la contraseña...
Saludos
-
Prove el codigo y tenes razon no es para enviar la contraseña e aqui pongo uno me a costado emnos ya que me e ayudado de un manual php:
Este seria el archivo recuperar_pass.php
<html>
<head>
<title>Recuperar Contraseña</title>
</head>
<body>
<form action="enviar_pass.php" method="post">
Ingrese el mail con el que se regristro:
<input type="text" name="mail">
<br>
<input type="submit" value="Recuperar Pass">
</form>
</body>
</html>
Y aqui el enviar_pass.php:
<html>
<head>
<title>Nueva pass</title>
</head>
<body>
<?php
$conexion=mysql_connect("localhost","root","pass") or
die("Problemas en la conexion");
mysql_select_db("usuarios",$conexion) or
die("Problemas en la selección de la base de datos");
$registros=mysql_query("select codigo,nombre, pass
from usuarios where mail='$_REQUEST[mail]'",$conexion) or
die("Problemas en el select:".mysql_error());
if ($reg=mysql_fetch_array($registros))
{
echo "Nombre:".$reg['nombre']."<br>";
echo "pass:";
switch ($reg['pass']) {
case 1:echo "PHP";
break;
case 2:echo "ASP";
break;
case 3:echo "JSP";
break;
}
}
else
{
echo "No existe un usuario con ese mail.";
}
mysql_close($conexion);
?>
</body>
</html>
Si no me equivoco este te da la pass poniendo solo el e-mail del user pero no se como hacer que se lo envie a su e-mail
Si esta mal corrijanme.
saludos
-
No se si esta bien o esta mal, pero para que se le envie la contraseña al email debes añadir una funcion mail() en donde dice si esta todo correcto.. no se creo yo asi me dijeron a mi
-
esa funcion mail() en que linea la pongo y cual es esa funcion(codigo)
-
ola tio era x preguntarte que tengo k modifikar de el bloc de notas sql por que balla solo eso
-
mira solo tienes que modificar el conectar.php con los datos de tu base de datos
el sql tienes que introducirlo en tu base de datos para que se creen las tablas con sus respectivas celdas.
Un saludo ;)
-
jeje ok pero mira e smi primera vez en esto del php soy un "noob" xD como creo una base de datos O bd sql me podrias poner los pasos please :)
-
???
-
Debes tener un host.. que ya te proporcionará la base de datos.
Para empezar te aconsejo algo tipo:
www.phoneaccess.com
www.miarroba.com
o webs como esa... y ahí donde subes tus archivos ya en los datos te dirá el nombre de tu base de datos ;)
-
tengo una url iespana.es sirve ???
-
Mira en el php my admin creas una base de datos en la pag principal te sae un peqño form de un cuadro de texto, despues en la base creada le das a un botón que pone SQL que sale un form donde pones el SQL y aceptas y ale!
Lo demás es crear el usuario que tambien sale en la pag principal y le das nombre, contraseña y configuras el conectar.php con esos datos.
-
Pero como tio en el php my admin no entiendo :-\
-
Tio tienes que tener algun tipo de gestor de MySQL sino tienes sera porque no tienes MySQL y por tanto no podrias realizar las instalación del sistema de usuarios ;)
-
tengo mysql & sql pero n se como funcionan poodrias acerme mini tuto de como usarlo?
vuenos e como funciona un poko de sql pero de mysql no gracias :)
-
Haber, te e explicado como se hace desde el phpmyadmin, solo debes ir alli y hacer lo que te e dicho, así de simple ;)
-
Emm Muchas gracias G2K.. pero como voy empesando con esto de php quiziera saber si..
El registro puede quedar en otra base de datos.. bueno aqui les explico todo:
Yo tengo un retro y tengo una web pero si pongo el registro ese para la web, emm se tendrían que registrar en el retroserver ( Servidor de habbo ), y aparte en la web y yo pues seria mas facil para mi trabajar mas para que los habbitos solo se creen una cuenta en la web y ya queda en la base de datos de habbo
Se podria?..
Muchas gracias por su atención..
-
Si... claro en PHP casi todo es posible,
Deberias añadir los campos de mi registro de usuarios en la base de datos del servidor ese habbo que dices para que se guarde todo alli ;)
Te recuerdo de que busques tu propio metodo de evitar SQL injection ;)
Un saludo!
-
Lo hize normal pero me sale error con la base de datos..
<?php
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com
$conectar = mysql_connect( 'hosting.zymic.com', 'programas2_zxq_net_rick', 'nolareveloxD) or die('No se puede conectar al servidor.' );
mysql_select_db('nombre base de datos', $conectar) or die('No se puede conectar con la base de datos.');
?>
y en hosting.zymic e probado con localhost y no me sirve.. T.T
Alguien seria tan amable de ayudarme
-
mmm lo más normal es que tenga que aceptarte el "localhost", tambien puede que no sea un error de conexión sino que no has puesto la base de datos o algo por estilo... si me dices el error que te a salido quizás pueda ayudarte ;)
Un saludo!
-
Muchas gracias.Este tema me ha servido mucho.
Un favor.Me podrias decir como hacer el sistema de noticias ke yo lo hago y me pone que no conecta con mysql
-
q sistema de noticias utilizas?¿ Mira aver si necesitas un conectar.php aqui te dejo el código:
<?
$host = "localhost";
$user = "user";
$pass = "pass";
$dbname = "db";
$conecta = mysql_connect($host, $user, $pass) or die("No se puede conectar con el servidor MySQL.");
mysql_select_db($dbname, $conecta);
?>
Saludos
-
Tambien anda por el foro un tuto de noticias que cree yo y otro de naveda que aun esta muchisimo mejor que el mio xD
-
no as puesto la base de datos :S
-
Una pregunta...
El sql hay que ponerlo en cada archivo abajo?
O en otro archivo?
Esque yo no entiendo el sql expliquenmelo.
-
Sorry por el doble post.. 8)
Pero este registro de usuarios esta malo, he puestos mis Datos MYSQL bien, y cuando me registro me dice
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/virtual/sitio154838/www/registro_beta/registrador.php on line 17
No se te a podido registrar, ¡¡¡sorry!!!
-
Tu si que estas malo! jajajaja
Porque no subes a la base de datos el archivo sql? si no creas las tablas necesarias para el registro de usuarios dificilmente va a funcionarte...
-
SI SUBI EL ARCHIVO SQL --"
-
Seguro que has hecho algo mal, lo prove personalmente, la gente lo a podido revisar, hay gente que lo a aplicado a su Web y le funciona es decir el fallo es tuyo amigo :P ;)
-
Bueno no importa, me encontre otro registo de usuarios y me funciono a la perfeccion
Asi que este no me servio, gracias de todos modos :D
-
Mira, el registro de g2k ta perfecto por que a nadie menos a ti le ha dado problemas, nadie que lo haya hecho correctamente. Disculpa si te lo digo asi, pero con tu post pareces diciendo que el registro no sirve para nada, y la verdad que si sirve. Por que a parte de estar muy bien explicado, uno lo puede modificar sencillamente y es una guia si quieres hacer tu propio registro de usuarios.
-
G2K y Fede, buen aporte, k+!
-
mkas... aporte de Fede? XD
-
Poden poner el link bien? no me va.
-
coge los codigos y pegalos en archivos
-
:S me tira error
consulta SQL:
digo : CREATE TABLE `usuarios` (
`id` smallint( 255 ) NOT NULL AUTO_INCREMENT ,
`usuario` varchar( 30 ) COLLATE latin1_general_ci NOT NULL ,
`contrasena` varchar( 50 ) COLLATE latin1_general_ci NOT NULL ,
`correo` varchar( 100 ) COLLATE latin1_general_ci NOT NULL ,
UNIQUE KEY `id` ( `id` )
) ENGINE = MYISAM DEFAULT CHARSET = latin1 COLLATE = latin1_general_ci AUTO_INCREMENT =1
MySQL ha dicho:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'digo:
CREATE TABLE `usuarios` (
`id` smallint(255) NOT NULL auto_increment,
' at line 1
-
Perdon por el doble post.. pero ya lo solucione
ahora me tira otro cuando entro al index
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/a7422132/public_html/index.php on line 7
-
como lo haz cambiado?
-
Perdon por el doble post.. pero ya lo solucione
ahora me tira otro cuando entro al index
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/a7422132/public_html/index.php on line 7
Eso es que habras tocado el codigo, porque te puedo asegurar que funciona perfectamente, que lo hayas editado tu y falle eso ya es cosa tuya :P
-
Por eso mismo digo, que postee lo que ha cambiado aqui
-
Mi problema son las ""..
Porque yo agrego un texto mas.. y sierro el ", pero me tira error..
Miren.. yo ago esto:
<?
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com
if($_COOKIE['usuario'] and $_COOKIE['contrasena']){ #Comprovamos si existen las cookies, vamos que si estan o no logeados
echo"Hola ".$_COOKIE['usuario']."Vuelve luego.. ""<br>"; #Todo lo que se ponga aquí hasta el else se mostrara solamente si esta logeado
echo'<a href="salir.php">Salir</a>';
} else {
#Si no esta conectado le mostramos el logeador
echo'<form method="POST" action="entrador.php">
<p>Usuario:<br>
<input type="text" name="usuario" size="20"><br>
Contraseña:<br>
<input type="password" name="contrasena" size="20"><br>
<input type="submit" value="OK" name="OK"></p>
</form><br>
<a href="registrador.php">¡Registrate!</a>';
}
?>
-
y para que pones Vuelve luego""<br>"
Pon asi Vuelve luego...<br>
-
Pero donde pongo los ", porqu empiesa con " y tienen q terminar...
-
echo"Hola ".$_COOKIE['usuario']."Vuelve luego..<br>"; #Todo lo que se ponga aquí hasta el else se mostrara solamente si esta logeado
-
Gracias! jejeje
-
No hay de que ;)
-
seria mejor esto
include("conectar.php");
$sql = "EL create table...";
mysql_query($sql);
-
¿ de k hablas?
-
Creo que esta hablando de la forma de crear la base de datos...
-
Esta bien este servicio de login pero tengo una duda,
Yo me he creado un archivo para cambiar los datos de una base de datos y añadir datos y eso, pero yo quiero que esos archivos solo los vea quien pone una contraseña y un usuario, ¿como lo hago?
-
pues hay varias formas de hacerlo, si quieres puedes crear un campo mas en la base de datos que se llame "datos" o algo asi, y desde la base de datos cambiar en la fila del usuario que se desea que tenga ese privilegio, poner "si", luego arriba del codigo del archivo que quieres que sea permitido solo para los usuarios privilegiados poner algo asi
<?php
include('conectar.php');
if($_COOKIE['usuario'] && $_COOKIE['contrasena']) { // Se comprueba si existen las cookies
$select = mysql_query("SELECT * from usuarios WHERE usuario='".$_COOKIE['usuario']."'");
$row = mysql_fetch_array($select);
if(!$row['datos'] == "si") { // Si en el campo datos NO dice "si"
echo"Debes estar privilegiado para ver esta página.";
} else {
// resto del código
// Y al final de la página debes poner esto
} // Cerramos el último else
} else { // Si no hay cookies
echo"Nisiquiera eres un usuario! Logueate como admin!";
}
?>
Se que hay formas más rápidas para hacerlo, pero para mi esta es la mas simple, otra cosa.. tal vez no funcione al 100% ya que lo hice rápidito xD si hay algo mal avisen para editar el post de una vez! Espero ayudar!
-
Muy buen registro, espero que no cierren el topic simplemente quiero agradecer y preguntar.
Si al un usuario estar registrado se loguea en que página aparece
-
Solucionado: Gracias Por Este Post, me Sirvio Muchisimo!
-
muy bueno esta piola
-
Buenas mira, <?php
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com
$conectar = mysql_connect( 'localhost', 'usuariodb', 'contradb') or die('No se puede conectar al servidor.' );
mysql_select_db('nombre base de datos', $conectar) or die('No se puede conectar con la base de datos.');
?>
En este codigo, no hace falta para poner la database?
Estoy acostumbrado a este tipo de conectar.php
<?php
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com
<?
$host = "localhost";
$user = "user";
$pass = "pass";
$dbname = "db";
$conecta = mysql_connect($host, $user, $pass) or die("No se puede conectar con el servidor MySQL.");
mysql_select_db($dbname, $conecta);
?>
¿Tambien vale para el sistema de usuarios?
Ahora me pondré a estudiar todo el sistema de usuarios, asi voy aprendiendo
Un saludo
-
Hola Madness,
Ambos codigos son equivalentes, la unica diferencia seria que en el segundo estas creando unas variables que quieras o no, gastan un poco de memoria y no tienen utilidad alguna, y tampoco te saldra ningun mensaje en pantalla si no selecciona la base de datos, es mas, generaria una pila de errores porque no para la ejecucion del archivo en ese punto.
Ambos codigos funcionarian de igual forma, pero el de arriba es mas correcto.
Saludos
-
Ah de acuerdo
Ya se donde poner los datos, un saludo y gracias.
-
una duda
q pongo o como hago en la part del sql?
-
Tienes que añadir una tabla con el código ese.
No te fies mucho de mí xD
-
Dudas:
El código del php donde se pone. (si, en la base de datos, pero donde)
Y el MySQL?
-
el codigo php se sube mediante un programa ftp a tu servidor y el primer codigo q sale en este tutorial en el q creas una tabla llamada usuarios la subes a tu msql
Saludos
-
mi duda es
es como instalar un smf?
-
q tiene q ver el registro de usuarios de g2k con un smf??
Saludos
-
solo pregunto xq si es la misma base de datos y esas cosas
-
Yo recomendaria hacerlo por sesiones.
-
En realidad no importa demasiado.
Yo recomendaria usar una combinacion de las dos.
Mas informacion de cookies o sesiones:
http://www.phperos.net/foro/index.php/topic,2978.msg21911.html#msg21911
Saludos
-
Muchas racias por el tutorial! Me ha ayudado mucho, ahora lo que quiero es crearme un sistema de puntos, ah, también perfiles y eso.
Gracias ^^
-
Muy bueno el tutorial :)
-
ola, muy buen tuto pero tengo un problema tengo todo bien pero cuando ya comprobe qe existen las COOKIES y qe estan bien en el echo"aqui"; no puedo poner imagenes pongo alguna imagen y me da un error no se porqe la pagina se me qeda en blanco aqui mi archivo
<?
if($_COOKIE['usuario'] and $_COOKIE['contrasena']){ #Comprovamos si existen las cookies, vamos que si estan o no logeados
echo"<img border="0" src="http://www.habborules.com/font/index.php?text=hola&folder=46&space="/> <img border="0" src="http://www.habborules.com/font/index.php?text=".$_COOKIE['usuario']."&folder=46&space=/><br>";
echo'<a href="salir.php">Salir</a>';
} else {
#Si no esta conectado le mostramos el logeador
echo'
<form method="POST" action="entrador.php">
<p align="center"><img src="http://habboart.com/archive/imgs/icons/Small_icons/v20_7.gif" alt="Usuario"> <input type="text" name="usuario" size="14"><br><br>
<img src="http://habboart.com/archive/imgs/icons/Small_icons/new_14.gif" alt="Contraseña">  <input type="password" name="contrasena" size="14"><br><br>
<input type="image" name="Submit" id="Submit" src="http://www.habborules.com/j/images/index_57.png">
</form><br></br>
<a href="registrador.php" target="_blank"><img src="http://www.habborules.com/j/images/reg.png" border="0"></a>';
}
?>
tambien eh notado qe con el plugin de firefix llamado "Live HTTP headers" puedes ver la contraseña en MD5 y con una web como gdata las desencriptas, afecta en algo???
intente encriptarlas con el sistema qe diejeron en la pagina 5 o 6 de este tema pero no funciono, me podrias ayudar?? porfa
-
Hacia muchisimo tiempo que no me pasaba por este post... la verdad es que me he quedado sorprendido al ver (Leído 8292 veces), cuando cree el tuto no crei que fuera a tener tanto exito, la verdad que a uno le anima ver como a otra gente le sirve de utilidad algo que he hecho.
Un saludo y gracias a todos ;)
PD: HooKiPo NO entiendo cual es tu problema :S
La encriptación mediante MD5() es indescifrable, hasta el momento creo que nadie lo ha conseguido excepto en fuerza bruta que de esa manera se puede petar todas las contraseñas
-
Hola,
Hay dos formas de saber la palabra sin encriptar a partir del hash con MD5.
Una es como tu has dicho con fuerza bruta, y la otra es con algunas webs que almacenan en su base de datos tanto la palabra sin encriptar como encriptada, y entonces al introducir tu el hash MD5 te dan la palabra sin encriptar. La forma para evitar el segundo método es añadir alguna string al inicio de la palabra a encriptar, o encriptar mediante md5 un numero X de veces.
Si haces esos cambios, HooKiPo, ya no te lo podrán desencriptar.
Saludos
-
Si también conocia dichas Webs... pones una palabra encriptada y busca en la base de datos a ver si esta ya metida, si esta te muestra desencriptada y sin envargo metes una sin encriptar te la muestra encriptada y se la guarda en la base de datos...
Es una de las Webs que me dan rabia, porque para la gente que las usa es util pero la gente que manipula esas Webs para el puede llegar a ser una gran arma... siento haberme desviado del post pero es sobre el tema de MD5
-
ay les va mi problema,
<?php
if($_COOKIE['usuario'] and $_COOKIE['contrasena']){
echo"aqui!! es donde no puedo poner imagenes, las pongo con html y me marca error, no me muestra nada se me qeda en balnaco la pagina";
echo'<a href="salir. php">Salir</a>';
} else {
echo'
<form method="POST" action="entrador. php">
<p align="center"><img src="hxxp: habboart. com/archive/imgs/icons/Small_icons/v20_7. gif" alt="Usuario"> <input type="text" name="usuario" size="14"><br><br>
<img src="hxxp: habboart. com/archive/imgs/icons/Small_icons/new_14. gif" alt="Contraseña">  <input type="password" name="contrasena" size="14"><br><br>
<input type="image" name="Submit" id="Submit" src="hxxp: www. habborules. com/j/images/index_57. png">
</form><br></br>
<a href="registrador. php" target="_blank"><img src="hxxp: www. habborules. com/j/images/reg. png" border="0"></a>';
}
?>
la imagen qe quiero es esta y otras parecidas
<img border="0" src="http://www.habborules.com/font/index.php?text=".$_COOKIE['usuario']."&folder=46&space=/>
-
prueba en vez de echo "" con comitas dobles hazlo con simple echo ''
-
Me gustó mucho este tutorial y aprendí mucho, muchas gracias.
-
Yo soy novato con PHP y SQL y no se como meter lo que pone en la parte del sql del tutorial a la base de datos MYSQL
-
Eso es facil mi buen amigo, ingresas a la base de datos por phpMyAdmin, seleccionas la base de datos, y en el menú de la izquierda, arriba de todo tenes un botoncito que dice SQL, le haces clic y se te abre una ventanita, hay pones el código SQL y le das a enviar, y ya queda :D
-
:) bien me gusto Iva con ansias y todo pero cuando subo el sql nose dise error algo haci
Error
consulta SQL:
CREATE TABLE `usuarios` (
`id` smallint( 255 ) NOT NULL AUTO_INCREMENT ,
`usuario` varchar( 30 ) COLLATE latin1_general_ci NOT NULL ,
`contrasena` varchar( 50 ) COLLATE latin1_general_ci NOT NULL ,
`correo` varchar( 100 ) COLLATE latin1_general_ci NOT NULL ,
UNIQUE KEY `id` ( `id` )
) ENGINE = MYISAM DEFAULT CHARSET = latin1 COLLATE = latin1_general_ci AUTO_INCREMENT =1;
MySQL ha dicho: Documentación
#1050 - Table 'usuarios' already exists
:L ojalas me ayudaras ???
-
Eso dice que la tabla usuarios ya existe, así que si la que tenes no te sirbe, borrala, o si es igual a esa, usa la que ya tenes
-
ME LEI ESTE CODIGO Y TENGO UNA DUDA EN EL
$error = "El nombre de usuario y/o el correo electronico ya a sido registrado";
}
} else {
$error = "Las contraseñas que nos a proporcionado no coinciden";
}
Como sabe php a cual pertenece cada error?
-
x los else
if($var != 1) {
if($var == 2) {
echo 'var es igual a 2!';
} else {
echo 'error! var no es 2';
}
} else {
echo 'error! var es igual a 1!';
}
-
Mmmm... mira este código:
$uno=1;
$dos=2;
if($uno == $dos){
echo "1 es igual a 2"; //esto sería un resultado positivo
} else {
echo "1 no es igual a 2"; //esto sería un resultado negativo
}
-
Lo lei todo y se me aclararon bastantes dudas que tenia, gracias ahora tengo un poco mas claro algunas cosas de PHP.
Un pequeño problema, pongo los datos bien y me sale este error en el conectar. php. . .
Warning: mysql_connect() [function. mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\Documents and Settings\****\****\xampp\htdocs\conectar. php on line 2
No se puede conectar al servidor.
Uso xampp. . .
-
Si sale ese problema es porque no has puesto los credenciales correctos para acceder al servidor MySQL.
Revíselo :)
Saludos
-
Si sale ese problema es porque no has puesto los credenciales correctos para acceder al servidor MySQL.
Revíselo :)
Saludos
Perdon esta pregunta, pero no se tanto de MySQL ni de PHP. . .
¿Como credenciales? ¿Los datos?
Perdon ya lo repare, resultaba que ponia una de las letras de la password con mayusculas ::)
-
Sí, cuando digo credenciales quiero decir el usuario y la contraseña :)
Saludos
-
Perdona a mi no se me conecta a SQL (en miarroba)
-
capaz que has puesto los datos mal o no has llamado al archivo correctamente, aparte, que error sale? o sale la web en blanco directamente?