Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Poprawna zamiana kodu HTML na PHP
Forum PHP.pl > Forum > Przedszkole
gaculla
Cześć!

Razem z kolegą zajmujemy się tworzeniem stron internetowych, grafiką itd. Obecnie pracujemy na (x)HTML i CSS. Pragnę "wejść" w strony dynamiczne (mam doświadczenie z Joomla i OpenCMS), lecz zależy mi na pisaniu własnych CMS'ów, sklepów i programów w PHP (w pełni zgodnych z SEO oraz walidatorami).

Zależy mi na tym, aby moją stronę (która jest stworzone w HTML, w pełni zgodna z W3C), umieścić w kodzie PHP. Mam wyróżnione: nagłówek, stopkę, menu, treść, znaczniki meta - wszystko to, co potrzeba. Chcę wyeliminować przeładowywania strony, ale z zachowaniem zgodności kodu; zależy mi również na usprawnieniu zmian w kodzie (zmiana w jednym miejscu, zamiast w 10 nagłówkach na każdej stronie HTML).

Czy ktoś może pomóc mi z tym zagadnieniem? Doświadczeni programiści będą wiedzieli, o co chodzi. PS. Nie omieszkam kliknąć "Pomógł mi" ;-)
wookieb
No ale co ty chcesz. Kursu grupowego? Wystarczy poczytac kursy, poszukać co chcesz na forum i heja.
To co ty teraz piszesz to kompletne lenistwo. Chcesz by ci podano jedzenie na tacy skoro możesz sam wstać i wziąć je ze stołu.
gaculla
Rozumiem, że to jest rozwiązanie: http://pl.php.net/manual/pl/function.include.php. Pytanie - czy przy stworzeniu w ten sposób pliku "index.php" i wklejeniu tam przy pomocy instrukcji include pozycjonowanie będzie przebiegało prawidłowo? Czy strona sklejona w ten sposób przejdzie walidację?

Już początek kodu ("<?php") może powodować konflikt.
wookieb
<?php nie widac na stronie anie tego co tam zawarte.
Poza tym co do tego ma pozycjonowanie. Poczytaj o SEO i co wpływa na wysoką pozycję w wyszukiwarkach.
Po trzecie wywal proszę oznaczenie "pomógl" z mojego posta bo tak naprawde nie pomaga a myli ludzi.
#luq
gaculla najpierw wypadałby poznać czym jest PHP.
PHP tak naprawdę tworzy kod (x)HTML, także jako tako on sam nie może być przyczyną niezgodności w W3C.

Cytat
Chcę wyeliminować przeładowywania strony

PHP tego nie da. Poczytaj na temat JS, Ajax, ew. Flash, Flex
gaculla
#lug, przeładowanie nie odnosi się do preloadingu, lecz do zmiany zawartości widocznego ekranu (np. nagłówek - jeżeli jest ten sam, ma załadować się jeden raz). Mam podstawowe informacje o PHP i zdaję sobie sprawę, nt. tego, jak ingeruje w kod, lecz nigdy praktycznie go nie stosowałem.

wookieb, niestety nie mogę usunąć "pomógł mi"; kliknąłem to, gdyż odebrałem to jako pozytywny kop w d ;-)

Czy plik index.php powinen nie zawierać nic oprócz odnośników, czy również odrobinę meta (np. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">)?
DREEMus
przykładowy plik index.php
  1. <?PHP
  2. require_once 'cos.inc';
  3. $strona = strona ();
  4. $_GET = array_map ( 'strip_tags', $_GET );
  5. // kończysz działanie PHP ...
  6. ?>
  7. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  8. <html>
  9. <?PHP // zaczynasz ponownie ...
  10. require_once 'head.inc';
  11. // znowu kończysz ...
  12. ?>
  13. <body>
  14. i dalej kod HTML ...

aha plik "head.inc" ...
  1. <head>
  2.        <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  3.        <meta name="Description" content="<?PHP echo $strona['description']; ?>">
  4.        <meta name="Keywords" content="<?PHP echo $strona['keywords']; ?>">
  5.        <meta name="Author" content="<?PHP echo $strona['author']; ?>">
  6.        <title><?PHP echo $strona['tytul']; ?></title>
  7.        <link rel="stylesheet" href="/css/style.css" type="text/css">
  8.        <link rel="stylesheet" href="/css/lightbox.css" type="text/css">
  9.        <script src="/js/effects.js" type="text/javascript"></script>
  10.        <script src="/js/prototype.js" type="text/javascript"></script>
  11.        <script src="/js/scriptaculous.js" type="text/javascript"></script>
  12.        <script src="/js/lightbox.js" type="text/javascript"></script>
  13. </head>
lnn
gaculla a przeczytales chociaz jeden tutorial jak co zrobic?
http://pl.php.net/manual/pl/function.require.php
http://pl.php.net/manual/pl/function.require.php

chyba chodzi ci o to zeby nie zmieniac podstawowych czesci strony tylko zmieniac w jednym pliku??

a co do przeładowania to raczej AJAX (zapytuje baze danych bez przeladowania strony) ale to chyba nie o az tak zaawansowane programowanie Ci chodzilo..

poza tym Twoj post zabrzmial jak jakas reklama.. "Zajmujemy sie tworzeniem stron internetowych" - brzmi zaawansowanie, a jak widac nie macie pojecia o czyms takim jak google
gaculla
Przeczytał, ale jeszcze nie wiele zrozumiał. Uczy się. Dziś jest pierwszy dzień PHP.
Cytat(lnn)
gaculla a przeczytales chociaz jeden tutorial jak co zrobic?
http://pl.php.net/manual/pl/function.require.php

Dokładnie o to mi chodzi. Mam ładny kodzik i chcę go optymalizować bez konieczności zmiany w każdym pliku.
Cytat(lnn)
chyba chodzi ci o to zeby nie zmieniac podstawowych czesci strony tylko zmieniac w jednym pliku??

Nie chciałem, żeby tak brzmiał. Znam nieźle HTML, CSS, kumpel jest od wstawek flashowych, grafiki i design'u - ogólnie dajemy radę, ale potrzeba czegoś więcej. Trzeba się rozwijać.
Cytat(lnn)
poza tym Twoj post zabrzmial jak jakas reklama.. "Zajmujemy sie tworzeniem stron internetowych" - brzmi zaawansowanie, a jak widac nie macie pojecia o czyms takim jak google


DREEMus, dzięki za przykłady kodu, ale potrzebuję czegoś bardziej basic. PS. Byłem na Twoich stronach (link w stopce oraz w opisie profilu) i naprawdę kawał kodu tam masz - respect.
DREEMus
dałem Ci właśnie "basic" smile.gif
nie ma tam za dużo ... wyświetla parę zmiennych i "dołączasz" jeden plik z sekcją HEAD, i wszędzie masz taki sam, a zmieniasz w jednym miejscu smile.gif
Pride
@Gaculla powiedz nam czego ty tak na prawdę oczekujesz? Żeby Ci ktoś zrobił stronę www? Bo tak to brzmi. Google nie chce używać, wyszukiwarki na forum też nie, własnego wkładu ZERO.

Chcesz czegoś bardziej podstawowego? Okej:

index.php
  1. <?php
  2. echo 'Hello World!';
  3. ?>

Teraz z łaski swojej wklej to w google i poczytaj sobie kursy PHP. Nikt nie mówi, że nie masz pytać, ale do jasnej choroby miej chociaż jakąś ELEMENTARNĄ wiedzę!
#luq
Cytat(gaculla @ 15.04.2009, 17:16:58 ) *
#lug

luq
gaculla
luq, zaiste.

Pride, już jednego "pomógł mi" dałem za kopa w d, Ty się nie załapałeś ;P Otóż wkład własny jest spory, lecz ten typ tak ma, że pierwsze kroki są b.trudne. Wczoraj był pierwszy dzień PHP, stworzyłem już kilka plików *.php, lecz jak dotąd nie działa. Próbuję dalej. Lubisz spanking? Pomyliłeś fora.

Oto rozwiązanie dla każdego zainteresowanego:

Krok 1: Tworzymy plik "index.php", który może wyglądać tak:
CODE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<html>
<head>
<title>SAMPLE</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div id="content">
<div id="topmenu">
<p>
<a href="?go=start"><strong>Start</strong></a>&nbsp;&nbsp;&nbsp;
<a href="?go=onas"><strong>O nas</strong></a>&nbsp;&nbsp;&nbsp
<a href="?go=oferta"><strong>Oferta</strong></a>&nbsp;&nbsp;&nbsp;
<a href="?go=kontakt"><strong>Kontakt</strong></a>&nbsp;&nbsp;
</p>
</div>
<?php if(isset($_GET['go'])) include(addslashes($_GET['go'].'.php')); else include('start.php'); ?>
</div>
<div id="footer">
<p>2009 &copy; Copyright by SAMPLE. Wszelkie prawa zastrzeżone.</p>
</div>
</div>
</body>
</html>


Krok 2: Tworzymy podstrony (wszystkie z rozszerzeniem *.php). Oto przykład onas.php:
CODE

<div id="tresc">
<h1>O nas</h1>
<p class="text_onas">SAMPLE</p>
</div>


Cała magia dzieje się za sprawą linijki:

<?php if(isset($_GET['go'])) include(addslashes($_GET['go'].'.php')); else include('start.php'); ?>

Pozdrawiam i dziękuję za uczestnictwo w temacie.
Pride
No, a gdzie tu logika tworzenia *.php w którym jest tylko html? Podobnie z go=xyz - wszyscy od tego "odchodzą" na rzecz *.html albo domena.pl/xyz/ - aby roboty wyszukiwarki lepiej przeglądały stronę.
gaculla
Pride, czy mógłbyś zaproponować (np. na bazie mojego przykładu) swój pomysł?

Cytat(Pride @ 17.04.2009, 19:24:49 ) *
No, a gdzie tu logika tworzenia *.php w którym jest tylko html? Podobnie z go=xyz - wszyscy od tego "odchodzą" na rzecz *.html albo domena.pl/xyz/ - aby roboty wyszukiwarki lepiej przeglądały stronę.


Czy ktoś mógłby podać jakiś link do materiału, jak robić takie rozszerzenia, sugerowane przez Pride'a?
tornax
Wogóle za szybko ...

Doświadczenie z "Joomla i OpenCMS" to żadne doświadczenie w PHP jeżeli tylko używałeś tych CMS'ów. Ogranicz sobie ambicji trochę i nie nadużywaj mniej lub bardziej fachowego słownictwa, którego do końca nie rozumiesz, lepiej po laicku bo wtedy wiadomo, że nieznasz tematu, niż udawać i wprowadzać w błąd czytających.


Pierwsze, znajdź sobie porządny tutorial PHP, idę o głowę, że napewno znajdą się linku tutaj na forum. Przerób sobie wszystkie podstawy w zależności od tego czy już pisałeś w jakimś innym języku czy nie (i jakim) to odpowiednie sekcje będziesz sobie mógł pominąć. Zrób jakieś proste generatory, łącznie się z bazą ale na boga ... wszystko SOLO, osobno działające skrypty, a nie cały wielki projekt jako "dobry" pomysł na naukę PHP

sciana.gif

Drugie, jak trochę się połapiesz zacznij sobie przeglądać jakieś proste biblioteki aby zobaczyć jak inni ludzie piszą. Jakieś proste klasy do wysyłania maili, łącznia z bazą (tu akurat jest PDO - do poczytania na php.net), czy innych rzeczy. Jak zaczniesz to rozumieć napisz jakieś swoje (pseudo)biblioteki albo pojedyńcze klasy

dry.gif

Trzecie. Zacznij patrzeć co w takich CMS'ach piszczy, proponowałbym też pomyśleć o jakiś frameworku - jakim? Tego Ci już nie powiem, sam każdy dobiera wedle własnego uznania, jest szansa, że nawet jeżeli się jednego nauczysz to kiedyś będziesz musiał zmienić go na inny, takie życie. Jak już będziesz na tym etapie to wtedy możesz zabierać się za poważne rzeczy.

Z własnego doświadczenia: pisanie dużych rzeczy na własną rękę bez wprawy to samobójstwo - jeżeli brak Ci solidnych podstaw to się z tym zwyczajnie nie spiesz, przyjdzie Ci zrobić coś za pieniądze i nieźle się na tym przejedziesz.

Jednak jeżeli już koniecznie musisz pisać takie rzeczyto j/w rzuć okiem na to jak w jakimś (jakiś) frameworkach są takie rzeczy rozwiązane. Zobaczysz sobie też pewnie jak wyglądają takie validatory.
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.