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

PHP/JavaScript?

Object Storage Arubacloud
0 głosów
321 wizyt
pytanie zadane 28 stycznia 2018 w JavaScript przez glodny0 Początkujący (310 p.)

Witam serdecznie.

Z racji tego, że jestem dosyć zielony w kwestii PHP czy JavaScript, zwracam się do Was z prośbą o radę. Podam w pierwszej kolejności uproszczony kod HTML i wytłumaczę pokrótce o co chodzi.


div id="container">

<h1>Pytanie</h1>

<p>Treść zapytania</p>

		<form>
			
			<input type="text" id="odp" placeholder="Twoja odpowiedź" onfocus="this.placeholder=''" onblur="this.placeholder='Twoja odpowiedź'" />
					
			<input type="submit" value="Przejdź dalej" />
			
				<p>Jeśli jednak masz problem z odpowiedzią na pytanie, kliknij poniższą podpowiedź</p>
			
			<div id="blad"></div>
			
			
			<div id="podp"></div>
			
			
		</form>
</div>

Chciałbym, aby użytkownik musiał odpowiedzieć prawidłowo na jedno pytanie, zanim zostanie przekierowany na moją stronę główną. Zarówno pole tekstowe na wpisanie odpowiedzi jak i przycisk do przejścia na stronaglowna.html, zostały umieszczone w inputach. W przypadku, gdy wpisana wartość będzie nieprawidłowa, użytkownik będzie miał ponownie przed sobą stronę z zapytaniem i otrzyma komunikat o błędnej odpowiedzi(w divie o id="blad") i wtedy będzie mógł skorzystać z podpowiedzi (div o id="podp") - z tym raczej sobie poradzę w JS. Pytanie: jak zrobić, żeby użytkownik został odesłany na stronę główną, kiedy wpisze poprawną odpowiedź? Wiem, że w języku PHP jest opcja header (location: "stronaglowna.html"), ale pierw trzeba sprawdzić czy wartość pola o id="odp" jest równa powiedzmy 100. Sprawdzenie poprawności danych jest proste w JS, ale czy za pomocą JS można użytkownika odesłać na inną stronę po kliknięciu "Przejdź dalej"?

komentarz 28 stycznia 2018 przez pablop76 VIP (123,120 p.)

Sprawdź 

location.href="nowa.html";

 

1 odpowiedź

0 głosów
odpowiedź 28 stycznia 2018 przez Velta Maniak (52,010 p.)

Najpierw utwórz formularz, który będziesz wysyłać do pliku PHP:

<form action="ścieżka pliku PHP" method="POST">
	<!-- content -->
</form>

Tworzysz pole tekstowe o jakiejś nazwie oraz uzupełniasz formularz o przycisk umożliwiający wysłanie danych:

<input type="text" name="odpowiedz" placeholder="Twoja odpowiedź">

<input type="submit" value="Wyślij">

Z pliku pobierasz dane i je porównujesz na poziomie serwera. Inaczej każdy użytkownik będzie mógł z poziomu przeglądarki sprawdzić kod źródłowy JavaScript i znaleźć prawidłową odpowiedź, przez co całość stanie się bez sensu.

$odpowiedz = $_POST["odpowiedz"];
if($odpowiedz == "jakaś tam fraza") header("Location: stronaglowna.html");
else header("Location: index.html");

 

komentarz 3 lutego 2018 przez glodny0 Początkujący (310 p.)
Próbuję na różne sposoby: wywaliłem tymczasowo else, zostawiając tylko jedną funkcję warunkową i wpisuję wyłącznie poprawną odpowiedź, albo nawet bez funkcji samo header("location: ") powinno przekierowywać dalej, a tu nic się nie dzieje. Dodanie exit; oraz exit(); też nie pomaga. Adres przekierowania jest poprawny, ponieważ używam ctrl+c i ctrl+v :) Nie mam pojęcia co jest grane...
komentarz 3 lutego 2018 przez pablop76 VIP (123,120 p.)
Może jakaś spacja przed <?
komentarz 5 lutego 2018 przez glodny0 Początkujący (310 p.)
Niestety nic nie pomogło, będę próbował jeszcze jakoś we własnym zakresie uporać się z tym. Dziękuję za wszystkie porady.

Pozdrawiam i do usłyszenia niebawem (bo pewnie znowu pojawi się jakiś nowy problem ;) )
komentarz 5 lutego 2018 przez pablop76 VIP (123,120 p.)
Problem prawdopodobnie polega na tym, że źle odpalasz stronę w przeglądarce.

Jeżeli odpalisz stronę z pliku będziesz miał adres coś w stylu

file:///C:/xampp/htdocs/nazwa_folderu_ze_strona/index.php

Musisz odpalić stronę wpisując ręczniec adres  localhost/nazwa_folderu_ze_strona
komentarz 8 lutego 2018 przez glodny0 Początkujący (310 p.)
Teraz już wszystko jasne. Faktycznie, po wpisaniu /localhost/nazwa_folderu skrypt PHP zaczął działać i to dosłownie ;) Dziękuję za pomoc!

Pozdrawiam.

Podobne pytania

0 głosów
1 odpowiedź 138 wizyt
pytanie zadane 26 grudnia 2018 w JavaScript przez Maciek96 Nowicjusz (180 p.)
0 głosów
1 odpowiedź 270 wizyt
pytanie zadane 20 listopada 2022 w PHP przez GroM1321 Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 227 wizyt

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...