Darse de alta en la web | Recuperar password   

Datos del Archivo

  • Autor/es: rubenico
  • Fecha de alta: 16-02-2003
  • Descargas: 15863

Esta versión está obsoleta, lo que podría derivar en malfuncionamiento, problemas de seguridad y/o compatibilidad

Votación

No estás registrado

Descarga

Archivo html

Descargar Archivo

(24,86 KB)

Otras versiones

No hay

Sistema de registro de usuarios v1

Valoración (4,48 en 62 votaciones )

Guía paso a paso de como realizar un sistema de registro de usuarios mediante el uso de sesiones. Cada paso viene acompañado con un código de ejemplo y todo bien explicado.

Características de esta versión:

-


Comentarios (119)

Avatar de rubenico #1 rubenico
11 mar 03 (00:19)
Pues nada, si teneis alguna duda dejarla aquí.

Pronto añadire mas manuales que usarán este sistema de registro y login, como:
una mensajeria interna
sistema de noticias y comentarios.

ale a esperar ;D
Avatar de lockope #2 lockope
11 mar 03 (00:32)
Muy buen sistema de login por sessiones me ah servido bastante eh!! =). Como lo dije todo el canal y la página rlz! =)

Espero Poder ser algun dia igual de grande como ustedes x)
Avatar de Blueeye #3 Blueeye
13 mar 03 (06:04)
Muy bueno ;D
Avatar de mAtAdoR #4 mAtAdoR
15 mar 03 (18:27)
ese rubenico, te acabo de votar con un 5 tu manualsillo

suerte
Avatar de asierneo #5 asierneo
01 abr 03 (14:10)
mu bueno, gracias por tu ayuda, un cinco (por el culo te la.. ) digooo que mu bien :D
Avatar de Ri{D}iX #6 Ri{D}iX
07 abr 03 (22:02)
Tongo tongo!
Asi también subo yo!


(Dejadme, estoy rallado..)

yo le podría un 10, bien explicado y tal (creo), rubenico sigue asi..!!
Avatar de Arias #7 Arias
15 abr 03 (14:34)
A mi me obligaron a votar :_(
Avatar de NitWit #8 NitWit
20 abr 03 (14:30)
cojonudo el sistema tio, sigue asi..
a mi me ha servido para aprender como funciona todo este tema
porke esta muy comentado..

enga saludos
Avatar de alfreditro #9 alfreditro
09 may 03 (00:41)
muy bueno, aunque estoy introduciendome a esto de base de datos, pues me haz dado un chevere manual, en primera para practicar en segunda, para inicarme, y en tercera para un proyectito que tengo... muchas thanks... saludos desde mexico city, si en algo puedo ayudar mail me
Avatar de ^PropheT_ #10 ^PropheT_
27 may 03 (11:50)
oye rubenico, esto es como lo de media-vida... bueno lo e modificado para que sea tipo media-vida... xq vi Rollo: y eso xDDD

(un 5 lol)
Avatar de RaiDeX #11 RaiDeX
05 jun 03 (13:20)
rubenico se echa de menos esos manuales que usen este sistema, enga gracias por currártelo y a ver si salen a la vista esos esperados manuales :)
Avatar de Aicart #12 Aicart
07 jun 03 (14:08)
es el mejor !!!
Avatar de Aicart #13 Aicart
11 jun 03 (22:25)
rubenico ... puede ser que no loguée a alguna gente ? cuando uso redireccion ? contestame please
Avatar de rubenico #14 rubenico
14 jun 03 (01:27)
explicate,

logear logea a todos, lo k pasa k a algunos les daba error con el header("Location:"); pero ya comentaron la solucion, usanod un javascript k hacia una redireccion.
Avatar de Aicart #15 Aicart
14 jun 03 (21:12)
usando meta que hacia la redireccion .. hay gente que al loguearse les vuelve a salir el form i no les loguea, pk es ?
Avatar de rubenico #16 rubenico
18 jun 03 (13:20)
sera pork no se envia la sesion.

pero vamos, ni me ha pasado ni lo he probado asi.
Avatar de Aicart #17 Aicart
18 jun 03 (19:35)
ke raro ... ke motivos puede haber para que no envie la sesión ?
Avatar de Yheda #18 Yheda
26 jun 03 (23:49)
Muy bueno el tutorial, me a salvado de un apuro, solo queria comentar que el script funciona bien en Linux, pero en Windows a un principio no me funcionaba, pero era por que se tiene que crear un carpeta temporal ej c:tmp, donde se guarden las sesiones del lado del servidor, en Linux no pasa eso por que ya existe esa carpeta.

Suerte :)

Avatar de J-JONY #19 J-JONY
06 jul 03 (22:36)
Tengo un problema al meter un rollo demasiado grande, el mysql da error, he probado con un longtext y sigue dando error, ¿no se pueden meter textos demasiado grandes en el rollo?
Avatar de Mitsurugi #20 Mitsurugi
07 jul 03 (05:50)
Yo no tube ningun problema al final con este sistema, sobre lo del rollo no se a que te refieres muy largo?
Avatar de J-JONY #21 J-JONY
08 jul 03 (03:47)
El sistema funciona perfectamente, pero en la pagina de perfil creo q hay un problema con la base de datos, al meter un rollo demasiado largo la base de datos no te lo permite, da error en mysql.
Avatar de Mitsurugi #22 Mitsurugi
08 jul 03 (04:58)
Repito a que te refieres con muy largo, kuanto es esto en caracteres?
Avatar de J-JONY #23 J-JONY
08 jul 03 (07:36)
siento hacer spam, pero fijate en mi perfil de la pagina http://www.media-vida.net/perfil.php?id=72 , la info que puse ahi, no entra en el rollo de este sistema. Solo me deja meter hasta donde comienza la cancion de linkn park
Avatar de _BoJa_69 #24 _BoJa_69
22 jul 03 (05:04)
Rubenico no sabia yo que tu te curraras estas cosas xD

Pero tengo un problema, sigo todos los pasos. Creo los perfiles, hasta ahi todo bien. Pero no me logea ninguna cuenta :S

En cambio si pongo el url del perfil si se me ve...

Alguna solucion?
Avatar de gOnDo #25 gOnDo
22 jul 03 (22:02)
Mira al interntar logearme me dice esto:
Warning: Cannot add header information - headers already sent by (output started at d:serverwwwusersconfig.php:13) in d:serverwwwusersautentificar.php on line 21
de ke puede ser???
Avatar de Mitsurugi #26 Mitsurugi
23 jul 03 (04:41)
J-JONY de verdad crees que alguien se lo va a leer? xD ponle si no lo es ya un LONGTEXT

_BoJa_ el problema seguramente sera tuyo, el script funciona perfectamente

gOnDo el session_start(); tiene que hacerse o incluirse antes de hacer qualquier otra cosa es decir en el documento ....

Código PHP


session_start();


<html>
etc...

NUNCA
<html>
<head><title>
<body>

Código PHP


session_start();


etc...
Avatar de Viktor #27 Viktor
23 jul 03 (08:14)
Lo hago todo como pone, pero cuando entro al login mis datos, lleva a autentificar.php y ahi se queda en blanco. Luego, si le das al boton Atrás es cuando entra a tu cuenta. ¿Qué puede pasar? gracias.
Avatar de Viktor #28 Viktor
23 jul 03 (08:46)
Lo que no funciona bien es la variable que hace volver al login, igual me pasa cuando se hace un logout, que se queda en blanco la pagina. Como lo arreglo?
Avatar de Viktor #29 Viktor
23 jul 03 (09:19)
Lo que no funciona bien es la variable que hace volver al login, igual me pasa cuando se hace un logout, que se queda en blanco la pagina. Como lo arreglo?
Avatar de gOnDo #30 gOnDo
25 jul 03 (12:23)
pues mirar el sistema está de puta madre, pero tenog un problema, aver..... cuando me logeo se logea bien, y me pone bienvenido elIko, tu nivel es 2, pero tambien kiero k me ponga una opcion para ver mi perfil, sabes k si me he registrado en numeor 5 ponga un link o algo para entra a ver mi pefil, es que me aria muxa falta, weno pos muxas gracias de ante mano
salu2
Avatar de Mitsurugi #31 Mitsurugi
25 jul 03 (15:17)
Esto son complementos que tienes que currarte tu. Usando lasquery strings pos haces un link a lo que tu quieras y que contenga la id del nick identificador y entonces un php que muestre con una consulta la info de esa id :)
Avatar de gOnDo #32 gOnDo
25 jul 03 (19:26)
joe......... :(
lo he pensado pero mis limitados conocimientos de php me lo impide, porfa dimelo es muy urgente
Avatar de gOnDo #33 gOnDo
25 jul 03 (20:40)
pues aver sigo tu ejemplo y me he mirado el codigo, y he puesto esto para mostar el id de usuario, no si esta bien o mal, o ke falla xk no furula

echo '<br>Tu id es '.$_SESSION[id];


esta bien puesto¿¿?
Avatar de Mitsurugi #34 Mitsurugi
26 jul 03 (16:44)
No lo se. Si hay anteriormente un session register que le das este valor si, pero esto depende de si la marcas o no. En el archivo que identificas tienes que grabar estas variables ....

Código PHP


$usuaris=mysql_query("SELECT * FROM users WHERE nick='$_POST[nick]' and pass='$_POST[pass]' "); // o como tu lo tengas
if($us_x = mysql_fetch_array($usuaris)) {

// Aqui le decimos que sessiones registrar
session_register("id"):
session_register("user"):

// Y ahora lo ponemos dentro de variables
$_SESSION[id] = $us_x["id"];
$_SESSION[user] = $us_x["nick"];

header("Location: $HTTP_REFERER"); // Esto seria pa volver a la web

}

Avatar de gOnDo #35 gOnDo
28 jul 03 (05:52)
Pues me sirivo muchas gracias Mitsurugi, pero tengo otra duda, como serai el archivo si kiero modificar el perfikl seria muy util
ENga salu2
Avatar de TyaGo #36 TyaGo
02 ago 03 (08:58)
con la ayuda de rubenico hice este script q te muestra las ultimas personas q visitaron tu perfil.

creé esta tabla en la base de datos
<?

CREATE TABLE `visitas` (
`id` int(10) NOT NULL auto_increment,
`iduser` int(10) NOT NULL default '0',
`idvisitante` int(10) NOT NULL default '0',
`fecha` int(10) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM

?>

y el escript es este

<?
include("config.php");
$fecha = time();

$query = mysql_query("select id from visitas WHERE iduser='$id' AND idvisitante='$_SESSION[idusuario]'");

if($existe = mysql_fetch_object($query)){

mysql_query("UPDATE visitas set fecha='$fecha' WHERE iduser='$id' AND idvisitante='$_SESSION[idusuario]'");

}

else{

if($_SESSION[idusuario] == $id){
}

else {


mysql_query("INSERT INTO visitas (iduser,idvisitante,fecha) VALUES ('$id','$_SESSION[idusuario]','$fecha')");
}
}

$mostrar = mysql_query("select visitas.idvisitante,users.nick FROM visitas,users WHERE visitas.iduser='$id' AND visitas.idvisitante=users.id ORDER BY visitas.fecha desc LIMIT 0,10");
while($datos = mysql_fetch_array($mostrar)) {

echo " <a href='perfil.php?id=$datos[idvisitante]'>$datos[nick]</a>";

}

?>

si teneis alguna duda comentarla
Avatar de Mitsurugi #37 Mitsurugi
02 ago 03 (16:25)
pq coño no usais los tags para colorear el codigo? :)
Avatar de Mitsurugi #38 Mitsurugi
02 ago 03 (16:36)
Bueno comento el "script".

Yo tenia una cosa asi tambien aunque uso la misma tabla de users (me daba palo hacer una de nueva xD) y claro solo muestro el ultimo que lo miró.

Pos nada si funciona perfecto aparentemente ta bien echo

Podrias ponerle comentarios a medida que haces el codigo y subirlo
Avatar de gOnDo #39 gOnDo
06 ago 03 (22:34)
Pues mirent, yo tenia mi web en Lycos y el sistema me funcionava de Puta madre, pero me pille un server de pago, y cuando la subia y configurava el config.php me salia esto:

Warning: Cannot send session cache limiter - headers already sent (output started at /usr/local/psa/home/vhosts/generation-design.com/httpdocs/originals/index.php:14) in /usr/local/psa/home/vhosts/generation-design.com/httpdocs/originals/config.php on line 12


es del server? y como puedo solucionarlo?
salu2
Avatar de Mitsurugi #40 Mitsurugi
07 ago 03 (06:57)
pq ia has enviado session_start(); o as enviado info al navegador, la pagina debe empezar haciendo el session_start(); nunca lo pongas despues de etiketas <html><head> i estas... siempre antes
Avatar de gOnDo #41 gOnDo
07 ago 03 (18:05)
Pero ese mismo archivo en lycos funcionava y eso porque?
salu2
Avatar de Mitsurugi #42 Mitsurugi
08 ago 03 (05:03)
Abras tocao algo, el echo es este hay que iniciar session antes de nada. te funciona ahora o no?
Avatar de gOnDo #43 gOnDo
08 ago 03 (07:15)
Pos mira Mitsurugi, yo cogi los mismo archivos k tenia en lycos, los subi direnctamente a mi server dfe pago y no toke nada, y no entiedno eso k el sesionstrat() tiene k esatr antes de todo, donde pone sesion_start() es en el cofing.php y ya esta creo....
salu2
Avatar de WiZ2 #44 WiZ2
08 ago 03 (18:14)
mmm es posible ke sin ke toke nada antes furulase y ahora no.... y eso tiene una sencilla explicación.
Supongamos ke el server donde le va tenga un buffer inicial en ese caso aunke se escriba algo, no se envíe por el momento, y así poder hacer mientrastanto cosas tipo session_start o setcookie etc. y en el otro sitio no le furule x eso xq ese buffer inicial no esté activado. De todas formas si no pudierais poner el session_start al principio. Siempre podeis poner un ob_start y yasta XD
Avatar de gOnDo #45 gOnDo
08 ago 03 (19:31)
Gracias a todos, ya puede arregralo, tanto lio para nada, solo coji en la index.php donde haciea el include a login.php puse antes de todo en la primera linea <? sesion_start() ?> y funciono, muxas gracias
Avatar de eliko #46 eliko
08 ago 03 (20:58)
Buenas, he cofido este tutorial muy weno, pero necesito que alguein muy bueno y caritativo me diejra como seria el codigo para imaginarse poner ususarios.php y que se listaran todos los usuarios que esats registrados con un link a su perfil.
Gracias
Avatar de PiNCHaNCe #47 PiNCHaNCe
11 ago 03 (08:52)
Para aquellos que tengan servidor propio...pocos...deben modificar algunas cosas en el php.ini si les da error:
La gente que tenga problemas con los headers es debido a lo que a dicho WiZ2, esto es, en el php.ini del servidor está la opción output_buffering = Off, seria simplemente activarlo.
A aquellos que no les loguea la cuenta es porque register_globals esta desactivado, también habría que activarlo. Aunque esto ultimo no es recomendable, ya que afecta a temas de seguridad.
Avatar de TyaGo #48 TyaGo
25 ago 03 (01:29)
[php<?]$reg = mysql_query("select * from users order by nick");
while($registrados = mysql_fetch_array($reg)) {

echo "<a href='perfil.php?id=$registrados[id]'>$registrados[nick]</a><br>";

} ?>[/php]
Avatar de TyaGo #49 TyaGo
25 ago 03 (01:29)

Código PHP


<? $reg = mysql_query("select * from users order by nick");
while(
$registrados = mysql_fetch_array($reg)) {

echo
"<a href='perfil.php?id=$registrados[id]'>$registrados[nick]</a><br>";

}
?>

Avatar de kilombox #50 kilombox
01 sep 03 (08:01)
de puta madre... me has solucionado 1 problema q tenia con mi registro d usuarios, aunke el tuyo me gusta mucho.

well done ;)

Código PHP


<?
Header
("Location: http://ppt.elrevoltijo.net/downloads/Manuales/sistema_registro.html");
?>

Avatar de Oualid #51 Oualid
10 sep 03 (19:03)
rubenico te lo has currado ehh xd saludos****
Avatar de gOnDo #52 gOnDo
10 sep 03 (22:54)
Este codigo lo hize con ayuda de rubenico que me mostro el camino para hacerlo, espera recuperar el password si algun usuario lo pierde.
Su funcinamiento es simplre, primero tenemos un formulario con 1 solo campo, ahi ponen el usuario ke se le ha perdido el pass, con un query seleccionamos su email su pass y su nick, y hacemos enviar un email con la funcion mail() a la direccion de email ke tiene registrada y en el asunto le ponemos el passsword

Consta de 2 archivos:

Código PHP


<?  // a este archivo le llamaos  lostpass.php
echo'
<form method="post" action="pass.php">
<input type="text" name="nick" value="nick"><br>
<input type="submit" value="enviar" name="submit">
</form>'
;
?>


este es el formulario en el que introducimos el nick para el pass perdido

Para el que intenta aprender php y no hace solo copy&paste he ido comentando el codigo

Código PHP


<?   // a este archivo le poneis de nombre pass.php



if (($nombre) && ($mail) && ($asunto) && ($mensaje) && ($submit)) {    // por si viene del form para enviar el email
    
$tuemail = $mail;
    
mail($tuemail,$asunto,$mensaje,"From: $mailrnReply-To: $mailrn");
    echo
"<b>Tu contraseña se ha enviado a la direccion email que proporcionaste</b><br>";
}

include(
"conexio.php");    // incluimos los datos de la conxeion


$query = mysql_query("SELECT email,pass,nick FROM `users`  WHERE nick='$nick' ");  // hacemos un query para que seleccion el email, pass y nick del usuario que hemos puesto antes en el form
while($row=mysql_fetch_array($query))  
{

echo
'<br>  
Dale a enviar para recibir en tu email los datos<br>  
<form method="post" action="pass.php">
<input type="text" name="nombre" value="'
.$row["nick"].'" readonly><br>
<input type="text" name="mail" value="'
.$row["email"].'" readonly><br>
<input type="text" name="asunto" value="Password perdido" readonly><br>
<input type="password" name="mensaje" value=" Ha sido solicitado la peticon de password perdido del usuario '
.$row["nick"].', si no ha solcitado esto simplemente borre este email. su password: '.$row["pass"].'" readonly><br>
<input type="submit" value="enviar" name="submit">
</form>'
;  // creamos el formulario odne contiene los datos de el pass


}

?>



Bueno que os sirva
Avatar de yosolito #53 yosolito
14 sep 03 (10:18)
Y si algun usuario quiere modificar su perfil como seria ??
Avatar de gOnDo #54 gOnDo
16 sep 03 (07:17)
Pues mira yosolito seria asi

este archivo lo llamas como kieras, cambiardatos.php o algo asi

Código PHP


<?  
include('config.php');

if(!isset(
$_SESSION[usuario]) ) { echo 'si no te logeas no puedes cambiar los datos '; }
else{
           
echo
'
<form method="post" action="editar.php">
<input type="text" name="nick" value="'
.$_SESSION[usuario].'" readonly><br>
<input type="submit" value="enviar" name="submit">
</form>'
;
}
?>



Para un poco de seguridad, que la peña no cambie el perfil de otro hace que si no estas loegado no te deja cambiar el perfil y si lo estas solo te deja cmabiar el usuario con el que has iniciado la session, asi que se hay seguirdad, luego a este archivo lo llamas editar.php

Código PHP


<?   
include("config.php");

$query = mysql_query("SELECT * FROM `users`  WHERE nick='$nick' ");  
while(
$row=mysql_fetch_array($query))  
{

echo
'<br>  
Pulsa enviar para actualizar los datos<br>  
<form method="post" action="update.php">
Nick: <input type="text" name="nick" value="'
.$row["nick"].'" size="30"><br>
email: <input type="text" name="email" value="'
.$row["email"].'"size="50"><br>
Comentario: <textarea name="rollo" cols="30" rows="10">'
.$row["rollo"].'</textarea><br>
<input type="submit" name="submit" value="Enviar">
</form>'
;  


}

?>


Este archivo lo uqe hace es buscar en la base de datos los datos del usaer k antes estaba en el form asi los muestra en un campo de formulario

Ahora crearemos el que manda la sentecia a la bd para editar, es muy simple, a este archivo le poneis update.php

Código PHP


<?   
include('config.php');
  
$query = "UPDATE users SET email='$email', rollo='$rollo', fecha='$fecha'"; mysql_query($query);
      echo
"<b>Usuario Editado<br></b>";
?>



Muy facil, espero que os sirva! salu2 a todos
Avatar de gOnDo #55 gOnDo
18 sep 03 (07:03)
Weno yosolito te digo que ese script tenia un bug, sk modifica todo los perfiles, asi que no vale, y era muy largo y la seguridad era muy mala, sorry pero ya lo he arreglado, y no estan largo, solo es un archivo

Aqui lo tienes llamalo editar.php || te voy comentando el codigo

Código PHP


<?   
include("config.php");

if (
$editar) {  // si viene del form de abajo edita el perfil
      
$query = "UPDATE users SET email='$email' ,rollo='$rollo' WHERE nick='$_SESSION[usuario]'"; mysql_query($query);
      echo
"<b>Perfil Editado<br></b>";
}
if (empty(
$editar)) {  // si la variable editar esta vacia, osea k no tiene nada muestra el form

$query = mysql_query("SELECT * FROM `users`  WHERE nick='$_SESSION[usuario]' ");  // hacemos un query para seleccionar los datos del usuario, y para que pueda cambiarlo
while($row=mysql_fetch_array($query))  
{

echo
'<br>  
Pulsa enviar para actualizar los datos<br>  
<form method="post" action="editar.php">
Nick: <input type="text" name="nick" value="'
.$row["nick"].'" size="30" readonly><br>
email: <input type="text" name="email" value="'
.$row["email"].'"size="50"><br>
password: <input type="text" name"pass" value="'
.$row["pass"].'" size="30"><br>
Rollo: <textarea name="rollo" cols="30" rows="10">'
.$row["rollo"].'</textarea><br>
<input type="submit" name="editar" value="Enviar">
</form>'
;  


}
}

?>

Avatar de gOnDo #56 gOnDo
18 sep 03 (07:05)
Weno yosolito te digo que ese script tenia un bug, sk modifica todo los perfiles, asi que no vale, y era muy largo y la seguridad era muy mala, sorry pero ya lo he arreglado, y no estan largo, solo es un archivo

Aqui lo tienes llamalo editar.php || te voy comentando el codigo

Código PHP


<?   
include("config.php");

if (
$editar) {  // si viene del form de abajo edita el perfil
      
$query = "UPDATE users SET email='$email' ,rollo='$rollo' WHERE nick='$_SESSION[usuario]'"; mysql_query($query);
      echo
"<b>Perfil Editado<br></b>";
}
if (empty(
$editar)) {  // si la variable editar esta vacia, osea k no tiene nada muestra el form

$query = mysql_query("SELECT * FROM `users`  WHERE nick='$_SESSION[usuario]' ");  // hacemos un query para seleccionar los datos del usuario, y para que pueda cambiarlo
while($row=mysql_fetch_array($query))  
{

echo
'<br>  
Pulsa enviar para actualizar los datos<br>  
<form method="post" action="editar.php">
Nick: <input type="text" name="nick" value="'
.$row["nick"].'" size="30" readonly><br>
email: <input type="text" name="email" value="'
.$row["email"].'"size="50"><br>
password: <input type="text" name"pass" value="'
.$row["pass"].'" size="30"><br>
Rollo: <textarea name="rollo" cols="30" rows="10">'
.$row["rollo"].'</textarea><br>
<input type="submit" name="editar" value="Enviar">
</form>'
;  


}
}

?>

Avatar de MaTROXFe #57 MaTROXFe
20 sep 03 (00:11)
TENGO UN PROBLEMA!!!!!

La base de datos no me acepta el auto_increment en el campo "id"
Creo q' es por eso q' después cuando ingreso tengo errores q' dicen:

Cuando entro y va a autentificar...

Warning: Cannot modify header information - headers already sent by (output started at /home/virtual/site48/fst/var/www/html/darkhogwarts/config.php:13) in /home/virtual/site48/fst/var/www/html/darkhogwarts/autentificar.php on line 21

Después voy para atrás y actualizo y ingresa finalmente...

Pero después cuando trato de salir...

Warning: Cannot modify header information - headers already sent by (output started at /home/virtual/site48/fst/var/www/html/darkhogwarts/config.php:13) in /home/virtual/site48/fst/var/www/html/darkhogwarts/logout.php on line 5



Después vuelvo a entrar y me vuelve a pasar lo mismo...

¿Alguien tiene una solución! Soy principiante!!!!
Avatar de gOnDo #58 gOnDo
20 sep 03 (22:45)
este es otro script que he creado para ponerle un libro de firmas a cada usuario, voy a estar comentando todo el coidgo para esos que no hacen copy&paste y quieren aprender un poco.
Lo primero es crear la base de datos, copia este codigo en el phpmiadmin

Código PHP


CREATE TABLE `firmas` (
`id` MEDIUMTEXT NOT NULL,
`nombre` VARCHAR(40) NOT NULL,
`comentario` LONGTEXT NOT NULL
);


Vale la base de datos creadda, ahora vamos a crear el codigo que muestra todos los comentarios, esto si kereis lo podeis poner en un archivo aparte, pero yo lo veo ams logico añadirlo en el perfil del usuario, es totalmente compatible.

Código PHP


<?
include('config.php'); // incluimos los datos de la conexion


$query = mysql_query("SELECT * FROM `firmas` WHERE id='$id'  LIMIT 0, 30");  // hacemos un query para seleccionar las firmas de la id que tenemos seleccionada
while($row=mysql_fetch_array($query))  // con un while creamos un bucle que muestra todas
{
echo
' <b>'.$row["nombre"].'</b> - '.$row["comentario"].'<br>';  // mostramos las firmas, esto puedes modifcarlo a tu gusto, poniendole el estilo que quieras
}
echo
// ahora mostramos el form para añadir las firmas, el campo id del form no lo quiteis, si no no funcionara
'<form action="insertarcomentario.php" method="POST">
Autor <input type="text" name="nombre" size="30"><br>
ID: <INPUT TYPE="TEXT" value="'
.$id.'" NAME="id" readonly><br>
Contenido <textarea name="comentario" cols="30" rows="10"></textarea><br>
<input type="submit" name="submit" value="Enviar"></form>'
;

?>



Ahoa el archivo que inserta los comentarios a la bd llmarlao insertarcomentario.php

Código PHP


<?
include('config.php'); //incluimos Loas datos de la conexion


//introducimos el nuevo registro en la tabla firmas
mysql_query("INSERT INTO firmas (nombre,comentario,id) values ('$nombre','$comentario','$id') ");
echo
'Comentario Ingresado con exito';

?>



Weno pos espero que os sirva, salu2
Avatar de rubenico #59 rubenico
25 sep 03 (23:39)
gOnDo, en las firmas tb le pondria un campo autorid, asi sabrias quien te ha firmado, si esta registrado vamos.
Pero k esta muy bien, como te lo curras :P
Avatar de Analyzer #60 Analyzer
26 sep 03 (04:02)
El único problema que le veo es que al insertar una firma, aparecerá en la de todos los usuarios. Tendría que haber un campo que fuera el ID del usuario al que se le envia y el ID de la firma, para asociarla.
Si estoy equivocado corrijanme :)
Avatar de Analyzer #61 Analyzer
26 sep 03 (04:02)
El único problema que le veo es que al insertar una firma, aparecerá en la de todos los usuarios. Tendría que haber un campo que fuera el ID del usuario al que se le envia y el ID de la firma, para asociarla.
Si estoy equivocado corrijanme :)
Avatar de gerar #62 gerar
27 sep 03 (17:35)

Código PHP


<?
CREATE TABLE
`users` (
`
id` INT( 4 ) NOT NULL AUTO_INCREMENT,
`
nick` VARCHAR(30) NOT NULL ,
`
pass` VARCHAR(30) NOT NULL ,
`
email` VARCHAR(50) NOT NULL ,
`
fecha` INT(15) NOT NULL ,
`
level` INT(2) NOT NULL ,
`
rollo` LONGTEXT NOT NULL ,
INDEX ( `id` )
);
?>


introduzco esta tabla en el phpmyadmin pero me da error:
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 '<?
CREATE TABLE `users` (
`id` INT( 4 ) NOT NULL AUTO_INCREME

Avatar de Analyzer #63 Analyzer
27 sep 03 (23:40)
Introducela sin los <? y ?>

Código PHP


CREATE TABLE `users` (
`id` INT( 4 ) NOT NULL AUTO_INCREMENT,
`nick` VARCHAR(30) NOT NULL ,
`pass` VARCHAR(30) NOT NULL ,
`email` VARCHAR(50) NOT NULL ,
`fecha` INT(15) NOT NULL ,
`level` INT(2) NOT NULL ,
`rollo` LONGTEXT NOT NULL ,
INDEX ( `id` )  
);

Avatar de RiogIN #64 RiogIN
29 sep 03 (06:37)
En este sistema, el usuario se puede registrar sin poner el pw, he intentado hacer que si no ponia el pass no le registrara, pero no me sale. Alguien sabe como se haria? THX :D
Avatar de RiogIN #65 RiogIN
29 sep 03 (06:42)
En este sistema, el usuario se puede registrar sin poner el pw, he intentado hacer que si no ponia el pass no le registrara, pero no me sale. Alguien sabe como se haria? THX :D
Avatar de gOnDo #66 gOnDo
01 oct 03 (21:55)
Weno Analizer, si firmas en uno solo aprecera en el usuario k tu inserta la frima, si te fijas en la sentecia para mostrar las firmas esta

Código PHP


WHERE id='$id'


Osea k solo selecciona las firmas de la bd k en el campo tenga la id seleccionada tipo perfil.php?id=3, y al insertarla en el campo de formulario ahi un cam,po k es Id, y pone la id que tiene ese usaurio y al insertarla en la bd mete esa id en el campo id asi se separan las firmas, es sencillo pero funciona, asi que me temo k estabas ekivcado.
Espero k te allas enterado..... y k te sirva de alluda
Esto va ara RiopIN:
Si es un bug, aver si consigo hacerlo, pero en teoria al poner en esto en registrar

Código PHP


($_POST[pass] == ' ')

dice k si en el fomr de pass no hay nada k vuelva al reg, asi k no se k fallara......
Esto va gerar:
Solo tienes k poner esto:
CREATE TABLE `users` (
`id` INT( 4 ) NOT NULL AUTO_INCREMENT,
`nick` VARCHAR(30) NOT NULL ,
`pass` VARCHAR(30) NOT NULL ,
`email` VARCHAR(50) NOT NULL ,
`fecha` INT(15) NOT NULL ,
`level` INT(2) NOT NULL ,
`rollo` LONGTEXT NOT NULL ,
INDEX ( `id` )
);
sin Los <?
?>
como bien dijo Analizer
Enga slau2 a todos
Avatar de Pikat0 #67 Pikat0
23 oct 03 (05:22)
esta claro riogin, kita el espacio de

Código PHP


<? ($_POST[pass] == ' ')  ?>

el espacio que hay entre coma y coma, pero haciendo eso, se puede registrar alguien como nick, un espacio
Avatar de oso96_2000 #68 oso96_2000
23 oct 03 (13:02)
mmm.. yo lo k uso para eso es poner:

Código PHP


<? (!$_POST[pass]) ?>


y pues me funciona bien
Avatar de martin #69 martin
24 oct 03 (06:44)
Warning: Cannot modify header information - headers already sent by (output started at /home/ayudanet/public_html/sanbenito/config.php:13) in /home/ayudanet/public_html/sanbenito/login.php on line 54

Me da este error.
Alguien sabe por qué es?
Avatar de erfon #70 erfon
26 oct 03 (01:13)
hola.
he utilizado este codigo en mi web, y resulta que lo pongo en login.php por ej. desde la carpeta principal,. El codigo fuente de login.php es:

Código PHP


<?
include ("header.html");
include (
"contenidos/usuarios/login.php");
include (
"footer.htm");
?>


y me sale un error, pero no es un error de mal sintaxis, ni de 404. Ya que cuando accedo a contenidos/usuarios/login.php me sale correctamente, y la cosa es que no quiero poner ningun iframe o frame ni nada por el estilo.
Me podriais ayudar?
Gracias
Avatar de reinzide #71 reinzide
26 oct 03 (10:02)
Varios errores:

Warning: Cannot modify header information - headers already sent by (output started at /home/fllok/public_html/users/config.php:13) in /home/fllok/public_html/users/logout.php on line 5

Warning: Cannot modify header information - headers already sent by (output started at /home/fllok/public_html/users/config.php:13) in /home/fllok/public_html/users/autentificar.php on line 21

Estos son algunos de los errores que se han producido, no se por que es. Alguien lo sabe? son del tipo de martin
Avatar de yosolito #72 yosolito
10 nov 03 (22:07)
reinzide , esos errores son porke no se puede modificar la configuracion del header.
Si has metido ese codigo dentro de html kita las etiketas <head></head> o pon el codigo primero, o revisa ke no haya ningun otro header por ahi metio
Avatar de yosolito #73 yosolito
10 nov 03 (22:09)
erfon , tu problema es el mismo que el de reinzide.......
Avatar de thessoro #74 thessoro
10 nov 03 (23:24)
el problema de headers already sent no tiene nada que ver con las etiquetas <head></head>. Este error se produce cuando queremos introducir una instruccion header(), establecer cookies o sessiones tras haber producido una salida "de cualquier tipo" al navegador.
Con salida del cualquier tipo me refiero a cualquier codigo HTML, cualquier echo, cualquier linea en blanco fuera de los tags <? ?>. Por el error, y viendo que dice: "no se pueden enviar nuevos headers porque el output comenzó en la linea 13 del config.php". Seguramente no haya nada en la línea 13. Quitad todas las lineas en blanco que quedan fuera de <? y ?> en ese archivo u otros que se incluyan antes de las instrucciones header() o cualquiera de las mencionadas arriba.
Avatar de WiZ2 #75 WiZ2
13 nov 03 (23:54)
Exacto es como dice thessoro:
El header no se refiere al tag html sino al de la petición http
las peticiones http (simples) tienen 2 partes
header
contenido
el header contiene información general de la petición y el contenido el contenido en sí.
Ejemplo:
<?php
$fp = fsockopen("www.php.net", 80, $errno, $errstr, 30);
if(!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs($fp,"GET / HTTP/1.0\n\n");
while(!feof($fp)) {
echo fgets($fp,128);
}
fclose($fp);
}
?>
(Ejemplo extraido del manual de php función fsockopen)

Obtendreis este resultado:

HTTP/1.1 301 Moved Permanently
Date: Thu, 13 Nov 2003 22:35:33 GMT
Server: Apache/1.3.26 (Unix) mod_gzip/1.3.26.1a PHP/4.3.3-dev
Location: http://www.php.net/
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>301 Moved Permanently</TITLE>
</HEAD><BODY>
<H1>Moved Permanently</H1>
The document has moved <A HREF="http://www.php.net/">here</A>.<P>
</BODY></HTML>

Que es lo que recibe el navegador.

El header de la respuesta http del servidor es:

HTTP/1.1 301 Moved Permanently
Date: Thu, 13 Nov 2003 22:35:33 GMT
Server: Apache/1.3.26 (Unix) mod_gzip/1.3.26.1a PHP/4.3.3-dev
Location: http://www.php.net/
Connection: close
Content-Type: text/html; charset=iso-8859-1

header('cadena');
lo que hace es añadir cadena al header XD ... (supongo) que si pones una linea tipo
Content-Type: ... tal
no la añade sino ke la modifica.

Bueno era eso xD
Avatar de Netrix #76 Netrix
18 nov 03 (20:23)
com puedo hacer para poner en una markesina o scroll la gente q esta on-line omo en esta web, el sistema ya lo tengo subido y todo y me va muy bien solo keria saber eso. Gracias
Avatar de kolt #77 kolt
01 ene 04 (05:34)
Oye hacerle caso a estos que lo de los espacios es verdad
Avatar de kolt #78 kolt
01 ene 04 (17:48)
una pregunta¿Yo cuando me logueose me abre otra ventana de internet explorer con la web pero logueado? Como puedo hacer para que se haga en la misma ventana. Agradeceria la solucion.
Avatar de Mitsurugi #79 Mitsurugi
04 ene 04 (23:56)
La pregunta la veo un poco mal planteada, que no ves lo que ocurre porque nos lo preguntas?

Teoricamente, viendo el codigo, NO tendria que abrirse una nueva ventana mira que no tengas un target=_blank por algun sitio :s
Avatar de OmaR #80 OmaR
05 ene 04 (21:19)
<a href="pagina" target="_blank"> PARA HTML</a>
<a href="#" onclick="windows.open('pagina');return true;"> PARA XHTML Frameset,Transitional o Strict </a>

Ademas como dice Mitsu esto se supone que valla en el foro de XHTML+HTML :)
Avatar de NoSetup.org #81 NoSetup.org
08 ene 04 (21:34)
Pues lo estoy probando con una página y funciona. Pero la página es xhtml 1.1 y no me la valida, según el validador después del form mete:
<iput type="hidden" name="PHPSESSID" value="32f..." /> y yo eso no lo meto en el código.

Por otra parte el link perfil.php?id=2 le transforma a perfil.php?id=2&PHPSESSID=32fa1d... y da problemas con la &.

Vamos el mismo fallo que me dio en el que yo hice y lo puse en el foro de PHP, pero nadie ha dado con la respuesta correcta
Avatar de ^PropheT_ #82 ^PropheT_
21 ene 04 (12:42)
me da error al autentificarme en la linea de

Código PHP


if ($user_ok = mysql_fetch_array($query)){



y a la hora de registrar tmb en

Código PHP


if($user_ok=mysql_fetch_array($usuarios)) {



Que puede ser ??
Avatar de ^PropheT_ #83 ^PropheT_
21 ene 04 (12:42)
weno sin los <? ?>
Avatar de thessoro #84 thessoro
21 ene 04 (17:00)
podria ser util decir que error es, aunque imagino que sera algo del query mysql
prueba a poner
$query="SELECT nick FROM users WHERE nick='$user'";
echo $query;
$usuarios=mysql_query($query) or die (mysql_error());
y podras ver que falla.
Por cierto, si te estas logeando con nicks que contengan los simbolos ' o " este script no funcionara. por ejemplo el nick o'neal. Desconozco el motivo por el que un stripslashes de algo quite "codigo malicioso" como se lee en los comentarios, más bien yo diría que es justo al revés.
De hecho no sé que pasaría exactamente si a alguien se le ocurriera logearse con el nick:
" '; delete from users "
Avatar de sarcus #85 sarcus
28 ene 04 (01:07)
Pues yo tengo el siguiente problema:
Si tengo el bloqueo de cookies actibado en el navegador no me logea y welve a mostrar la pagina de logear.

Si desactivo la proteccion de las cookies para poder aceptar cookies entonces si me logea y todo correcto.

A que se debe esto?¿

Gracias
Avatar de Hakeshu #86 Hakeshu
25 feb 04 (17:45)
Este alguien podria poner todo el codigo "sin errores" por favor :S
Avatar de Cubano #87 Cubano
25 feb 04 (23:16)
que tal si nos dices que error tienes? porque nadie va a subir un script y va hacer aceptado si tienes errores :)
Avatar de Gerald #88 Gerald
12 abr 04 (01:16)
Warning: Cannot add header information - headers already sent by (output started at c:\archivos de programa\easyphp\www\user\config.php:10) in c:\archivos de programa\easyphp\www\user\autentificar.php on line 21


no me va :s
Avatar de Cubano #89 Cubano
12 abr 04 (01:28)
por si te fijas mas a abajo hay un 'echo' y cuando pones header, nunca deves poner un echo porque si no, no va.. eso es un fallo del script x/
Avatar de Gerald #90 Gerald
12 abr 04 (03:51)
el error esta en el config.php
[php]
<?
$dbhost="localhost"; //Host del mysql
$dbuser="usuario"; //Usuario del mysql
$dbpass="password"; //Password del mysql
$db="db_usuarios"; //db donde se creará la tabla users
//conectamos y seleccionamos db
mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$db");
//Comenzamos la sesión, esto se explica despues en el Sistema de Login
session_start();
?>
Copien este config.php detras del ?> al final hay 2 espacios quite eso y me funciono
Avatar de Cubano #91 Cubano
12 abr 04 (12:15)
pero bueno.. cuando hay un header, no se puede hacer un echo, y si pruevalo y veras que no te irá.
Avatar de edhoru #92 edhoru
25 may 04 (00:41)
yo tengo el mismo error que ^PropheT_ en la línea

Código PHP


<? if($user_ok = mysql_fetch_array($usuarios)) //si existe comenzamos con la sesion, si no, al index ?>

, el error es Parse error: parse error in /home/coveca/coveca-www/catalogo/log_rub/autentificar.php on line 11

Se agradece cualquier ayuda
Avatar de forber #93 forber
25 may 04 (00:45)
eliminar todo lo que ponga session_register y funcionara seguro ;)
Avatar de ^FeRcHuX^ #94 ^FeRcHuX^
31 may 04 (03:17)
A mi me funciona a la perfeccion , te voto con un 5
lo basico creo que ya esta , ahora faltaria una pagina donde se pueda modificar el perfil de cada uno "editperfil.php".
Avatar de GoldraK #95 GoldraK
10 nov 05 (12:04)
Mu bueno el codigo si señor, pero tengo un problema al lado del boton de registro me sale los ultimos 4 caracteres del codigo

Código PHP


'; ?>

Alguien me podria decir xq? primero copie el codigo ha saco para probarlo y al ver que me daba ese error mire a ver que pasaba pero no veo nada :S

Gracias x todo y muy buen trabajo
Avatar de GoldraK #96 GoldraK
10 nov 05 (12:35)
creo k solucione mi anterior probleme poniendo delante de la interrogacion

Código PHP


php?>

ahora si que me deja continuar pero luego me da este error en la web de registrar.

Código PHP


",$rollo); //se cambian los saltos de linea por
$rollo = str_replace("\r\n","
",$rollo); $rollo = str_replace("\n","
",$rollo); $fecha = time(); $level = "2"; //usaremos level 1 para admins, level 2 para los demas (se cambia manualmente desde phpmyadmin) //introducimos el nuevo registro en la tabla users mysql_query("INSERT INTO users (nick,pass,email,fecha,level,rollo) values ('$user','$pass','$email','$fecha','$level','$rollo') "); echo 'Usuario registrado con éxito'; } } } ?>



alli si que me piero y no se xq me peta, asias x todo
Avatar de alien #97 alien
08 jun 06 (22:45)
Se podria crear algun script para mostrar los user online, sugun anonimos o no, los egistros de hoy, ayer y totales, etc... tipo nuke. Eske de programacionnnu tengo idea, y me guatria si alguien me podria ayudar
Avatar de janditoOo #98 janditoOo
10 ago 06 (02:11)
instale el sistema de comenatrios en el perfil que hizo gondo, bueno pues este es el codigo:

Código PHP


// COMENTARIOS //

echo'<table boder=0 class=bordes480>';

// hacemos un query para seleccionar las firmas de la id que tenemos seleccionada
$query = mysql_query("SELECT * FROM `firmas` WHERE id='$id'  LIMIT 0, 30");
// con un while creamos un bucle que muestra todas
while($row=mysql_fetch_array($query))  
{
// mostramos las firmas, esto puedes modifcarlo a tu gusto, poniendole el estilo que quieras
echo '<tr><td><b>'.$row["nombre"].'</b></td><td> '.$row["comentario"].'</td></tr>';  
}
echo '</table>';
// ahora mostramos el form para añadir las firmas, el campo id del form no lo quiteis, si no no funcionara
echo
'
<h3>agregar cOmentariO</h3>
<table border="0" class="bordes480" width="480">
<form action="index.php?users=comments" method="POST">
<tr><td class=pn-normal>nick:</td><td><input type="text" name="nombre" size="30"></td></tr>
<tr><td class=pn-normal>ID:</td><td><INPUT TYPE="TEXT" value="'.$id.'" NAME="id" readonly></td></tr>
<tr><td colspan="2" class=pn-normal>cOmentariO:<br /><textarea name="comentario" cols="50" rows="10"></textarea></td></tr>
<tr><td colspan="2" class=pn-normal><input type="submit" name="submit" value="Enviar"></form></td></tr>
<table>';



como puedo poner para que si un usuario esta logueado automaticamente aparezca su nick, y los usuarios anonimos tengan la opcion de poner su nick?
Avatar de didier #99 didier
29 ago 06 (02:35)
Pues con un if que verifique si la sesion esta definida, si lo esta te imprime un campo readonly con el nombre del usuario y si no uno con invitad@, algo asi:

<?
if(isset($_SESSION[usuario]) ) {
echo "<input type=text name=nombre size=30 value=".$_SESSION[usuario]." readonly>";
} else {
echo "<input type=text name=nombre size=30 value=Invitad@ readonly>";
}
Avatar de skacore #100 skacore
18 sep 06 (21:50)
y en que parte adjunto ese if en el codigo anterio de los comentarios???
Avatar de skacore #101 skacore
18 sep 06 (23:06)
mas bien otra pregunta me gustaria agregar al istema de usuarios la posibilidad de subir una imagen en la seccion reg.php para que al ver el perfil, se muestren los datos y la imagen de dicha persona.
Avatar de Sinedra #102 Sinedra
20 sep 06 (03:05)
muy bueno el sistema de usuarios, a mi me gustaria que le agreguemos un foro basico que solo puedan postear los usuarios y enviarse PM entre los usuarioos, y tambien agregar smiley y bbcode.
pero en general es un buen sistema de usuarios
Avatar de Sinedra #103 Sinedra
20 sep 06 (03:06)
Se me habia olvidado agregar que el prefil sea compatible con el del foro y tener la posibilidad de tener un avatar
Avatar de gOnDo #104 gOnDo
22 nov 06 (09:45)
jajaja no pides tu nada ...

seria un buen reto
Avatar de kitta #105 kitta
07 dic 06 (22:13)
Hola, por favor ayúdenme. Sé que el sistema funciona, pero por algún motivo a mi no. Cuando le doy login no entra y se recarga la misma página de login. Me ha pasado con todos los sistemas de login que he intentado. Alguna idea para solucionar? cualquier pista es bienvenida... gracias anticipadas.
Avatar de alextorres #106 alextorres
07 feb 07 (12:35)
como puedo hacer una zona donde el usuario pueda editar el perfil? el que postearon mas arriba no funciona :(
Avatar de thessoro #107 thessoro
08 feb 07 (05:59)
Este script no usa superglobales en perfil.php lo que deriva en malfuncionamiento en un PHP bien configurado.
(Aparte, da como 200 o 300 mil notices)
Avatar de towi62 #108 towi62
23 feb 07 (05:46)
Como puedo hacer para mostrar el email, intento de muchas maneras y no me muestra el mail y el ejemplo de para enviar mail no me funciono, salen muchos caracteres raros.
Avatar de towi62 #109 towi62
25 feb 07 (01:54)
ya hise funcionar el ejemplo de recuperar las claves perdidas, pero lo ke me gustaria es saber como puedo hacer solamente ke cuando el usuario introdusca su nombre de usuario y al darle click este automaticamente se lo envie por mail, sin necesidad de tantos rollos.
Un ejemplo seria el codigo ke tienen en esta pagina el de para recuperar claves perdidas
Avatar de sampa #110 sampa
01 mar 07 (17:47)
Está todo perfecto, pero cómo puedo hacer para que los usuarios de nivel 1 vayan a la pagina1 los de nivel 2 a la pagina2 y los del 3 a la pagina3?.

Muchas gracias.
Avatar de SubSeven #111 SubSeven
03 mar 07 (19:37)
Sampa para hacer eso es simple, lo único que debes hacer es consultar si la sesión del usuario es 1, 2 ó 3, luego los redireccionas con la funcion header(), por ej.

Código PHP


<?php
  
// teniendo en cuenta que la Sesión level ya está registrada hacemos la consulta
  
if($_SESSION['level'] == 1) {
    
header("Location: pagina1");
  }elseif(
$_SESSION["level"] == 2) {
    
header("Location: pagina2");
  }else {
    
header("Location: pagina3");
  }
?>



Espero que eso te sirva de ayuda.

Saludos.
Avatar de franco_r3 #112 franco_r3
07 mar 07 (20:27)
al principio tuve varios errores que solucione segun las respuestas que encontre aca, SI TIENES ERRORES AL EJECUTARLO, SIGUE ESTOS PASOS QUE YO REALIZe HASTA DAR CON EL BUEN FUNCIONAMIENTO:

1) MODIFICA EL ARCHIVO "PHP.INI":

- En "language option" activa(on) el "output_buffering = Off"
- En "Data Handling" activa(on) el "register_globals = Off"

2) ELIMINA TODOS LOS ESPACIOS QUE EXISTEN ANTES DE <? Y DESPUES DE ?>

3) no se si tendra que ver, pero tambien lei que podia ser causante de error el tener <head><title>... etc, los quite todos y solo deje el codigo php que va entre las etiquetas <? ?>, sin espacios en blanco fuera de estos.
Avatar de azazels #113 azazels
21 may 07 (17:37)
muy interesante el tutorial, epro no veo como puedo usarlo para lo que quiero.

Me explico. Tengo una zona de administracion que tiene X páginas y lo que quiero es poner una cabecera en TODAS esas páginas para que compruebe si se está loggeado y si es así continuar y sino lo está mostrar un mensaje de error.

Estoy intentando hacer un include de "autentificar.php" pero no lo consigo, alguna idea?

gracias
Avatar de dimau269 #114 dimau269
10 ago 07 (18:34)
Gracias rubenico, esta excelente. Me va a ayudar muchisimo para el trabajo que estoy realizando para la universidad.
Avatar de pe_lado37 #115 pe_lado37
28 ago 07 (14:47)
Hola Amigos, la verdad es que soy nuevo en el tema y estoy tratando de crear un formulario de registro con una base de datos MySql que tengo en un Hosting, tome el código de ejemplo que hay en este mismo foro, pero cuando lo ejecuto me aparece el mensaje :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/sindicat/public_html/autentificar.php on line 11

Espero su ayuda, ya que estoy bien complicado con este temita, Gracias a todos.....
Avatar de SubSeven #116 SubSeven
24 ago 07 (23:44)
Quería dar un pequeño aporte y es el de cuando el usuario quiera recuperar su contraseña, el script de gOnDo que aunque funciona tiene una pequeña pega y es que permite a cualquier usuario ver la clave de otro cuando muestra el formulario con los datos antes de ser enviados, aquí he tratado de evitar eso enviando directamente los datos al email.

Código PHP


<?php
    
// a este archivo lo llamamos passrecovery.php o como tú desees    
    
include('config.php'); // incluimos el archivos con los datos de conexción a MySQL
    
if(isset($_POST['enviar'])) {
        if(
$_POST['nick'] == '') {
            echo
"No se ha ingresado ningún nick. <a href='javascript:history.back()'>Regresar</a>";
        }else {
            
$nick = $_POST['nick'];
            
$nick = trim($nick);
            
$query = mysql_query("SELECT nick, pass, email FROM users WHERE nick='".$nick."' ");
            if(
mysql_num_rows($query) == 1) {
                
$sql = mysql_fetch_assoc($query);
                
$de = "Título de tu Web";
                
$sfrom = "tu@email"; // cuenta que envia
                
$sdestinatario = $sql[email]; // cuenta destino
                
$ssubject = "Password perdido"; // asunto
                
$shtml = '<html>
                    <head>
                    <title>Título de tu web</title>
                    </head>
                    <body>
                        <div style="padding: 5px; background: #f7f7f7; border: 1px solid #e0e0e0; font-family: Trebuchet MS; font-size: 9pt;">
                            Se ha solicitado el reenvio del password vinculado a la cuenta que tienes asociada a este email...<br /><br />
                            <strong>Tu nick:</strong> '
.$sql[nick].'<br />
                            <strong>Tu password:</strong> '
.$sql[pass].'<br />
                        </div>
                    </body>
                    </html>'
; // mensaje que se va a enviar al usuario solicitante
                
$sheader = "From: ".$de." <".$sfrom.">\r\n";
                
$sheader = $sheader."Mime-Version: 1.0\n";
                
$sheader = $sheader."Content-Type: text/html";
                
mail($sdestinatario,$ssubject,$shtml,$sheader);
                echo
"La contraseña se ha enviado a la dirección email asociada al nick solicitante.<br /><a href='index.php'>Ir al Inicio</a>";
            }else {
                echo
"No existe el usuario o ha ocurrido un error interno...<br /><a href='javascript:history.back()'>Regresar</a>";
            }
        }