Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP] Pisanie kodu PHP w HTML
deha21
post 5.12.2009, 11:49:28
Post #1





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


Witam,
Pytanie teoretyczne. Jak poprawnie/lepiej jest pisać stronę, czy robiąc np.:
  1. <div>Blabla</div>
  2. <div><? echo "Coś tam".$jakiśkod."<br>"; ?></div>


Czy może całość pisać w echo w PHP?

Pozdrawiam


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
piotrekk
post 5.12.2009, 12:27:22
Post #2





Grupa: Zarejestrowani
Postów: 123
Pomógł: 2
Dołączył: 13.11.2006

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


Ja robię i tak i tak w zależności od wymagań jakie ma spełniać dany element.
Chyba nie ma różnicy czy tak czy tak....bynajmniej ja nie zauważyłem.
Go to the top of the page
+Quote Post
Kszyhuu
post 5.12.2009, 12:42:10
Post #3





Grupa: Zarejestrowani
Postów: 157
Pomógł: 32
Dołączył: 24.08.2009

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


Jest różnica i to dość istotna moim zdaniem. O wiele lepiej jest pisać tak, jak to pokazałeś. Pisanie całości w echo może sprawiać problemy z niektórymi znakami. Tj jeżeli wstawiasz tekst do echo pomiędzy ' ' albo " " to tych znaków nie możesz już używać, bo wywali parse errora. smile.gif
Go to the top of the page
+Quote Post
lessi
post 5.12.2009, 13:09:44
Post #4





Grupa: Zarejestrowani
Postów: 89
Pomógł: 12
Dołączył: 1.12.2009

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


Ty właśnie zrobiłeś błąd z echem powinno być raczej
  1. <div>Blabla</div>
  2. <div><? echo "Coś tam $jakiśkod <br>"; ?></div>

albo
  1. <div>Blabla</div>
  2. <div><? echo 'Coś tam '. $jakiśkod .'<br>'; ?></div>


Ten post edytował lessi 5.12.2009, 13:10:49
Go to the top of the page
+Quote Post
Kszyhuu
post 5.12.2009, 13:44:43
Post #5





Grupa: Zarejestrowani
Postów: 157
Pomógł: 32
Dołączył: 24.08.2009

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


Cytat(lessi @ 5.12.2009, 13:09:44 ) *
Ty właśnie zrobiłeś błąd z echem powinno być raczej
  1. <div>Blabla</div>
  2. <div><? echo "Coś tam $jakiśkod <br>"; ?></div>

Jaja sobie robisz, nie? biggrin.gif Ciekawe jak ma załapać zmienną bez odpowiedniego łączenia stringów. smile.gif Wrzuć to do edytora ze sprawdzaniem składni i sprawdź efekt.

Dobre jest rozwiązanie zawarte w pierwszym poście, oraz Twoja druga propozycja, czyli:
  1. <div>Blabla</div>
  2. <div><? echo 'Coś tam '. $jakiśkod .'<br>'; ?></div>

&
  1. <div>Blabla</div>
  2. <div><? echo "Coś tam".$jakiśkod."<br>"; ?></div>


Go to the top of the page
+Quote Post
lessi
post 5.12.2009, 14:12:39
Post #6





Grupa: Zarejestrowani
Postów: 89
Pomógł: 12
Dołączył: 1.12.2009

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


Cytat(Kszyhuu @ 5.12.2009, 13:44:43 ) *
Jaja sobie robisz, nie? biggrin.gif Ciekawe jak ma załapać zmienną bez odpowiedniego łączenia stringów. smile.gif Wrzuć to do edytora ze sprawdzaniem składni i sprawdź efekt.

Dobre jest rozwiązanie zawarte w pierwszym poście, oraz Twoja druga propozycja, czyli:
  1. <div>Blabla</div>
  2. <div><? echo 'Coś tam '. $jakiśkod .'<br>'; ?></div>

&
  1. <div>Blabla</div>
  2. <div><? echo "Coś tam".$jakiśkod."<br>"; ?></div>

A ty próbowałeś mojej wersji? Oczywiście można tak zrobić ale są dwie wersje echo aby je wykorzystywać. Wersja z ' interpretuje wszystko dosłownie. Czyli jak znajdzie się zmienna to wyświetli nazwę np.
  1. echo 'coś tam $jakiskod';

Otrzymamy coś tam $jakiskod. A jeżeli użyjemy w cudzysłowie ($jakiskod="wartość") to:
  1. echo "coś tam $jakiskod";

otrzymamy coś tam wartość. Zobacz u siebie
Go to the top of the page
+Quote Post
Kszyhuu
post 5.12.2009, 14:29:22
Post #7





Grupa: Zarejestrowani
Postów: 157
Pomógł: 32
Dołączył: 24.08.2009

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


Cytat(lessi @ 5.12.2009, 14:12:39 ) *
A ty próbowałeś mojej wersji? Oczywiście można tak zrobić ale są dwie wersje echo aby je wykorzystywać. Wersja z ' interpretuje wszystko dosłownie. Czyli jak znajdzie się zmienna to wyświetli nazwę np.
  1. echo 'coś tam $jakiskod';

Otrzymamy coś tam $jakiskod. A jeżeli użyjemy w cudzysłowie ($jakiskod="wartość") to:
  1. echo "coś tam $jakiskod";

otrzymamy coś tam wartość. Zobacz u siebie


No spoko, ale zakładając, że zmienna $jakiśkod będzie zdefiniowana tak:
  1. $jakiśkod= mysql_escape_string($_POST['jakiśformularz']);
  2. //ALBO
  3. $jakiśkod= mysql_query("SELECT * FROM jakaśtabela WHERE jakaśkolumna= 'jakaśwartość'");

To używając metody z " " też będziemy musieli rozdzielić stringi tak jak napisałem, żeby wyświetliło jakąś tam zmienną, a nie zwykły napis. Jeżeli zrobisztak jak pokazałeś, czyli:
  1. echo 'coś tam $jakiskod';
  2. //LUB
  3. echo "coś tam $jakiskod";

To nie wyświetli Ci wartości zmiennej, tylko napis:
coś tam $jakiśkod
choć powinno wyświetlić np
coś tam 15
Go to the top of the page
+Quote Post
lessi
post 5.12.2009, 14:53:40
Post #8





Grupa: Zarejestrowani
Postów: 89
Pomógł: 12
Dołączył: 1.12.2009

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


Cytat(Kszyhuu @ 5.12.2009, 14:29:22 ) *
No spoko, ale zakładając, że zmienna $jakiśkod będzie zdefiniowana tak:
  1. $jakiśkod= mysql_escape_string($_POST['jakiśformularz']);
  2. //ALBO
  3. $jakiśkod= mysql_query("SELECT * FROM jakaśtabela WHERE jakaśkolumna= 'jakaśwartość'");

To używając metody z " " też będziemy musieli rozdzielić stringi tak jak napisałem, żeby wyświetliło jakąś tam zmienną, a nie zwykły napis. Jeżeli zrobisztak jak pokazałeś, czyli:
  1. echo 'coś tam $jakiskod';
  2. //LUB
  3. echo "coś tam $jakiskod";

To nie wyświetli Ci wartości zmiennej, tylko napis:
coś tam $jakiśkod
choć powinno wyświetlić np
coś tam 15

Z echo 'coś tam $jakiskod' oczywiście że wyskoczy coś tam $jakiśkod. Ale w obu przypadkach:
  1. $jakiśkod= mysql_escape_string($_POST['jakiśformularz']);
  2. //ALBO
  3. $jakiśkod= mysql_query("SELECT * FROM jakaśtabela WHERE jakaśkolumna= 'jakaśwartość'");

Otrzymamy wartość zmiennej. Tak otrzymałem sprawdzając twoje argumenty.
  1. $result=mysql_query("SELECT imie, nazwisko from users where login='lessi'");
  2. while ($row=mysql_fetch_row($result))
  3. {
  4. echo "Coś tam $row[0] $row[1] ahahahh";
  5. }

Otrzymałem - Coś tam L***** S***** ahahahh

Ten post edytował lessi 5.12.2009, 14:58:45
Go to the top of the page
+Quote Post
Meares
post 5.12.2009, 14:59:58
Post #9





Grupa: Zarejestrowani
Postów: 102
Pomógł: 13
Dołączył: 16.10.2009
Skąd: Łódź

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


Zamiast się kłócić dowiedzcie się jaka jest różnica pomiędzy stringami otoczonymi apostrofami, a tymi otoczonymi cudzysłowami.
Cobyście się nie naszukali:

Tekst w stringach otoczonych apostrofami (') jest traktowany dosłownie:
  1. $a = 1;
  2. echo '$a';
Zwróci nam:
Cytat
$a
Natomiast wartości stringów otoczonych cudzysłowami (") jest "podmieniana" (w wypadku zmiennych):
  1. $a = 1;
  2. echo "$a";
Zwróci nam:
Cytat
1
Nie można napisać tak (w żadnych wypadku):
  1. $a = 1;
  2. echo "jakas_funkcja($a)";
Gdyż w przypadku zastosowania cudzysłowów zwróci nam:
Cytat
jakas_funkcja(1)
A w wypadku zastosowania apostrofów:
Cytat
jakas_funkcja($a)


Co do tematu:
Najlepiej jest stosować szablony Smarty, albo OPT. A najlepiej jest pisać w MVC.

Ten post edytował Meares 5.12.2009, 15:04:00


--------------------
manual mmocenter
Nie pomagam na PW!
Go to the top of the page
+Quote Post
peter13135
post 5.12.2009, 15:03:28
Post #10





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


na pewno lepiej jest użyć
  1. echo 'lalala'.$zmienna;
niż
  1. echo "lalal $zmienna";
ze względów optymalności, jednak obie wersje będą działały.

nie jestem programistą, a jedynie osobą która się tym troche interesuje więc proszę nie brać tego co mówie jako pewnik.

Uważam że najlepiej jest użyć systemu szablonów by nie mieszać kodu php z resztą czyli html css js itd...
chyba najbardziej znany system szablonów to smarty, ja go nigdy nie używałem bo uważam że jest trochę za duży, nie zrozumiały dla mnie, napisałem swój własny. Jak to ma się do wydajności ? na pewno będzie wolniej, z tego co wiem systemy szablonów zawsze korzystają z wyrażeń regularnych które nie są zbyt szybkie. Ale za to mamy 2 korzyści
1. mniej bałąganu dzięki oddzieleniu kodu php od reszty
2. łatwa zmiana szablonów ;] - można tak skrypt napisać żeby wczytywał różne themy


--------------------
:)
Go to the top of the page
+Quote Post
lessi
post 5.12.2009, 15:06:43
Post #11





Grupa: Zarejestrowani
Postów: 89
Pomógł: 12
Dołączył: 1.12.2009

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


Cytat(Meares @ 5.12.2009, 14:59:58 ) *
Zamiast się kłócić dowiedzcie się jaka jest różnica pomiędzy stringami otoczonymi apostrofami, a tymi otoczonymi cudzysłowami.
Cobyście się nie naszukali:

Tekst w stringach otoczonych apostrofami (') jest traktowany dosłownie:
  1. $a = 1;
  2. echo '$a';
Zwróci nam:Natomiast:
  1. $a = 1;
  2. echo "$a";
Zwróci nam:

Nie napisałem o tym wprost ale o tym miałem cały czas na myśli
Dodatkowo opcja (" ") na dodatkowo inne funkcje m. in.
Nowa linijka - /n
Tabulator - /t
Jednak ja wolę pisać z (' ') ponieważ bardziej oddziela zmienną od reszty kodu.

Ten post edytował lessi 5.12.2009, 15:08:41
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 09:34