Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Porównanie zmiennych
Forum PHP.pl > Forum > Przedszkole
lenek
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";
}
?>
kamil4u
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.
lenek
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
kamil4u
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!
lenek
Bardziej mi chodziło jak w JavaScript pobrać zmienną z window.prompt() i przekazać do np:$_Get
kamil4u
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".
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.