Логин система

Vladkata

Registered
Здравейте! Ползвам следната логин система - тук.

Върши ми чудесна работа, само че има един огромен бъг - като не се въведе нищо в полетата име и парола и като се натисне вход те логва без никакъв проблем. Ако се въведе друго име освен посоченото изписва че е невалидно, но ако се остави празно се логва...

Ако може да допишете каквото трябва, че така се губи смисъла от логина...

Благодаря предварително!

_______________________________
Все пак ето кода:
PHP:
<?php 
session_start(); 
$name[] = "fcinter"; $pass[] = "fcinter"; 
$name[] = "admin"; $pass[] = "admin"; 
$name[] = "test"; $pass[] = "test"; 
//добави колкото искаш 

function loginform(){ //формата, която потребителите виждат ако не са се логнали 
echo '<fieldset style="padding: 2">'; 
echo '<legend>Login</legend>'; 
echo '<form method=post action="?">'; 
echo 'Name: <input type=text name=username value="' . $_POST[username] . '">'; //името 
echo '<br>'; 
echo 'Pass: <input type=password name=pass>'; //паролата 
echo '<br>'; 
echo '<input type=submit name="s1" value="Login">'; 
echo '</form>'; 
echo '</fieldset>'; 
} 


if($_GET['action'] == "logout"){ 
$_SESSION['loggedin'] = false; 
$_SESSION['username'] = ""; 
} 

if($_SESSION['loggedin'] == false){ 
if(!$_POST['s1']){ 
loginform(); 
}else{ 

$tmpname = $_POST['username']; #the username the user has submitted 
$tmppass = $_POST['pass']; #the password the user has submitted 

$t = count($name); #count the total users 
$i = 0; 

while($i <= $t){ 
if($tmpname == $name[$i] && $tmppass == $pass[$i]){ 

$_SESSION['loggedin'] = true; 
$_SESSION['username'] = $name[$i]; 
header('Location: ?'); #reload the page 
} 
$i++; 
} 
echo "invalid name and password "; //Ако е сгрешено името или паролата 
loginform(); #show the form 
} 
die; 
} 
?> 

Welcome <?php echo $_SESSION['username']; ?>. Testova stranica - ti se logna uspeshno<BR> 
<a href="http://web-tourist.net">Poseti Web-Tourist</a> 
<br> 
<a href="?action=logout">Logout</a>
 
PHP:
[php]<?php 
session_start(); 
$name[] = "fcinter"; $pass[] = "fcinter"; 
$name[] = "admin"; $pass[] = "admin"; 
$name[] = "test"; $pass[] = "test"; 
//добави колкото искаш 

function loginform(){ //формата, която потребителите виждат ако не са се логнали 
echo '<fieldset style="padding: 2">'; 
echo '<legend>Login</legend>'; 
echo '<form method=post action="?">'; 
echo 'Name: <input type=text name=username value="' . $_POST[username] . '">'; //името 
echo '<br>'; 
echo 'Pass: <input type=password name=pass>'; //паролата 
echo '<br>'; 
echo '<input type=submit name="s1" value="Login">'; 
echo '</form>'; 
echo '</fieldset>'; 
} 


if($_GET['action'] == "logout"){ 
$_SESSION['loggedin'] = false; 
$_SESSION['username'] = ""; 
} 

if($_SESSION['loggedin'] == false){ 
if(!$_POST['s1']){ 
loginform(); 
}else{ 

$tmpname = $_POST['username']; #the username the user has submitted 
$tmppass = $_POST['pass']; #the password the user has submitted 

$t = count($name); #count the total users 
$i = 0; 

while($i <= $t){ 
if($tmpname == $name[$i] && $tmppass == $pass[$i] && !empty($_POST['username'] && !empty($_POST['pass']  ) ){ 

$_SESSION['loggedin'] = true; 
$_SESSION['username'] = $name[$i]; 
header('Location: ?'); #reload the page 
} 
$i++; 
} 
echo "invalid name and password "; //Ако е сгрешено името или паролата 
loginform(); #show the form 
} 
die; 
} 
?> 

Welcome <?php echo $_SESSION['username']; ?>. Testova stranica - ti se logna uspeshno<BR> 
<a href="http://web-tourist.net">Poseti Web-Tourist</a> 
<br> 
<a href="?action=logout">Logout</a>
 
tedo96 каза:
PHP:
[php]<?php 
session_start(); 
$name[] = "fcinter"; $pass[] = "fcinter"; 
$name[] = "admin"; $pass[] = "admin"; 
$name[] = "test"; $pass[] = "test"; 
//добави колкото искаш 

function loginform(){ //формата, която потребителите виждат ако не са се логнали 
echo '<fieldset style="padding: 2">'; 
echo '<legend>Login</legend>'; 
echo '<form method=post action="?">'; 
echo 'Name: <input type=text name=username value="' . $_POST[username] . '">'; //името 
echo '<br>'; 
echo 'Pass: <input type=password name=pass>'; //паролата 
echo '<br>'; 
echo '<input type=submit name="s1" value="Login">'; 
echo '</form>'; 
echo '</fieldset>'; 
} 


if($_GET['action'] == "logout"){ 
$_SESSION['loggedin'] = false; 
$_SESSION['username'] = ""; 
} 

if($_SESSION['loggedin'] == false){ 
if(!$_POST['s1']){ 
loginform(); 
}else{ 

$tmpname = $_POST['username']; #the username the user has submitted 
$tmppass = $_POST['pass']; #the password the user has submitted 

$t = count($name); #count the total users 
$i = 0; 

while($i <= $t){ 
if($tmpname == $name[$i] && $tmppass == $pass[$i] && !empty($_POST['username'] && !empty($_POST['pass']  ) ){ 

$_SESSION['loggedin'] = true; 
$_SESSION['username'] = $name[$i]; 
header('Location: ?'); #reload the page 
} 
$i++; 
} 
echo "invalid name and password "; //Ако е сгрешено името или паролата 
loginform(); #show the form 
} 
die; 
} 
?> 

Welcome <?php echo $_SESSION['username']; ?>. Testova stranica - ti se logna uspeshno<BR> 
<a href="http://web-tourist.net">Poseti Web-Tourist</a> 
<br> 
<a href="?action=logout">Logout</a>

Има грешка брат :)
 
ReD_z0n3 каза:
tedo96 каза:
PHP:
[php]<?php 
session_start(); 
$name[] = "fcinter"; $pass[] = "fcinter"; 
$name[] = "admin"; $pass[] = "admin"; 
$name[] = "test"; $pass[] = "test"; 
//добави колкото искаш 

function loginform(){ //формата, която потребителите виждат ако не са се логнали 
echo '<fieldset style="padding: 2">'; 
echo '<legend>Login</legend>'; 
echo '<form method=post action="?">'; 
echo 'Name: <input type=text name=username value="' . $_POST[username] . '">'; //името 
echo '<br>'; 
echo 'Pass: <input type=password name=pass>'; //паролата 
echo '<br>'; 
echo '<input type=submit name="s1" value="Login">'; 
echo '</form>'; 
echo '</fieldset>'; 
} 


if($_GET['action'] == "logout"){ 
$_SESSION['loggedin'] = false; 
$_SESSION['username'] = ""; 
} 

if($_SESSION['loggedin'] == false){ 
if(!$_POST['s1']){ 
loginform(); 
}else{ 

$tmpname = $_POST['username']; #the username the user has submitted 
$tmppass = $_POST['pass']; #the password the user has submitted 

$t = count($name); #count the total users 
$i = 0; 

while($i <= $t){ 
if($tmpname == $name[$i] && $tmppass == $pass[$i] && !empty($_POST['username'] && !empty($_POST['pass']  ) ){ 

$_SESSION['loggedin'] = true; 
$_SESSION['username'] = $name[$i]; 
header('Location: ?'); #reload the page 
} 
$i++; 
} 
echo "invalid name and password "; //Ако е сгрешено името или паролата 
loginform(); #show the form 
} 
die; 
} 
?> 

Welcome <?php echo $_SESSION['username']; ?>. Testova stranica - ti se logna uspeshno<BR> 
<a href="http://web-tourist.net">Poseti Web-Tourist</a> 
<br> 
<a href="?action=logout">Logout</a>

Има грешка брат :)
Каква е? Пиша направо тук и не пробвам кода...
 
PHP:
Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ')' in /home/hldscs/public_html/login.php on line 39

Линя 39: if($tmpname == $name[$i] && $tmppass == $pass[$i] && !empty($_POST['username'] && !empty($_POST['pass'] ) ){
 
PHP:
<?php 
session_start(); 
$name[] = "fcinter"; $pass[] = "fcinter"; 
$name[] = "admin"; $pass[] = "admin"; 
$name[] = "test"; $pass[] = "test"; 
//добави колкото искаш 

function loginform(){ //формата, която потребителите виждат ако не са се логнали 
echo '<fieldset style="padding: 2">'; 
echo '<legend>Login</legend>'; 
echo '<form method=post action="?">'; 
echo 'Name: <input type=text name=username value="' . $_POST[username] . '">'; //името 
echo '<br>'; 
echo 'Pass: <input type=password name=pass>'; //паролата 
echo '<br>'; 
echo '<input type=submit name="s1" value="Login">'; 
echo '</form>'; 
echo '</fieldset>'; 
} 


if($_GET['action'] == "logout"){ 
$_SESSION['loggedin'] = false; 
$_SESSION['username'] = ""; 
} 

if($_SESSION['loggedin'] == false){ 
if(!$_POST['s1']){ 
loginform(); 
}else{ 

$tmpname = $_POST['username']; #the username the user has submitted 
$tmppass = $_POST['pass']; #the password the user has submitted 

$t = count($name); #count the total users 
$i = 0; 

while($i <= $t){ 
if($tmpname == $name[$i] && $tmppass == $pass[$i] && !empty($_POST['username']) && !empty($_POST['pass']  ) ){ 

$_SESSION['loggedin'] = true; 
$_SESSION['username'] = $name[$i]; 
header('Location: ?'); #reload the page 
} 
$i++; 
} 
echo "invalid name and password "; //Ако е сгрешено името или паролата 
loginform(); #show the form 
} 
die; 
} 
?> 

Welcome <?php echo $_SESSION['username']; ?>. Testova stranica - ti se logna uspeshno<BR> 
<a href="http://web-tourist.net">Poseti Web-Tourist</a> 
<br> 
<a href="?action=logout">Logout</a>
[/php]
 

Back
Горе