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

document.write

Object Storage Arubacloud
0 głosów
750 wizyt
pytanie zadane 10 marca 2018 w PHP przez dervil Gaduła (3,030 p.)
edycja 10 marca 2018 przez dervil

Cześć, mam taki kod, ale php nie działa, nie rozpoznaje , tzn skrypt działa, echo wyświetla zminną $widthr ale funkcja if nie działa

$widthr = '<script>document.write(screen.width);</script>';
if($widthr==1440)
{
  $limit = '24';
  $liczba1 = 12;
  $liczba2 = 24;
}
else if($widthr==1280)
{
  $limit = '18';
  $liczba1 = 9;
  $liczba2 = 18;
}
else if($widthr==800)
{
  $limit = '18';
  $liczba1 = 9;
  $liczba2 = 18;
}

może zamiast document.write użyć czegoś innego

jakieś sugestie?

2
komentarz 10 marca 2018 przez Tomek Sochacki Ekspert (227,510 p.)
zdefiniuj problem jaki chcesz rozwiązać bo chyba błąd tkwi w założeniach.
komentarz 10 marca 2018 przez dervil Gaduła (3,030 p.)
chce żeby php rozpoznawał screen resolution , rozdzielczość monitora, i w zależności jaka jes pobierał zmienne, nie wiem czy istnieje jakiś sposób na sprawdzenie rozdzielczości w phpie ale zma w java, tylko że wtedy jest tak jak wyzej, czyli php nie widzi cyfr tylko widzi zmienną nie wiem jak to zrobić
3
komentarz 10 marca 2018 przez Tomek Sochacki Ekspert (227,510 p.)
Ok, domyślam się już co chcesz zrobić. Proponuję jednak cofnąć się o krok i poczytać o różnicy między back-endem i frontem, a dokładniej między serverem a klientem, o protokole http, jak to wszystko działa itp.

Zastanów się też czy na pewno chcesz uzależniać back-end od rozdzielczości użytkownika. Wg mnie jest to zły kierunek. O back-endzie lepiej myśl jako o API, dostarczającym jakieś dane, a to w jaki sposób je wyświetlisz rób u klienta. To oczywiście w takim dużym skrócie ale na początek proponuję taką drogę.

Aby nie brnąć w jakieś udziwnione rozwiązania napisz proszę jakie dane wysyłasz z serwera do klienta i jak się one różnią w zależności od tej rozdzielczości, tzw. jak chciałbyś aby się różniły?

3 odpowiedzi

+1 głos
odpowiedź 10 marca 2018 przez Arkadiusz Waluk Ekspert (287,950 p.)
A co to ma niby być? Przypisujesz stringa z jakimś kodem JS i ma on się nagle zamienić w liczbę?

Jeśli liczyłeś na to, że ten skrypt się wykona to oczywiście nie. PHP jest językiem backendowym, działa po stronie serwera. Nie ma możliwości aby w taki sposób to wykonać.
komentarz 10 marca 2018 przez Arkadiusz Waluk Ekspert (287,950 p.)
Nadal nie wiem co chcesz docelowo zrobić. Masz te liczby i co z nimi? Bo jeśli np. potrzebujesz na tej podstawie dostosować wielkości elementów na ekranie to jest to w ogóle zła droga, lepiej to zrobić w CSS i mieć spokój. Jeśli te liczby mają służyć dla przykładu do wyświetlenia określonej liczby czegoś na stronie to będzie problem, bo za pierwszym wejściem na stronę nie będzie jeszcze tych danych - nie wiadomo ile wyświetlić. Dopiero gdy po załadowaniu pójdzie Ajax do serwera i zwróci on odpowiedź trzeba będzie z JS przebudować stronę i jeśli gdzieś zostanie ewentualnie to zapisane to przy każdym kolejnym wejściu będzie już znane. Mam nadzieję, że to rozumiesz i jeśli tak, to odruchowo powinien być pomysł, aby to wszystko zrobić po stronie frontendu. Mi ciężko więcej pomóc jak nie wiem co robisz.
komentarz 10 marca 2018 przez dervil Gaduła (3,030 p.)
będą służyć te zmienne do bazy danych i wyświetlania na stronie, właśnie zauważyłem że cookie nie działa za pierwszym wejściem, a mi właśnie chodzi o to by działało za pierwszym wejściem, normalnie masakra
komentarz 10 marca 2018 przez Arkadiusz Waluk Ekspert (287,950 p.)
Jest to więc niewykonalne. Nie wiem co to za dane i co ma się dokładnie dziać, ale frontend musi je dostać, on będzie miał dostęp do rozdzielczości i on wykona odpowiednie operacje. Innej opcji nie widzę.
komentarz 10 marca 2018 przez dervil Gaduła (3,030 p.)
dziwne że tak jest, standardowo php ma takie możliwości że pobiera ip za pomocą REMOVE_ADDR a nie jest w stanie pobrać rozdzielczości
komentarz 10 marca 2018 przez Arkadiusz Waluk Ekspert (287,950 p.)
IP jest używane w wielu miejscach do identyfikacji od kogo przyszedł request, rozdzielczość to jakiś szczegół przeglądarki. Tak po prostu jest, nic na to nie poradzisz.
+1 głos
odpowiedź 10 marca 2018 przez Ehlert Ekspert (212,670 p.)
Takich rzeczy się nie robi. Serwer odpowiada za dane, ich prawidłowość i logikę operacji wykonywanych na tych danych.

Warstwa klienta jest po to aby wyświetlić te dane w czytelnej postaci itp itd. Cały internet tak działa. Nawet gdy React jest generowany po stronie serwera.

Możesz Ajaxem wysłać rozdzielczość do twojej backendowej aplikacji, ale to zła praktyka, której się nie stosuje.

Pisz dobre style.
komentarz 10 marca 2018 przez dervil Gaduła (3,030 p.)
no pomóż bo nie wiem jak to zrobić, jak zrobić żeby php zadziałał odpowiednio do rozdzielczości monitora, php funkcja if
1
komentarz 10 marca 2018 przez Ehlert Ekspert (212,670 p.)

Nie wiem jak u Ciebie z umiejętnością czytania, ale napisałem Ci ze PHP nie powinien mieć nic wspólnego z rozdzielczością.

Podobne pytania

+1 głos
2 odpowiedzi 355 wizyt
pytanie zadane 23 lutego 2021 w JavaScript przez Darth Vader Początkujący (270 p.)
+1 głos
2 odpowiedzi 591 wizyt
pytanie zadane 8 marca 2020 w JavaScript przez czt1220968 Użytkownik (810 p.)
0 głosów
2 odpowiedzi 755 wizyt
pytanie zadane 25 listopada 2017 w JavaScript przez Grzegorz :> Dyskutant (8,050 p.)

92,555 zapytań

141,402 odpowiedzi

319,540 komentarzy

61,938 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!

...