Drukowana wersja tematu
Forum PHP.pl _ PHP _ Wyświetlanie treśći z PHP do strony
Napisany przez: Eula 3.07.2014, 10:07:22
Cześć. Mam takie pytanie. W jaki sposób wyświetlić coś z PHP do strony? Nie chodzi mi tu o samo echo. Przykładowo. Mam panel logowania - wszystko pięknie. Klikam zaloguj wyskakuje błąd że podane dane są nieprawidłowe?
Daje przykład z interii.
Bo wyjściem "amatorskim" (w moim miemaniu) jest w odpowiednim miejscu w kodzie HTML umiejscowienie kodu PHP który tam ew. wypisuje że coś jest nie halo i jest błąd. Ew. zrobić to na returnach. Pozdrawiam i czekam na odpowiedź jak Wy to robicie!
Napisany przez: !*! 3.07.2014, 10:16:31
Cytat(Eula @ 3.07.2014, 11:07:22 )
Daje przykład z interii.
Bo wyjściem "amatorskim" (w moim miemaniu) jest w odpowiednim miejscu w kodzie HTML umiejscowienie kodu PHP który tam ew. wypisuje że coś jest nie halo i jest błąd.
To dobrze kombinujesz.
Po wysłaniu formularza i jego walidacji sprawdzasz czy występują błędy, jak tak to je wyświetlasz.
Napisany przez: Michael2318 3.07.2014, 10:17:47
Do tego stosuje się system szablonów - jest to taki pomost pomiędzy kodem HTML/CSS (wyglądem), a PHP. W plikach .tpl (bo takie rozszerzenie mają pliki systemów szablonów) znajduje się sam kod HTML, tak aby nie mieszać go z kodem PHP.
Przykład ze starego systemu szablonów phpBB:
if ( $pass !== $real_password )
{
$error = 'Błędne hasło!';
}
$template->assign_block_vars('err_true', http://www.php.net/array(
'ERROR_VALUE' => $error)
);
a w kodzie HTML (pliku .tpl):
Kod
<!-- BEGIN err_true -->
<div class="error_class">
{err_true.ERROR_VALUE}
</div>
<!-- END err_true -->
Zakładam, że o to Ci chodziło.
Napisany przez: Eula 3.07.2014, 10:20:30
Ta? Myslałem sie ze będzie coś by zapobieg burdelowi w kodzie.
Czyli jak. Np?
function getPrint() {
return "Bum!";
}
<http://december.com/html/4/element/div.html id="logowanie">
<?php echo getPrint(); ?>
</http://december.com/html/4/element/div.html>
Taki byle jaki przykład. Ta?
--
EDIT:
Szczerze, to czytałem o szablonach i nie wiem czy są mi potrzebne. One też narzucają dodatkową rzecz w kodzie, i efekt jest podobny. Chyba że to tylko jest w szablonie smarty czy jakoś tak.
Napisany przez: Michael2318 3.07.2014, 10:23:25
To jak Ty to zrobisz to już Twoja sprawa. Chodzi tutaj o wygodę dla samego Ciebie. Jeśli uważasz, że klepanie 1500 funkcji jest dla Ciebie wygodne, a większość z tych funkcji będzie zwracać dwa/trzy słowa no to możesz i tak.
Natomiast 99% programistów korzysta z systemu szablonów (google -> php prosty system szablonów).
Na pewno znajdziesz sporo informacji m.in. o tzw. smarty, ale to dosyć spora kobyła.
EDIT:
Zbędną rzecz w kodzie? To teraz sobie wyobraź, że masz system logowania w jednym pliku, razem z php i html, kod zawiera ~2200 linii i odnajdź się w tym burdelu. Powodzenia ;p
Cytat
i efekt jest podobny
efekt to zawsze będzie dokładnie taki sam - zobaczysz w widoku zwykłą stronę. Chodzi o Ciebie, jako programistę i o Twoją wygodę podczas tworzenia swoich "wypocin"
Napisany przez: Turson 3.07.2014, 10:25:28
Błędy powinna zwrócić jedna funkcja, więc o burdelu w kodzie PHP nie ma mowy, do tego MVC nadaje się idealnie.
Napisany przez: aras785 3.07.2014, 10:27:58
Strukturalnie i prosto :
//deklaracja zmiennej z błędami
$messages = http://www.php.net/array();
if(http://www.php.net/isset($_POST['email'])) {
if(!http://www.php.net/empty($_POST['email'])) {
if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
// wszystko ok
}else $messages[]='Proszę podać poprawny email';
}else $messages[]='Pole email jest wymagane';
}
i później robisz komunikat o ew. błędach
foreach($messages as $message) {
http://www.php.net/echo $message.'<br />';
}
Napisany przez: !*! 3.07.2014, 10:40:14
Cytat(Eula @ 3.07.2014, 11:20:30 )
Szczerze, to czytałem o szablonach i nie wiem czy są mi potrzebne. One też narzucają dodatkową rzecz w kodzie, i efekt jest podobny. Chyba że to tylko jest w szablonie smarty czy jakoś tak.
PHP jest system szablonów. To czy wpiszesz na stronie {$foo} czy <?php echo $foo;?> nie ma znaczenia. Nakładki jak smarty czy twig są dla ludzi którzy mają uczulenia na znaczniki <?php ?> pomiędzy html.
Napisany przez: Eula 3.07.2014, 10:53:19
Ok, poczytam o szablonach. Dzięki za sprawną i szybką pomoc.
Napisany przez: by_ikar 3.07.2014, 14:54:08
Cytat(Michael2318 @ 3.07.2014, 11:23:25 )
To jak Ty to zrobisz to już Twoja sprawa. Chodzi tutaj o wygodę dla samego Ciebie. Jeśli uważasz, że klepanie 1500 funkcji jest dla Ciebie wygodne, a większość z tych funkcji będzie zwracać dwa/trzy słowa no to możesz i tak.
Natomiast 99% programistów korzysta z systemu szablonów (google -> php prosty system szablonów).
Sorry ale argument z ilością programistów korzystających z szablonów jest inwalidą. To że jest jakiś hype na twigi czy inne udziwnienia, nie oznacza że jest to słuszne, w momencie kiedy php bardzo dobrze sobie radzi jako system szablonów. I znam całą masę ludzi którzy są przeciwnikami wszelkiej maści szablonów, które wprowadzają swój kolejny "język" skryptowy, którego musi uczyć się kolejna osoba.
Cytat
Zbędną rzecz w kodzie? To teraz sobie wyobraź, że masz system logowania w jednym pliku, razem z php i html, kod zawiera ~2200 linii i odnajdź się w tym burdelu. Powodzenia ;p
Od tego jest IDE które ma odpowiednie narzędzia do przeszukiwania takiego kodu, raz że nie koniecznie powinno się w jednym pliku wszystko pakować, a dwa że w tym kodzie jest na bank kilka elementów które można by rozbić na osobne moduły/szablony/templatki/cokolwiek. Jak już zachwalasz tak systemy szablonów, powinieneś też wziąć pod uwagę że praktycznie większość z nich daje możliwość "includowania" innego szablonu. Więc IMO ten argument również jest inwalidą.
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)