The problem was already solved. I forgot to send a copy to the list...
Rodrigo, break!? Ohh man, it's a crazy idea... A developer DOES NOT use
break at all (in a loop)... (switch is an exception)
In the other hand Thomas, you should use while and count the lines and u
need to test if username found...
Yeah, this script is near to the good solution:
<?php
session_start();
$users = file("users.inc.php");
if (!empty($_POST['username']) && !empty($_POST['password'])) {
if (filter_var($_POST['username'], FILTER_VALIDATE_EMAIL)) {
$ui = 0;
while ($ui < count($users) && $error != "0") {
$user = explode(' ', trim($users[$ui]));
if ($_POST['username'] == $user[1]) {
$_SESSION['logged_in'] = 1;
$_SESSION['username'] = $user[1];
$error = "0";
} else{
$error = "2";
}
$ui++;
}
} else {
$error = "4";
}
} else {
$error = "3";
}
if ($error == "0") {
print("redirecting");
} else {
print("error: " . $error);
}
?>
On Tue, Oct 2, 2012 at 8:52 AM, Thomas Conrad <[email protected]>wrote:
> I'm currently learning php and as a challenge, I'm creating a login
> script using text files to store the information (until I learn how to
> handle databases with php).
> The problem I'm having is the if statement in my while loop is only
> evaluated on the last iteration of the while loop, so its only
> comparing the last username in the file and no others.
>
> Heres the code:
>
> <?php
> session_start();
>
> $users = file("../inc/users.inc.php");
>
> if($_POST['username'] && $_POST['password']){
>
> if(ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$",
> $_POST['username'])){
>
>
> while(list($id ,$username) = each($users)){
> if($_POST['username'] ==
> $username){
> $_SESSION['logged_in'] = 1;
> $_SESSION['username'] =
> $username;
>
> }
> }
> if($_SESSION['logged_in'] != 1){
> $error = "2";
> }
> }else{
> $error = "4";
> }
> }else{
> $error = "3";
> }
>
> if($error){
> header("Location:
> http://koopasforever.com/scripts/login.php?error=$error");
> }else{
> header("Location: http://koopasforever.com/");
> }
>
>
> ?>
>
> I have checked all my variables and they all contain the proper information
>
> Some help would be greatly appriciated, Thanks
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>