Witam, chciałem się dowiedzieć jak można zrobić takie logowanie, które będzie sprawdzało, z której tableli pochodzi wpisywany login i hasło i w zależności od tego będzie przekierowywanie na właściwą stronę..
poki co korzystkam z:
<?php
mysql_connect ('localhost', 'root', 'krasnal') or
die ("nie udało sie połączyć");
if($_SESSION['zalogowany'] == 0)
{
echo '<form id="LOGOWANIE" method="post" action="index.php" enctype="multipart/form-data"> <h2>Zaloguj się:</h2> <div>
Login:<br />
<input id ="login" type="text" name="login" maxlength="15"/><br /><br />
Hasło:<br />
<input id ="haslo" type="password" name="haslo" maxlength="10"/><br /><br />
<input id ="zaloguj" type="submit" name="zaloguj" value="Zaloguj"/>
<a href="form_rej.php"><input id ="zarejestruj" type="submit" name="zarejestruj" value="Zarejestruj"/></a>
</div>
</form>';
if (isset($_POST['login']) && isset($_POST['haslo'])) {
$login = $_POST['login'];
$haslo = $_POST['haslo'];
$sql = "SELECT id FROM uzytkownicy WHERE login='".$login."' and haslo='".$haslo."'";
echo "zostałeś zalogowany jako: $login"; $_SESSION['login'] = $login;
$_SESSION['zalogowany'] = 1;
$_SESSION['czas'] = time(); header ('location: strona1.php'); }else {
echo '<div style="margin-left: 300px;"><br /> <span style="color: red; font-weight: bold;">Wpisz prawidłowy login i hasło</span></div>';
}
}
}
else {
echo "Zostałeś zalogowany jako ".$_SESSION['login']."<br /><a href='index.php?log=wyloguj'>wyloguj</a>"; $intTimeoutSeconds = 600;
if(isset($_SESSION['intLastRefreshTime'])) {
if(($_SESSION['intLastRefreshTime']+$intTimeoutSeconds)<time())
{
header('location: index.php'); }
}
$_SESSION['intLastRefreshTime'] = time(); }
if ($_GET['log'] == "wyloguj") {
header('location: index.php'); }
?>
i myślałem, żeby to może przerobić w taki sposób, żeby do if {} dodać else if {} ale wówczas się nie loguje:
<?php
mysql_connect ('localhost', 'root', 'krasnal') or
die ("nie udało sie połączyć");
if($_SESSION['zalogowany'] == 0)
{
echo '<form id="LOGOWANIE" method="post" action="index.php" enctype="multipart/form-data"> <h2>Zaloguj się:</h2> <div>
Login:<br />
<input id ="login" type="text" name="login" maxlength="15"/><br /><br />
Hasło:<br />
<input id ="haslo" type="password" name="haslo" maxlength="10"/><br /><br />
<input id ="zaloguj" type="submit" name="zaloguj" value="Zaloguj"/>
<a href="form_rej.php"><input id ="zarejestruj" type="submit" name="zarejestruj" value="Zarejestruj"/></a>
</div>
</form>';
if (isset($_POST['login']) && isset($_POST['haslo'])) {
$login = $_POST['login'];
$haslo = $_POST['haslo'];
$sql = "SELECT id FROM uzytkownicy WHERE login='".$login."' and haslo='".$haslo."'";
echo "zostałeś zalogowany jako: $login"; $_SESSION['login'] = $login;
$_SESSION['zalogowany'] = 1;
$_SESSION['czas'] = time(); header ('location: strona1.php'); }else {
echo '<div style="margin-left: 300px;"><br /> <span style="color: red; font-weight: bold;">Wpisz prawidłowy login i hasło</span></div>';
}
}
else if (isset($_POST['login']) && isset($_POST['haslo'])) {
$login = $_POST['login'];
$haslo = $_POST['haslo'];
$sql = "SELECT id FROM uzytkownicy1 WHERE login='".$login."' and haslo='".$haslo."'";
echo "zostałeś zalogowany jako: $login"; $_SESSION['login'] = $login;
$_SESSION['zalogowany'] = 1;
$_SESSION['czas'] = time(); header ('location: strona2.php'); }else {
echo '<div style="margin-left: 300px;"><br /> <span style="color: red; font-weight: bold;">Wpisz prawidłowy login i hasło</span></div>';
}
}
}
else {
echo "Zostałeś zalogowany jako ".$_SESSION['login']."<br /><a href='index.php?log=wyloguj'>wyloguj</a>"; $intTimeoutSeconds = 600;
if(isset($_SESSION['intLastRefreshTime'])) {
if(($_SESSION['intLastRefreshTime']+$intTimeoutSeconds)<time())
{
header('location: index.php'); }
}
$_SESSION['intLastRefreshTime'] = time(); }
if ($_GET['log'] == "wyloguj") {
header('location: index.php'); }
?>
czy przyczyną moze być to, że do tabeli użytkownicy dane są dodawane ze strony przez formularz, a użytkownicy bezpośrednio w bazie?