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

document.write

VPS Starter Arubacloud
0 głosów
716 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,550 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,550 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,550 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,550 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,630 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,630 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 331 wizyt
pytanie zadane 23 lutego 2021 w JavaScript przez Darth Vader Początkujący (270 p.)
+1 głos
2 odpowiedzi 577 wizyt
pytanie zadane 8 marca 2020 w JavaScript przez czt1220968 Użytkownik (810 p.)
0 głosów
2 odpowiedzi 712 wizyt
pytanie zadane 25 listopada 2017 w JavaScript przez Grzegorz :> Dyskutant (8,050 p.)

92,454 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...