Peuplarchie Posted July 27, 2008 Share Posted July 27, 2008 Good day to you all, I'm working on my login script and I was wondering how can i make the txt file based login to look into 3 txt file for login and password ? My problem is I don't have a clue on how to code it. Here is my code : <table border="1" cellpadding="0" cellspacing="0" align="center" width="800" align="top"> <tr><td width="800" class="black" valign="top" align="right"> <?php session_start(); $file = file("pass.txt"); $data= array(); foreach($file as $value){ list($user, $password, $url) = explode('=>', $value); $data[$user] = array("url"=>$url, "password"=>$password); } if(isset($_POST['username']) && isset($_POST['password'])) { if($data[$_POST['username']]['password'] == $_POST['password']) { $_SESSION['username'] = $_POST['username'] . " " . $_POST['password']; $_SESSION['users'] = $_POST['username']; $_SESSION['present'] = true; header('Location: ' . $data[$_POST['username']]['url']); } else { login('Wrong user name or password. <br>'); } } else { login(); } ?><?php function login($response='Admin login') { ?> <p><?=$response?></p> <form action="" method="post"> <b>User name</b> <input name="username" type="text" /> <b>Code</b> <input name="password" type="password"> <input type="submit" value="Login" /> </form> <?php } ?> </td></tr> </table> Thank for any help ! Link to comment https://forums.phpfreaks.com/topic/116820-txt-based-login-with-3-different-or-more-password-file-to-search-in-or-list/ Share on other sites More sharing options...
Peuplarchie Posted July 27, 2008 Author Share Posted July 27, 2008 Solved <?php //sessions must be initialized prior to any output if output buffering if off session_start(); //the list of files containing passwords $files = array( "file1.txt", "file2.txt", "file3.txt" ); //if list of users not set create a new array if(!isset($_SESSION['users'])) $_SESSION['users'] = array(); if(isset($_POST['username']) && isset($_POST['password'])){ //need to remove slashes from POST if magic_quotes are on if(get_magic_quotes_gpc()){ $_POST['username'] = stripslashes($_POST['username']); $_POST['password'] = stripslashes($_POST['password']); } $userFound = false; //we need this to exit the loops foreach($files as $file){ //loop every file in the $files array if($fh = fopen($file, "r")){ while(!feof($fh) && !$userFound){ //while not the end of the current file or the user was not found list($username, $password, $url) = explode(",", fgets($fh,1024)); if(($username == $_POST['username']) && ($password = $_POST['password'])){ $_SESSION['username'] = $username; $_SESSION['present'] = true; array_push($_SESSION['users'], $username); //add the current user to the list of users header("Location: ".$url); $userFound = true; //confirm that the user was found } } fclose($fh); //we need to use break to exit the foreach loop if the user is found in one of the files if($userFound) break; } else echo "Unable to open a required password file: $file"; } if(!$userFound) login('Wrong username or password.<br />'); } else { login(); } ?> <?php function login($response='Admin login') { ?> <p><?=$response?></p> <form action="" method="post"> <b>User name</b> <input name="username" type="text" /> <b>Code</b> <input name="password" type="password"> <input type="submit" value="Login" /> </form> <?php } ?> Link to comment https://forums.phpfreaks.com/topic/116820-txt-based-login-with-3-different-or-more-password-file-to-search-in-or-list/#findComment-600995 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.