Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]logowanie
Forum PHP.pl > Forum > Przedszkole
mattii
mam kod, jest to fragment logowania.

if sprawdza czy haslo jest poprawne i czy w tabeli mailkod jest pusty (uzytkownik dostaje go na maila i ma wkleic)

ale wlasnie z tym wklejaniem mam problem

if dziala poprawnie, wyswietla nawet formularz do wklejenie kodu

ale to co ponizej jakby nie istnialo...

nacisniecie submita powoduje powrot do pliku glownego, a nie dospianie w bazie kodu i wyswietlenie komunikatu...

czy mogę osadzić formularz w ifie tak jak to zrobilem? bo na chwile obecna tutaj upatruje problemu, ale nie wiem jakie byloby alternatywne rozwiazanie..



  1. if (($pasuje && $count==1)&&(empty($row['mailkod'])))
  2.  
  3. {
  4.  
  5. $msg= " <div class='alert alert-danger'>
  6. <span class='glyphicon glyphicon-info-sign'></span> &nbsp;
  7.  
  8. podaj kod z maila !
  9.  
  10.  
  11.  
  12.  
  13.  
  14. <div id='kod-form'>
  15. <form autocomplete='off' method='post'>
  16. <div class='col-md-12'>
  17. <div class='form-group'>
  18. <h2 class=''>Podaj kod aktywacyjny</h2>
  19. </div>
  20. <div class='form-group'>
  21. <hr>
  22. </div>
  23. <div class='form-group'>
  24. <div class='input-group'>
  25. <span class='input-group-addon'>
  26. <span class='glyphicon glyphicon-envelope'></span>
  27. </span>
  28. <input class='kod-control' type='kod' required='' placeholder='podaj kod' maxlength='45' name='aktywacja'>
  29. <button class='btn btn-block btn-primary' name='btn-kod' type='submit'>Aktywuj</button>
  30. </div>
  31. </div>
  32.  
  33. </div>
  34. </form>
  35. </div>
  36.  
  37.  
  38.  
  39.  
  40. </div>
  41.  
  42. ";
  43.  
  44.  
  45. if (isset($_POST['btn-kod'])) {
  46.  
  47. $aktywacja = strip_tags($_POST['aktywacja']);
  48.  
  49.  
  50.  
  51. $aktywacja = $DBcon->real_escape_string($aktywacja);
  52.  
  53. $query = "INSERT INTO User (mailkod) VALUES('$aktywacja')";
  54.  
  55.  
  56.  
  57. $msg = "<div class='alert alert-danger'>
  58. <span class='glyphicon glyphicon-info-sign'></span> &nbsp;
  59.  
  60. teraz możesz się zalogować poprawnie </div>";
  61.  
  62.  
  63. }
  64.  
  65. else"cos poszlo nie tak";
  66.  
  67. }
JoShiMa
Po pierwsze dobrym zwyczajem jest sprawdzanie czy są dane w $_POST i czy są takie jak się spodziewamy na początku skryptu i w zależności od nich wyświetlanie formularza jeśli danych nie ma albo informacji o powodzeniu przetwarzania jesli były. Po drugie nie jestem pewna, czy to sprawdzanie powinno się odbywac za pomocą
  1. if (isset($_POST['btn-kod']))



EDIT:
Tu sobie poczytaj o przesyłaniu wartości z kontrolki button do tablicy $_POST: http://php.net/manual/en/reserved.variables.post.php
mattii
wcześniej user musi wpisać dane do logowania - login i haslo

i tutaj tez sprawdzam

  1. if (isset($_POST['btn-login'])) {.....}


i to działa bez zarzutu

potem albo loguje usera, albo wyrzuca informacje o błędnym haśle lub loginie, albo pokazuje okienko w którym trzeba wpisac kod wysłany mailem (to ten fragment wyzej o ktory ptam bo nie działa)

okienko sie pokazuje, ale po nacisnieciu submita wyrzuca na strone glowna logowania...to co dalej jakby nie mialo znaczenia...nawet zwyklego echa nie wykona...
JoShiMa
Chyba nie do końca rozumiem. Wyrzuca Cię formularz do okna logowania a nie do strony w której masz obsługę formularza. Tak?

EDIT
no i w wierszu nr 65 masz błąd.
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.