Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][PHP]Porównanie zmiennych
lenek
post 30.06.2012, 13:28:59
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 30.06.2012

Ostrzeżenie: (0%)
-----


W jaki sposób porównać zmienną pobraną z javaScripy, gdzie popełniam błąd że ten przykład mi nie działa
<?php
$zmienna = "<script language=javascript> var zmienna=window.prompt('Podaj zmienną!','<Zmienna>');document.write(zmienna);</script>";

$zmienna2='1234';
if($zmienna==$zmienna2){
echo "Zmienne OK";
}
?>
Go to the top of the page
+Quote Post
kamil4u
post 30.06.2012, 14:08:01
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


W tej chwili porównujesz ciąg znaków: "<script language=javascript> var zmienna=window.prompt('Podaj zmienną!','<Zmienna>');document.write(zmienna);</script>" do ciągu znaków '1234' .Równe one nie są.

W ogóle musisz zmienić podejście, bo tak się nie da. PHP jest wykonywane po stronie serwera, a JS po stronie klienta. Gdy robisz tak jak chcesz zrobić to zanim w ogóle uruchomi się JS to PHP zakończyło swoje działania( dokładnie tak nie jest, ale na początek przyjmij, że to całkowita prawda ), więc siłą rzeczy nie da się tego porównać.

Jest na to kilka sposobów:
- AJAX - to chyba najlepsza metoda, gdyż nie wymaga przeładowania strony
- przeładowanie strony i wysłanie danych z JS do np. $_GET czy $_POST
- ciasteczka
- i pewnie inne mniej popularne

Poczytaj o tym.


--------------------
Go to the top of the page
+Quote Post
lenek
post 30.06.2012, 14:28:14
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 30.06.2012

Ostrzeżenie: (0%)
-----


Mógłby ktoś podpowiedzieć jak przekazać metodą $_POST tą zmienną żeby to zadziałało najlepiej na przykładzie bo nie wiem jak to zrobić będę wdzięczny
Go to the top of the page
+Quote Post
kamil4u
post 30.06.2012, 15:00:22
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Zdecydowanie łatwiej $_GET-e, bo możesz przesłać wprost przez adres, czyli - pseudokodem:
  1. <?php
  2. if( odebrano($_GET['test'] ) ){
  3. if( zmienna == $_GET['test']){
  4. //równe
  5. } else {
  6. // różne
  7. }
  8. }
  9. ?>
  10.  
  11. // tu javascript
  12. // prompt
  13. // i potem przekierowanie na adres: www.moja.strona/dana_podstrona.php?test=[wartosc_z_prompt]
.

Z $_POST-em jest podobnie, tylko musiałbyś wysłać formularz automatycznie. Rozwiązanie to jest o tyle złe, że potrzeba przekierowania strony.

Zainteresuj się AJAX-em. Nie jest to takie trudne, a skorzystanie z gotowej biblioteki AJAX-u np. zawartej w jQuery jest już banalnie proste. Poczytaj o tym!


--------------------
Go to the top of the page
+Quote Post
lenek
post 30.06.2012, 15:31:18
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 30.06.2012

Ostrzeżenie: (0%)
-----


Bardziej mi chodziło jak w JavaScript pobrać zmienną z window.prompt() i przekazać do np:$_Get
Go to the top of the page
+Quote Post
kamil4u
post 30.06.2012, 15:42:44
Post #6





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Cytat
Bardziej mi chodziło jak w JavaScript pobrać zmienną z window.prompt() i przekazać do np:$_Get


No to napisałem:
Cytat
// i potem przekierowanie na adres: www.moja.strona/dana_podstrona.php?test=[wartosc_z_prompt]


Teraz wystarczy google i "przekierowanie JS".


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.08.2025 - 05:04