03. februar 2004 - 00:23
Der er
8 kommentarer og 1 løsning
login script med aktiv /inaktiv
Jeg skal til og lave et script php/mysql hvor jeg skal kunne sætte brugeren til inaktiv hvis konto er lukket, hvordan kan jeg nemmest gøre dette ??? Mvh. noob2003
Annonceindlæg fra Computerworld
03. februar 2004 - 00:25
#1
bruger selv et felt i mysql'en "status" med 1 eller 0
03. februar 2004 - 00:31
#2
Hvordan sætter jeg det ind i dette script, så den giver besked om konto er lukket ?? <?php session_start(); $db = mysql_connect("localhost", "root", "password") or die (mysql_error()); mysql_select_db("password", $db) or die (mysql_error()); $dotjek = mysql_query("SELECT brugernavn, password, admin FROM tester WHERE brugernavn='$_POST[brugernavn]'") or die (mysql_error()); if(isset($_POST['brugernavn'], $_POST['password'])) { $brugertjek = mysql_fetch_object($dotjek); if($brugertjek->brugernavn != $_POST['brugernavn']) { $_SESSION['navne_fejl'] = 1; header("Location:logind.php"); exit; } $_SESSION['brugernavn'] = $_POST['brugernavn']; if($brugertjek->password != md5($_POST['password'])) { $_SESSION['password_fejl'] = 1; header("Location:logind.php"); exit; }else{ $_SESSION['admin'] = $brugertjek->admin; header("Location:side1.php"); exit; } mysql_free_result($dotjek); } ?>
03. februar 2004 - 10:51
#3
gimme din side1.php =?)
03. februar 2004 - 12:11
#4
Du laver et nyt felt i DB'en, ("status" f.eks.) som et felt af typen enum med værdien 0 og 1 Din query bliver så: $dotjek = mysql_query("SELECT brugernavn, password, admin, status FROM tester WHERE brugernavn='$_POST[brugernavn]'") or die (mysql_error()); Ved tjek: if($brugertjek->brugernavn != $_POST['brugernavn']) { $_SESSION['navne_fejl'] = 1; header("Location:logind.php"); exit(); } if($brugertjek->status != 1) { $_SESSION['status_fejl'] = 1; // status_fejl skal jo defineres header("Location:logind.php"); exit(); } Ligner iøvrigt noget (ged)kode jeg engang baksede sammen? Kan godt prøve at lave noget nyt, men først engang i aften.
03. februar 2004 - 15:02
#5
sukos >> det vil jeg da ta imod med kyshånd :-)
04. februar 2004 - 12:16
#6
hmm, login.php <?php session_start(); ?> <html><head></head> <body> <form action="submit.php" method="post"> Bruger<br> <input type="text" name="brugernavn"><br> Password<br> <input type="password" name="password"><br> <input type="submit"> </form> <?php if(isset($_SESSION["error"])) { echo $_SESSION["error"]; unset($_SESSION["error"]); } ?> </body></html> submit.php: <?php session_start(); if(isset($_POST["brugernavn"], $_POST["password"])) { $db = mysql_connect("localhost", "bruger", "password") or die (mysql_error()); mysql_select_db("dbnavn", $db) or die (mysql_error()); $dotjek = mysql_query("SELECT * FROM `460341` WHERE `brugernavn` = '". $_POST["brugernavn"] ."'") or die (mysql_error()); if(mysql_num_rows($dotjek) !== 1) { $_SESSION["error"] = "Brugernavnet findes ikke"; header("Location:login.php"); exit(); }else{ $brugertjek = mysql_fetch_object($dotjek); if($brugertjek->password != md5($_POST["password"])) { $_SESSION["error"] = "Forkert password!"; header("Location:login.php"); exit(); } if($brugertjek->status != 1) { $_SESSION["error"] = "Kontoen er ikke aktiv"; header("Location:login.php"); exit(); } $_SESSION["brugernavn"] = $brugertjek->brugernavn; $_SESSION["admin"] = $brugertjek->admin; } header("Location:side1.php"); exit(); } ?> side1.php <?php session_start(); if(isset($_SESSION["brugernavn"])) { echo"Hej ". $_SESSION["brugernavn"]; }else{ echo"Du er ikke logget ind"; } ?> dump af tabellen 460341: CREATE TABLE `460341` ( `brugernavn` varchar(16) NOT NULL default '', `password` varchar(32) NOT NULL default '', `admin` enum('0','1','2') NOT NULL default '0', `status` enum('0','1') NOT NULL default '0', UNIQUE KEY `brugernavn` (`brugernavn`) ) TYPE=MyISAM; # # Data dump for tabellen `460341` # INSERT INTO `460341` VALUES ('sukos', '231a48019c390f2b40d1b6956bedc1fd', '2', '1'); INSERT INTO `460341` VALUES ('test', '098f6bcd4621d373cade4e832627b4f6', '0', '0'); INSERT INTO `460341` VALUES ('nix', '393b7e38038f12c5fb4c92e81a1b5a01', '2', '0');
04. februar 2004 - 12:50
#7
sukos>> stadigvæk gld for sessions va? ;o)
04. februar 2004 - 12:52
#8
sukos >> smid lige et svar
04. februar 2004 - 12:55
#9
Jahh, jeg er STOR tilhænger af sessions! :O) Bl.a. fordi en session kan nemt ændres under load af siden, uden at siden skal reloades
Vi tilbyder markedets bedste kurser inden for webudvikling