Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zmienna nie jest liczbą?
xamrex
post
Post #1





Grupa: Zarejestrowani
Postów: 267
Pomógł: 1
Dołączył: 10.08.2007

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


Witam,
Naskrobałem skrycik, który jeśli user ma rozdzielczość (width) mniejszy niż 1280, to nie wyświetla reklam (gdyż wtedy się rozjeżdża strona)
  1. $width = "<script type='text/javascript'>document.write(''+screen.width+'');</script>";
  2.  
  3. if ( $width < 1280){
  4. echo ""; //nie wyswietla reklamy kiedy jest za mala rozdzialka
  5. }
  6. else {
  7. echo "tu jest skrypt reklam";
  8. }


No i nie działa.. (zawsze wyświetla reklamy)
Więc zrobiłem mały teści,
Zamiast
  1. if ( $width < 1280){

dałem
  1. if ( 1024 < 1280){

No i zadziałało..

To sobie myślę zmienna $width nie przechwytuje rozdzielczości..
Ale gdy wpiszę
  1. echo $width;

to jednak pokazuje mi się 1280

Co może być nie tak ?

Wydaje mi się, że problem jest w js(gdyż z js jest przekazywana zmienna)
no ale jeśli po wpisaniu:
echo $width; ukazuje mi się 1280, to dlaczego nie działa to w warunku?

Ten post edytował xamrex 3.06.2010, 09:51:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
croc
post
Post #2





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Widzę niektórzy tu ładne bzdury zapodają.

NIE MOŻESZ wrzucić bezpośrednio kodu JS do PHP oczekując, że serwer go przetworzy. Masz trzy sensowne wyjścia:

1. Najbardziej sensowne: warunek wyświetlania reklamy zawrzeć w kodzie JavaScript.
2. Przekazywać rozdzielczość ekranu do linku.
3. Wyświetlać reklamy Ajaxem.

Najlepiej wybierz opcję nr 1. Możesz nawet ustalić czy reklama ma się wyświetlać kiedy JS jest wyłączony. Ja bym tak zrobił, że po prostu reklama jest zawsze osadzona w kodzie, a skrypt JS po wczytaniu strony robi coś takiego
[JAVASCRIPT] pobierz, plaintext
  1. window.onload = function() {
  2. if(screen.width < 1280) {
  3. document.getElementById('reklama').style.display = 'none';
  4. }
  5. }
[JAVASCRIPT] pobierz, plaintext

To rozwiązanie ma jedną wadę - reklama wczyta się nawet jak rozdzielczość jest niższa, tylko po prostu zniknie. Ale to chyba najlepsze możliwe rozwiązanie.

Ten post edytował croc 3.06.2010, 11:38:49
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 13.10.2025 - 19:21