...

View Full Version : Txt based login with 3 different or more password file to search in or list ?



Peuplarchie
07-27-2008, 09:11 AM
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 !

BWiz
07-27-2008, 04:15 PM
Use a for loop.


$file['1'] = "p1.txt";
$file['2'] = "p2.txt";
$file['3'] = "p3.txt";
$i;
for( $i=0;$i<count($file);$i++ ) {
// process for checking each file
}

Peuplarchie
07-27-2008, 08:48 PM
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 } ?>



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum