• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed PHP jak zrobić przejście na inną podstronę razem z funkcją?

0 głosów
429 wizyt
pytanie zadane 8 października 2016 w PHP, Symfony, Zend przez SebbaGamess Użytkownik (520 p.)
zamknięte 8 października 2016 przez SebbaGamess
Mam pytanie jak zrobić przejście do następnej podstrony żeby po przejściu od razu wykonała się funkcja javascriptu. Bo chce zrobić panel logowania w postaci takiej chmurki w js. Cała weryfikacja danych jest w innym pliku i jak po wpisaniu błędnych danych header przenosi na stronę główną, ale ja chce jeszcze żeby włączył skrypt na dymek, żeby było widać że wpisano złe dane.
komentarz zamknięcia: Odnaleziono odpowiedź

2 odpowiedzi

+1 głos
odpowiedź 8 października 2016 przez PiotrBajer Mądrala (5,280 p.)

Cześć!

Najlepiej jakbyś podczas zatwierdzania formularza sprawdzał dane stosując zapytanie AJAX, wtedy użytkownik nie przechodziłby do następnej strony, tylko od razu widział efekt logowania.
Jeśli jednak zatwiedzanie formularza przekierowuje do innego pliku, po czym jeżeli jest błąd to wraca do strony głównej i tak chcesz zostawić, to możesz podczas przekierowania na stronę główną dodać parametr GET np. index.php?blad=logowanie, czyli przekierowanie robisz tak (zakładam, że index.php to plik strony głównej):

<?php header('Location: index.php?blad=logowanie'); exit;

i wtedy sprawdzać w PHP czy jest taki parametr i wyświetlić chmurkę jeżeli jest.

<?php if(isset($_GET['blad']) && $_GET['blad'] == 'logowanie'): ?>
Tutaj wyświetl chmurkę
<?php endif; ?>

Możesz też do przechowywania parametru o błędzie logowania użyć sesji.

komentarz 8 października 2016 przez SebbaGamess Użytkownik (520 p.)
przywrócone 8 października 2016 przez SebbaGamess
A można jakoś header'em wywołać funkcję javascript, albo jakimś innym poleceniem w php?
komentarz 8 października 2016 przez SebbaGamess Użytkownik (520 p.)
przywrócone 8 października 2016 przez SebbaGamess
albo w html jakoś żeby po załadowaniu się ta funkcja pojawiła (coś innego niż: body onload) bo chce to dać do tagów php.
komentarz 8 października 2016 przez PiotrBajer Mądrala (5,280 p.)

Nagłówki są wysyłane do przeglądarki zanim kod html zostaje wczytany, więc nie można tego zrobić tym sposobem. Możesz pokombinować z czymś takim, że na stronie gdzie robisz przekierowanie w PHP możesz to przekierowanie zrobić w JavaScript i jak użytkownik zobaczy wiadomość to przekierować na stronę główną, zobacz kod poniżej, po kliknięciu "OK" w wyskakującym okienku przeglądarka przekierowuje się na adres "http://onet.pl" (zamiast onet.pl daj swój adres na stronę główną).

http://codepen.io/Piotr-Bajer/pen/ZpxzLE

Cały kod sprowadza się do 4 linijek:

<script>
alert("Błąd\nBłąd podczas logowania, kliknij OK żeby spróbować jeszcze raz");
location = "http://onet.pl";
</script>

P.S. Zamiast Alert możesz pokazać swój komunikat przez siebie zrobiony.
 

komentarz 8 października 2016 przez SebbaGamess Użytkownik (520 p.)
Ok, dzienki za pomoc.
0 głosów
odpowiedź 8 października 2016 przez CzlowiekSkrypt Nałogowiec (26,810 p.)
Musisz to rąbnąć Ajaxem, jest sobota, odpalaj tutoriale :)

Podobne pytania

0 głosów
2 odpowiedzi 75 wizyt
0 głosów
0 odpowiedzi 70 wizyt
pytanie zadane 25 czerwca 2016 w JavaScript, jQuery, AJAX przez DariuszH Gaduła (3,080 p.)
+1 głos
1 odpowiedź 67 wizyt
pytanie zadane 24 czerwca 2016 w HTML i CSS przez DariuszH Gaduła (3,080 p.)
Porady nie od parady
Zadając pytanie postaraj się o szczegółowe opisanie problemu oraz udostępnienie wszystkich istotnych informacji (kody źródłowe, zrzuty ekranu itp.).Opisanie problemu

63,340 zapytań

109,599 odpowiedzi

228,959 komentarzy

44,171 pasjonatów

Przeglądających: 194
Pasjonatów: 8 Gości: 186

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...