Kako povezati menu i sadržaj stranice

Lijepi pozdrav svima!

Imam jedno početničko pitanje, iako već dugo održavam svoje web
stranice (oni među vama koji me znaju od prije, znaju da je moje znanje o web
dizajnu amatersko).

Radi se o tome da bih željela izgled svog weba uniformirati, da
postoji barem nešto što je zajedničko svim njegovim dijelovima, a to nešto bi
bio zajednički menu na vrhu svih stranica. Naravno, ne znam ga napraviti sama,
pa sam krenula tražiti diljem weba, i Bože dragi, kako je to teško za onoga tko
se baš i ne bavi izradom weba.

Na jednoj sam stranici našla dosta jasno objašnjeno što trebam kamo
kopirati da bih dobila ovakav menu.

Problem je što ne znam kako da sad to povežem sa web stranicama koje
već imam na svom webu, dakle kako postići da klikom na neki link u tom meniju,
ispod menija dobijem odgovarajući sadržaj. Ako u neki href ubacim nešto, to će
se otvoriti preko cijele stranice, bez ovog menija na vrhu.

Kako to povezati?

Unaprijed puno hvala na odgovoru!

Antonija

I samo da komentiram da mi je trebalo pola sata da pošaljem gornji post (nakon utipkavanja). Nakon svakog klika na Pošalji, napisao mi je da ima neku nepoznatu grešku u spremanju i nešto o serveru.

Sva sreća da sam bez veze išla izbaciti linkove i tada mi je post prošao. Kad sam nakon toga krenula na edit posta, tj. na ponovno ubacivanje linkova, e, tad mi je jasno napisao da novi članovi ne mogu staviti više od 2 linka u post (a ja sam pokušavala s 3).

Tako jasno bi trebao napisati i kod početnog slanja posta, ona agonija je zbilja bez veze…, a i mogla sam uopće ne uspjeti poslati…

A treći link koji sam htjela poslati vodi na stranice sa kojih sam uzela kood o kojem sam pisala u prošlom postu.

Evo napravio sam ti primjer samo skini i raspakiraj http://www.speedyshare.com/XaURa/menu-test.zip

Ako hoces taj meni na svim stranicama samo moras kopirat kod od menija na svaku stranicu

Hvala, kužim.

No, postoji li drugi način, pa da ne moram na svaku stranicu pojedinačno kopirati taj menu? Naime, moj web ima 100-tinjak stranica.
Nije tako strašan problem staviti to na njih 100, međutim ako nekad odlučim dodati što u menu, onda ću morati opet na svih 100, a ako pogriješim neki detalj ili se odlučim za ponovnu promjenu, onda opet na svih 100…

Ne može li se u jednom fajlu držati taj meu, pa da druge stranice samo “pozivaju” na svom početku taj fajl, i kad izvršim izmjenu u tom jednom fajlu, da se vidi u svima…?

Naravno da može samo ti stranice moraju imat .php extenziju a ne .html da mozes includat file.
Napravis ovako index.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />

    <meta charset="utf-8" />
    <title>Responsive menu | Script Tutorials</title>

    <link href="css/main.css" rel="stylesheet" type="text/css" />
</head>
<body>

    <!-- menu pocetak -->

    <div class="container">
        <?php include 'menu.php'; ?>
    </div>

    <!-- menu kraj -->

    <!-- stranica -->
    <div style="clear:both;"></div>
    
    <div class="glavni-container">

    <h1>Ovo je naslov</h1>

        <p>Ovdje ide sadrzaj</p>

    </div>

    <!-- stranica kraj -->

</body>
</html>

i menu.php

<ul id="nav">
            <li><a href="index.html">Početna</a></li>
            <li><a href="#s1">Matematiči kutak</a>
                <span id="s1"></span>
                <ul class="subs">
                    <li><a href="#">Header a</a>
                        <ul>
                            <li><a href="#">Submenu x</a></li>
                            <li><a href="#">Submenu y</a></li>
                            <li><a href="#">Submenu z</a></li>
                        </ul>
                    </li>
                    <li><a href="#">Header b</a>
                        <ul>
                            <li><a href="#">Submenu x</a></li>
                            <li><a href="#">Submenu y</a></li>
                            <li><a href="#">Submenu z</a></li>
                        </ul>
                    </li>
                </ul>
            </li>
            <li class="active"><a href="#s2">Školski matematički dio</a>
                <span id="s2"></span>
                <ul class="subs">
                    <li><a href="#">Header c</a>
                        <ul>
                            <li><a href="citanje-i-pisanje.htm">Učimo čitati i pisati</a></li>
                            <li><a href="Mala-web-skola/index.html">Mala web škola</a></li>
                        </ul>
                    </li>
                    <li><a href="#">Header d</a>
                        <ul>
                            <li><a href="#">Submenu x</a></li>
                            <li><a href="#">Submenu y</a></li>
                            <li><a href="#">Submenu z</a></li>
                        </ul>
                    </li>
                </ul>
            </li>
            <li><a href="#">Menu 3</a></li>
            <li><a href="#">Menu 4</a></li>
            <li><a href="#">Menu 5</a></li>
            <li><a href="http://www.script-tutorials.com/css3-responsive-menu/">Back</a></li>
        </ul>

I onda gdje hoćeš menu, samo staviš <?php include 'menu.php'; ?>

Puno hvala na uputama, poigrat ću se malo s tim, iako nisam na ti s php-om i čini mi se da će mi to zakomplicirati neke stvari…

A zašto nisu i u običnom HTML-u omogućili da se na određenom dijelu stranice učitava dio s druge stranice…?

Pa ne moraš ti ništa radit sa php-om ako nećeš, bitno je da je extenzija .php a unutra radiš sve normalno html i css code.

A možeš si napravit i ovako u index.php staviš ovaj code

<!DOCTYPE html>
<html>
<head><title>Test stranica</title></head>
<body>
<div id="glavni">
<div id="navigacija">
     <?php include "menu.php"; ?>
</div>

 <div id="glavna stranica">
<?php
	  if (isset($_GET['page'])) {
	  $page = $_GET['page'].'.php';
	  if(file_exists($page)) {
	  include $page;
	  } else { include 'home.php'; }
	?>
</div>
</div>
</body>
</html>

i sad će ti se prikazivat sve ti je ovaj php kod znači druge stranice kad pravš ne trebaš ni css ni ništa jer ti je sve u index.php i sve ti očitava preko toga

i onda linkaš stranice index.php?page=ime_filea
npr ako ti se stranica zove kontakt.php onda ti je link index.php?page=kontakt
tako ćeš dobit dinamične stranice ne moraš stavljat html tagove nego samo sadržaj.

Primjer za kontakt.php

<h2>Kontakt</h2>
<form action="" method="POST">
<input type="text" name="ime" placeholder="Unesite ime"><br>
<input type="text" name="email" placeholder="Unesite email"><br>
<textarea name="poruka" cols="50" rows="5" placeholder="Unesite tekst vaše poruke"><br>
<input type="submit" name="submit" value="Pošalji">
</form>

To ti moze olaksati samo stvari, zakomplicirati vise od ovoga sto ti imas sada, cisto sumnjam.

OK dečki, poigrat ću se s tim, hvala, samo su trenutno ispred toga radovi na vrtu (nakon onih dugih kiša…). Ako gdje zapnem, javim se.

Kad unesem izmjene u php-u, mogu li ja to testirati na hardu (da vidim web stranicu) ili se to mora baš staviti na server da bi stranica radila?

Instaliraj si XAMPP i možeš sve radit na localhostu, kad završiš samo uploadaš na live server. Ovdje radiš sve kad instaliraš xampp C:\xampp\htdocs. Poslje instalacije odi vamo C:\xampp\htdocs i pobriši sve iznutra i sve šta buedš radila ovdje, gledaš sa web pregledinkom upišeš u adress bar samo localhost/index.php i on ti otvori stranicu. I moraš da si upališ Apache preko XAMPP control panela inače neće da ti radi localhost.

A da li se unutar php-a može pozivati html?

Mislim na ovo

<?php include "menu.html"; ?>

dakle da je ona zadnja datoteka u tom kodu html.

Ako se može, bilo bi dovoljno da si napravim “vanjske” php stranice koje jednostavno pozivaju html-ove i spajaju ih, a ja sav sadržaj i dalje radim u html-u i tamo vršim sve naknadne izmjene.

Možeš ali koji ti je cilj koristiti html u php ako tako pozivaš? Nema smisla, možeš jednostavno dodati taj kod u PHP datoteku. Ako ćeš već pozivati dodatno nešto gledaj da ako koristiš PHP da to bude PHP. Babe, žabe ne idu zajedno :smiley:

Ako ti treba pomoć oko toga, ostavi mi poruku ili nešto, mogu ti pokazati preko teamviewera, puno lakše ćeš skontati, nego kada ti neko piše o PHPu. Ti uopšte ne koristiš varijable, funkcije, klase i sl. , nemaš bazu podataka da bi uopšte koristila PHP. Jedino kontaktnu formu ako ti je potrebna.

Ne znam na što misliš kad kažeš “kontaktnu formu”, možda upravo na to za što bih i koristila php, ako se na to odlučim, a to je da u jednoj datoteci napravim padajući menu, a onda sa

<?php include "menu.html"; ?>

taj menu ubacim u sve ostale datoteke na vrh.
Dakle, da sa time postignem zajednučki menu, kojeg onda mogu i naknadno mijenjati izmjenama samo u jednoj datoteci.

Meni je izrada web stranica “nužno zlo”, pa mi i svaki prijelaz na nešto novo baš i ne miriši, jer mi se čini da ću potrošiti previše vremena na to i namučiti se, a tko zna hoće li profunkcionirati…
Stoga mi se baš na php ne prelazi, no ako mi on omogući lako dodavanje tog glavnog menija, možda ipak hoću.
Trenutno sam u drugim poslovima i sad još neću ići na to, ali svako malo mozak krene na tu stranu, pa važe, a evo i pitam što mi sve pada na pamet.

Ideja da napravim te vanjske php stranice koje onda includaju dvije html stranice (jednu koja je menu i drugu koja je sadržaj datoteke) mi se sviđa jer, kad jednom to napravim, nakon toga ne moram više petljati po php-u. Naime, nakon toga, ako želim napraviti izmjene u meniju, to ću raditi u html-datoteci u kojoj je menu. A ako želim mijenjati sadržaje datoteka (a to mijenjam svaki čas, jer stalno na web stavljam nešto novo), to ću mijenjati opet u html-datoteci, u onoj u kojoj je sadržaj te stranice.
Tad mi ne treba taj XAMPP i dr., nego html na svom računalu vidim dvostrukim klikom na datoteku. A kad stavim na web, vidim cijelo.
Ili pomoću tog XAMPP, možda s vremenom zaključim da ni to nije strašno.

Hvala na odgovoru, ja se opet javim kad ću imati što novo za pitati. Pretpostavljam da u smjeru php-a neću krenuti u roku idućih par mjeseci, jer je preveliki popis stvari koje trebam napraviti prije toga.

Hvala svima!