Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML]Nietypowe działanie skryptu w zależności od przeglądarki
Forum PHP.pl > Forum > Przedszkole
jacusek
Witam.
Zrobiłem prosty skrypt logowania z obsługa błędu:
  1. <?php
  2. //sprawdza czy wypelniono wszytkie pola formularza
  3. if((!$_POST['nazwa']) || (!$_POST['haslo'])) {
  4. die ("<center><font size=6><a href=\"#\" onclick=\"window.history.go(-1);\" title=\"Cofnij\">COFNIJ</a>");
  5. }
  6.  
  7. include("connect2.php");
  8. $sql = 'SELECT imie, nazwisko FROM uzytkownicy WHERE nazwa=\''.$_POST['nazwa'].'\'
  9. AND haslo=\''.md5($_POST['haslo']).'\'';
  10. $wynik = mysqli_query($mysqli,$sql) or die(mysqli_error($mysqli));
  11. // ustawia cookie autoryzacyjne
  12. setcookie("auth", "1", "0", "/");
  13. if (mysqli_num_rows($wynik) == 1)

No właśnie w przypadku wpisania nazwy bez hasła skrypt w przypadku Mozzilli i Chrome nie przekierowuje na stronę poprzednią po użyciu linku cofnij. O dziwo w przypadku explorera i opery wszystko działa i nie bardzo rozumiem dlaczego.
W przypadku mozzilli pokazuje się na dosłownie ułamek sekundy formularz wprowadzania użytkownika i hasła, ale od razu tak jakby automatycznie wpisywała i wysyłała dane do przeglądarki. Natomiast w przypadku chrome w ogóle tak jakby nie było żadnej reakcji. Gdzie może leżeć błąd?
tehaha
a nie możesz do przekierowania użyć header/Location w php?
jacusek
mogę tylko header przekieruje automatem, a ja chcę żeby user wiedział coś się stało że się nie zalogował. Jeszcze tego nie dopisałem, ale chodzi mi o sam mechanizm dlaczego się tak dzieje
tehaha
możesz przecież przed header treść błędu wrzucić do sesji i wyświetlić go nad formularzem, na pewno będzie to lepiej wyglądać niż biała strona z napisem
jacusek
Tak masz rację, ale chodzi o to, ze jeżeli robię taki przycisk cofnij (bo to później ma być przycisk) to np. nazwa usera zostaje i pozostaje wpisanie tylko i wyłącznie hasła. Zresztą interesuje mnie sam mechanizm dlaczego raz działa a raz nie, a w innych przypadkach mam dość duże formularze, gdzie ponowne wpisywanie danych byłoby dość irytujące.
tehaha
dane również zapisuje się do sesji i potem wczytuje do pól formularzy, generalnie takie rozwiązanie js to słaby pomysł i je Tobie odradzam, ale skoro chcesz to może spróbuj:

  1. <a href="#" onclick="history.back(); return false;">
jacusek
to niestety nie działa. Ale chodzi mi o coś zupełnie innego. Dlaczego nie działają wszystkie przeglądarki. Czy chodzi o interpretację JAVY?
tehaha
a spróbuj jeszcze:
  1. parent.history.back();
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.