Jak w temacie, skrypt chyba nie przekazuje zmiennej do tpla. przy poprawnym logowaniu pokazuje się pusta strona zamiast
Kod
Zostałeś zalogowany jako {$login}<br>
<a href="logout.php">Wyloguj się</a>
przy wpisaniu błędnych danych pokazuje sie formularz ponownie zamiast formularza+"Dane nie zgadzają się!". Poniżej wklejam oba pliki. To napewno moj blad, robię pierwsze kroki ze smarty. Jesli ktoś zna rozwiązanie to proszę o wypowiedź, pozdrawiam.<a href="logout.php">Wyloguj się</a>
index.tpl:
<?php {if $login_status eq 1} Zostałeś zalogowany jako {$login}<br> <a href="logout.php">Wyloguj się</a> {else} {if $blad eq 1} Dane nie zgadzają się! <form id="logowanie" method="post" action="{$smarty.server.php_self}"> <b>Zaloguj się</b><br> Login:<br> <input id ="login" type ="text" name ="login" size="8" maxlength ="20"><br> <br> Hasło:<br> <input id ="password" type ="password" name ="password" size="8" maxlength ="15"><br> <br> <input id ="zaloguj" type ="submit" name ="zaloguj" value ="Zaloguj"> </form> {else} <form id="logowanie" method="post" action="{$smarty.server.php_self}"> <b>Zaloguj się</b><br> Login:<br> <input id ="login" type ="text" name ="login" size="8" maxlength ="20"><br> <br> Hasło:<br> <input id ="password" type ="password" name ="password" size="8" maxlength ="15"><br> <br> <input id ="zaloguj" type ="submit" name ="zaloguj" value ="Zaloguj"> </form> {/if} {/if} ?>
index.php:
<?php include("config.php"); require_once('Smarty/Smarty.class.php'); $smarty = new Smarty; $smarty->template_dir = "Style/"; $smarty->compile_dir ='Smartownia/templates_c/'; $smarty->config_dir = 'Smartownia /configs/'; $smarty->cache_dir = 'Smartownia /cache/'; //connect do bazy $login = $_POST['login']; $password = $_POST['password']; $sql = "SELECT id FROM users WHERE login='".$login."' and password='".$password."'"; $_SESSION['zalogowany'] = 1; return true; } else { $blad = 1; } } $smarty->assign('login_status', $_SESSION['zalogowany']); $smarty->assign('login', $login); $smarty -> display('index.tpl'); ?>