Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [smarty] Problem z formularzem (prawdopodobnie nie przekazuje danych)
Forum PHP.pl > Forum > Gotowe rozwiązania > Systemy szablonów
Sagge
Witajcie! Otóż mam problem pewien. Pierwszy raz korzystam ze smarty i nie mogę ogarnąć formularza. wyglada na to ze nie przekazuje danych z formularza do skryptu gdyż wywala błąd "dane nie zgadzają się" Co mnie zdziwiło printnołem sobie obok tego błędu zmienne $login i $password i login jest pusty a password jakiego bym nie wpisał to pokazuje się zaszyfrowane jakieś zawsze takie samo.. Jeśli ktoś by mógł na to zerknąć to byłbym wdzięczny, na 100% robię coś źle, ale jak pisałem nie znam smarty i nie wiem nawet gdzie szukać...

Pzdr

login1.php:
  1. <?php
  2.  
  3. include("../config.php");
  4.  
  5. require_once('Smarty/Smarty.class.php');  
  6.  
  7. $smarty = new Smarty;
  8.  
  9. $smarty->template_dir = "Style/";
  10.  
  11. $smarty->compile_dir  ='Smartownia/templates_c/';
  12.  
  13. $smarty->config_dir  = 'Smartownia /configs/';
  14.  
  15. $smarty->cache_dir = 'Smartownia /cache/';
  16.  
  17. //connect do bazy
  18.  
  19. $connect = @mysql_connect ($host, $name, $pass) or die (mysql_error());
  20.  
  21. mysql_select_db($dbname) or die (mysql_error());
  22.  
  23. echo $_SESSION['zalogowany']."<br>";
  24.  
  25.  if (isset($_POST['login']) && isset($_POST['password'])) {
  26.  
  27. $login = $smarty -> assign('login', $_POST['login']);
  28.  
  29. $password = $smarty -> assign('password', $_POST['password']);
  30.  
  31. $password = md5($password);
  32.  
  33. $sql = "SELECT id FROM users WHERE login='".$login."' and password='".$password."'";
  34.  
  35. $result = mysql_query($sql) or die (mysql_error());
  36.  
  37. if (mysql_num_rows($result) == 1) {
  38.  
  39. echo "zostałeś zalogowany jako $login";
  40.  
  41. echo '<br><a href="logout.php">wyloguj się</a>';
  42.  
  43. $_SESSION['zalogowany'] = 1;
  44.  
  45. return true;
  46.  
  47. } else {
  48.  
  49.  echo "Dane nie zgadzają się!";
  50.  
  51. }
  52.  
  53. }
  54.  
  55.  
  56.  
  57.  
  58.  
  59. //sprawdza czy zalogowany, jesli nie to pokazuje formularz logowania
  60.  
  61. if ($_SESSION['zalogowany'] == 0) {
  62.  
  63. $smarty -> display('login1.tpl'); 
  64.  
  65. } else  {
  66. echo "jesteś zalogowany jako $login";
  67. echo '<br><a href="logout.php">wyloguj się</a>';
  68. }
  69. ?>



i login1.tpl:

  1. <?php
  2. {if $smarty.post.submit}
  3.  
  4. {$smarty.post.login}
  5.  
  6. {$smarty.post.password}
  7.  
  8.  
  9.  
  10. {else}
  11.  
  12. <form id="logowanie" method="post" action="{$smarty.server.php_self}">
  13.  
  14. <b>Zaloguj się</b><br>
  15.  
  16. Login:<br>
  17.  
  18. <input id ="login" type ="text" name ="login" size="8" maxlength ="20"><br>
  19.  
  20. <br>
  21.  
  22. Hasło:<br>
  23.  
  24. <input id ="password" type ="password" name ="password" size="8" maxlength ="15"><br>
  25.  
  26. <br>
  27.  
  28. <input id ="zaloguj" type ="submit" name ="zaloguj" value ="Zaloguj">
  29.  
  30. </form>
  31.  
  32. {/if}
  33. ?>
PUPI
Funkcja $Smarty->assign() nie zwraca żadnej wartości, więc Twoje zmienne $login i $password są puste.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.