Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Ta sama nazwa zmiennej ale inna wartość
Forum PHP.pl > Forum > Przedszkole
dominik_fil
Witam,
zaczynam od zera przygodę z PHP włączyłem sobie jedne z kursów dla zielonych i przerabiam go od początku.
Zastanawia robie sobie przykłady w jednym pliku.

I natrafiłem na początek na problem łamanie linii.
Na róznych stonacha szukałem i podają \n \n\r\ \r <br> <br /> <br/> i wordwrap

Z tych wszystkich działają mi te z br, ostatniego nie sprawdzałem bo jest za skomplikowane i uwazam, że w małym kodzie bez sensu pisać tyle znaków.

1. Ale mam pytanie dlaczego te pierwsze 3 nie działają \n \n\r\ \r
2. Dlaczego br bez slash i ze slash-em działają. Nie powinien działać tylko jeden?

A teraz problem główny z tematu.

Jestem przy zmiennych
  1. <?php
  2. $dzialanie = 120/3;
  3. echo("Wynik tego dzialania to: $dzialanie <br/><br>");
  4. $dzialanie = 2*10;
  5. echo "Wynik mnożenia to: $dzialanie";
  6. ?>


Dlaczego zmienna $dzialanie mimo, że jej nazwa się powtarza w echo jednym i drugim nie daje wyniku z pierwszej wartości tylko w echo pierwszym daje wynik 40, a w echo drugim 20. Dlaczego nie zgłasza jakiegoś błędu?
O ile dobrze rozumiem to wartość zmiennej pierwszej pamiętana jest do momentu aż nie zadeklaruje nowej wartości tej samej zmiennej niżej, czy tak?

Jeszcze jedno co widzę.
Otóż w kodzie html ma taka linijkę:

  1. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />

A na stronie w przeglądarce mam takie coś zmiennš, czy coś jeszcze w kodzie mi potrzeba do polskich znaków czy to wina przeglądarki i ustawień?
nospor
zmienna jak sama nazwa wskazuje może zmieniać wartości i nie ma w tym nic błędnego ani dziwnego.
Zapoznaj się wpierw z podstawami z jakiegoś kursu których w języku polskim jest pełno i to za darmo. Forum to nie miejsce na wyjaśnianie takich podstaw, nawet w dziale przedszkole.

Zaś co do kodowania:
skoro deklarujesz że używasz ISO-8859-2 to i w pliku masz pisać w tym kodowaniu. A ty pewnie piszesz w innym, np. w utf8. Się więc zdecyduj jakiego kodowania używasz i takie deklaruj i używaj
dominik_fil
Mam pakie do wyboru w Notepad++

nospor
UTF-8 (bez BOM)
i zmien wowczas deklaracje w html na utf8
dominik_fil
Dziękuję za odpowiedz i pomoc.

Dalej znalazłem iso na polskie znaki:

nospor
Nie uzywaj ISO. Iso to już staroć.
abort
ISO-8859-2 jest już ciutkę przestarzały. Użyj utf-8. To jest uniwersalne.
Kodowanie UTF8 bez BOM - i po zmianie nagłówka html nie trzeba nic więcej robić.
dominik_fil
Ok tak zrobię. Dzięki za pomoc panowie.

A jeszcze możecie powiedzieć coś odnośnie łamania linii?


<br> a <br/>
nospor
To są podstawy html/xhtml
Zapoznaj się z nimi. Nie męcz nas takimi pytaniami smile.gif
fate
dodam od siebie iz \n \n\r\ \r to łamanie linii w PHP w zaleznosci od systemu DOS/UNIX/MAC (nie wiem czy taka kolejnosc znajdziesz w manualu)

br to łamanie linii w x/HTML i tego ja w praktyce uzywam a dokladnie <br /> w skrocie nowsze bardziej semnatyczne i kompatybilne rozwiazanie oczywiscie kluczowa jest tu deklaracja dokumentu.

Cytat(dominik_fil @ 17.10.2012, 10:03:49 ) *
O ile dobrze rozumiem to wartość zmiennej pierwszej pamiętana jest do momentu aż nie zadeklaruje nowej wartości tej samej zmiennej niżej, czy tak?

TAK
nospor
Cytat
dodam od siebie iz \n \n\r\ \r to łamanie linii w PHP
Nie w php a w tekście... nie myl początkującego
fate
tak, oczywiscie mialem na mysli w tekście lecz interpretowane przez PHP teraz chyba klarownie i poprawnie się wyraziłem wstydnis.gif
nospor
Cytat
lecz interpretowane przez PHP
Nie.... php nie ma tu nic do gadania. W tekscie i koniec kropka. Zapomnij o php smile.gif

\n - to znak końca linii.
Owszem, taki zapis: echo "\n"; będzie interpetowany przez php - w tym sensie masz rację smile.gif
Trzeba tylko dodać że to wygeneruje znak końca linii, który i tak przez przeglądarkę nie będzie obsługiwany, gdyż w przeglądarce znak końca linii to br.
Ale wrzucenie tego do pliku już dawało by nową linie w pliku.

W sumie po namyśle to w ogóle miałeś racje smile.gif Trzeba tylko może było ciut doprecyzować smile.gif
dominik_fil
nospor wiem, że w html/xhmtl jest <br /> jako koniec linii,
ale ja to piszę w znacznikach php, dlatego pytam.

Bo z tego co napisałeś można wywnioskować, że kod html można wstawiać w znacznikach php.
nospor
Kod php służy między innymi do wygenerowania kodu html.
fate
Cytat(dominik_fil @ 17.10.2012, 15:18:34 ) *
nospor wiem, że w html/xhmtl jest <br /> jako koniec linii,
ale ja to piszę w znacznikach php, dlatego pytam.

Bo z tego co napisałeś można wywnioskować, że kod html można wstawiać w znacznikach php.

mozna np funkcja echo i print

http://php.net/manual/en/function.echo.php
http://pl1.php.net/manual/en/function.print.php

nosporTroche racji mialem troche doprecyzowales, sam sie ciagle ucze a chcialbym juz pomagac tam gdzie wymiataczom juz nie chce sie odpisywac w ramach wdzieczności za otrzymana pomoc ale racja nowicjuszom nie można mieszać bede mial to na uwadze nerdsmiley.png

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.