Treść na stronie głownej

Zamiast :

index.php.php?artykulID=1

wpisz :

index.php?artykulID=1

A skrypt wyświetlania komentarzy przenieś tam gdzie wyświetlasz treść artykułu

Wywala Ci taki błąd ponieważ nie masz pliku history.php a właśnie do niego metoda wyświetlająca menu się odwołuje.

Usuń 129 linię kodu.

By Link "Strona główna: działał poprawnie zmień w 135 linii z

Strona główna[/code]


na

[code]Strona główna

129 linia mojego kodu jest taka:

}

Czy mam ten nawias } usunac ? Powiedz mi co z tymi kodami ?

<?

$comments = count(file("comments/.txt")); 

?>

Pokaż komentarze (<?=$comments?>) ↓                          Skomentuj ten wpis ↓

<? include(„pokaz.php”); ?>

<? include(„dodaj.php”); ?>
[/code]

Gdzie je umiescic w pliku index.php zeby mi to dzialalo poprawnie ?

No widzisz, znajomość podstaw PHP się kłania - interpreter PHP zawsze wskazuje na ostatni znak bloku w którym wykrył jakiś błąd. W tym przypadku wskazuje na zakończenie bloku switch - czyli właśnie na }.

2 linijki wyżej masz właśnie błąd bo :

include 'historia.php';

a tego pliku nie ma - więc interpreter zgłasza błąd.

Usuń to odwołanie.

Ten kod - rozumiem, wyświetla komentarze dowiązane do danego artykułu, więc umieść go pod pełną treścią artykulu .

Usunalem to z pliku index.php

case 'historia':

                    $title = 'History - Past, Present and Future';

                    include 'historia.php';

                  break;

I nadal mam blad na stronie :frowning:http://www.history.is.net.plI czy moge zamienic to:

case 'historia':

                    $title = 'History - Past, Present and Future';

                    include 'historia.php';

                  break;

Na to:

case 'index':

                    $title = 'History - Past, Present and Future';

                    include 'index.php';

                  break;

Powiedz mi prosze, jak te bledy na stronie mojej zlikwidowac ?

Wszędzie tam gdzie masz

include 'historia.php';

po prostu usuń tą linijkę.

Nie, nie zamieniaj, gdyż link “Strona Główna” masz już bezpośrednie przekierowanie do stoy głównej i nie ma potrzeby sprawdzania warunku linku w instrukcji switch.

Usnunalem wszystko to co mi powiedziales, nawet to:

default:

                  case 'home':

                    $title = 'History - Past, Present and Future';

                    include 'historia.php';

                  break;

To wtedy zamiast strony mojej mam biala pusta strone :frowning:

Pomoz mi prosze :frowning:

skoro nadal chcesz na switchu (a ja szczerze odradzam takie menu) to opcja default jest konieczna. Wynika to z konstrukcji warunku switch.

w tym jednym przypadku zamień

include 'historia.php';

na

header("location:index.php?artykulID=1");

lub includuj jakiś inny plik, który ma być wyświetlany w przypadku gdy żadna z wprowadzonych przez Ciebie opcji do switch nie spełnia warunku (wówczas właśnie uruchamiana jest opcja default)

header("location:index.php?artykulID=1");

To nie dziala :frowning: bo strona sie nie wyswietla, tylko pusta strona :frowning: A tak mi dzialac to bedzie dobrze ?

default:

                  case 'home':

                    $title = 'History - Past, Present and Future';

                    include 'index.php';

                  break;

Nie, bo zapętlisz się. Nie można includować pliku sam do siebie.

Spróbuj tak :

default:

                  case 'home':

                    $title = 'History - Past, Present and Future';

                    echo $wiecej;

                  break;

kalamita juz mi zadzialalo. Teraz tylko zostal problem z tym, ze skrocona wersja tresci wyswietla sie wszedzie na kazdej podstronie:

http://www.history.is.net.pl/index.php?ksiega

http://www.history.is.net.pl/index.php?przeslij

http://www.history.is.net.pl/index.php?kontakt

Jak to zrobic, zeby tak nie bylo, tylko zeby ta tresc wyswietlala sie tylko na stronie glownej ?

Po razy dziesiąty CI mówię, zmień sposób wywoływania menu przez użytkownika, gdyż ono - w moim przekonaniu - nie nadaje się do prowadzenia tego typu strony i przez nie masz tyle problemów.

Są dwa możliwe rozwiązania

  1. Obwarowanie warunkami każdego linka w menu użytkownika i sprawdzanie co wcisnął użytkownik

  2. Zmianę linka menu na Link i sprawdzanie wartości. Jeżeli wartość zmiennej równa się np. A to wyświetlamy treść przyporządkowaną do wartości A (i co najważniejsze ŻADNĄ inną), jeżeli wartość zmiennej równa się B to wyświetlamy treść przyporządkowaną wartości B i tak dalej. Wówczas lista artykułów będzie wyświetlana tylko i wyłącznie na stronie głównej, a treść z linków będzie wyświetlana tylko po wciśnięciu danego linka przez użytkownika.

A bez przebudowy menu sie tego nie da zrobic jakos ? Jesli sie da to prosze bys mi pomogl jakos to zrobic.

Natomiast jesli nie, To prosze Cie o pomoc w tej sprawie.

Na tych stronkach jest to tak prosto zrobione widze bez zbednych kombinacji: Klik oraz tutaj Klik

Na tych stronkach jest to zrobione dokładnie tak jak CI napisałem w pkt. 2 (nie tak jak u Ciebie). Metoda ta jest bardzo prosta i zajmuje o 60% mniej kodu niż Twój sposób wyświetlania. Pisałem Ci już w tym wątku wielokrotnie jak to zrobić. (zresztą link “Strona Główna” masz już na tej samej zasadzie zrobiony) - wystarczy dorobić resztę.

Czyli caly ten szkielet wyswietlania podstron na mojej stronie dotyczacy includowania mam wyrzucic - usunac tak ? i zamiast tego dac taki kod :

Strona głównaKsięga GościKontakt
[/code] Czy tak mam to zrobic ? - A usunac z index.php caly ten ponizszy szkielet tak ?

[code]<?php $a = array_keys($_GET); ob_start(); switch($a[0]) { case ‘kontakt’: $title = ‘History - Past, Present and Future’; include ‘kontakt.php’; break; case ‘ksiega’: $title = ‘History - Past, Present and Future’; include ‘ksiega.php’; break; case ‘przeslij’: $title = ‘History - Past, Present and Future’; include ‘przeslij.php’; break; case ‘index’: header(‘Location: http://http://www.history.is.net.pl’); break; default: case ‘home’: $title = ‘History - Past, Present and Future’; echo $wiecej; break; } $content = ob_get_clean(); ?>

Chodzi o to, zeby moje podstrony sie otwieraly na stronie glownej.