![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 6.05.2009 Ostrzeżenie: (0%)
|
mam problem z predefiniowanymi tablicami GET i POST
nie wiem jak do jednej strony php podłączyc inne tak żeby po kliknięciu na link tamte się otwierały, na zajęciach tworzyliśmy takie coś Kod <? if (!array_key_exists('zalogowany',$_GET) || $_GET["menu"]==="info") { echo "<b>Informacje </b else { echo "<a href=\"strona.php?menu=info\">Informacje </a>"; } echo " "; if (!array_key_exists('menu',$_GET) || $_GET["menu"]==="opis") { echo "<b>Opis</b>"; } else { echo "<a href=\"strona.php?menu=opis\">Opis kursu</a>";} echo " "; if (array_key_exists('menu',$_GET) && $_GET["menu"]==="zaliczenie") { echo "<b>Warunki zaliczenia</b>"; } else { echo "<a href=\"strona.php?menu=zaliczenie\">zaliczenia</a>"; } echo " "; if (array_key_exists('menu',$_GET) && $_GET["menu"]==="prot{ echo "<b> prot</b>"; } else { echo "<a href=\"strona.php?menu=prot\"> projekty</a>"; } echo ''; if (array_key_exists('zalogowany',$_SESSION) && $_SESSION["zalogowany"]===1) { echo "<a href=\"strona.php?menu=logowanie&zalogowany=0\">Wyloguj</a>"; } else { if (array_key_exists('menu',$_GET) && $_GET["menu"]==="logowanie") { echo '<b>Logowanie</b>'; } else { echo "<a href=\"strona.php?menu=logowanie\">Logowanie</a>"; } ?> tyle że to nie działa a ja wolałaby żeby ja głównej stronie były po prostu zwykłe odnośniki do podstron *.php albo żeby coś w tym stylu działało tylko nie wiem jak to zrobić... a co do Posta to potrzbuje go jakkolwiek użyć tylko że zawsze pojawia mi się coś nie zdefiniowanego i nie wiem jak sobie z tym poradzić Ten post edytował batman 8.05.2009, 06:57:42
Powód edycji: poprawiłem tytuł ~batman
|
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 41 Dołączył: 6.04.2009 Skąd: Gdańsk/okolice Ostrzeżenie: (0%)
|
po pierwsze, witam na forum (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
po drugie, bbcode. po trzecie - Twój opis jest nieco chaotyczny. Co konkretnie nie działa? Podstrony *.php - czyli każda podstrona w osobnym pliku php? Póki co widać, że wszystko jest na jednej stronie i taki kod rzeczywiście może być trudny do utrzymania... Ale więcej dokładnego opisu prosze (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 6.05.2009 Ostrzeżenie: (0%)
|
przepraszam za to ale po prostu php mnie trochę przytłacza.
chodzi mi o to że mam zrobione wszystkie podstrony bo musiałam zacząć od html. i chciałabym teraz to połączyć. tylko że nie do końca wiem jak to zrobić. czy musze to zrobić wklejajać wszystko na jedną stronę czy też da się to zrobić za po mocą kodów?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 41 Dołączył: 6.04.2009 Skąd: Gdańsk/okolice Ostrzeżenie: (0%)
|
na początek tak może bardziej łopatologicznie - nie powinno się tak robić dla stron 'live', ale tu podejrzewam że jest potrzebne jakieś zaliczenie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Skoro masz strony w HTMLu, znajdź w nich takie fragmenty które się powtarzają (np. sekcja head, układ strony). Możesz to wywalić do osobnych plików, np. head.php. potem w 'głównej' stronie wrzucasz w odpowiednie miejsca coś w guście:
w ten sposób masz wspólną część stron w jednym pliku. Dalej, zawartość dla poszczególnych podstron ("główna zawartość") wrzucasz do innych plików php (w sumie HTML też się nada), a w stronie głównej doklejasz odpowiedni fragment kodu. Nie rozpisuje się dalej, bo nie jestem pewny czy o to chodzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Poza tym dalej nie wiem co nie działa (pierwszy post) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 6.05.2009 Ostrzeżenie: (0%)
|
zaczynam coś tam rozumieć tylko mam problem z kodem jak dać wyświetl to jeśli naciśnie ten przycisk:
Kod if (!array_key_exists('menu',$_GET) || $_GET["menu"]==="opis") { echo "<b>Opis</b>"; } else { echo "<a href=\"strona.php?menu=opis\">Opis </a>";} i wcześniej mi się pojawiało że nie mam zdefiniowanego menu i ajk je mam zdefiniować oraz czy zamiast Kod else { echo "<a href=\"strona.php?menu=opis\">Opis </a>";} mam dodać to co mi napisałeś (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Ten post edytował annalisa 6.05.2009, 16:12:23 |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 138 Pomógł: 3 Dołączył: 4.05.2009 Ostrzeżenie: (0%)
|
Hmmm ja mam u siebie zrobione w ten sposób (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ->
plik index.php CODE <?php include("gora.php"); //head, info o stronie i takie tam, cały "górny" html include("srodek.php"); // instrukcja switch pobiera dane z tablicy GET itd (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) include("dol.php"); // Stopka , ob_end_flush() itd... ?> plik gora.php CODE <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=Windows-1250"> <link rel="STYLESHEET" type="text/css" href="style.css"> <META NAME="description" CONTENT=""> <META NAME="Copyright" CONTENT=""> <META NAME="Author" CONTENT=""> <TITLE>Tytuł Strony Internetowej</TITLE> </HEAD> <body> <center> <table class="tabelaGlowna" cellspacing="0" cellspanding="0"> <tr> <td colspan="2"><img src="grafika/.gif"></td> </tr> <tr> <td class="tdMenu"> MENU <hr /> <a href="?id=start">Start</a><hr> <a href="?id=rejestruj">Rejestracja</a><hr> ... </td> srodek.php CODE <td class="tdSrodek"> <table class="tabelaSrodek"> <?php switch($_GET['id']) // pobiera id z adresu { case index:include("start.php");break; // jeśli id= index case rejestruj:include("rej.php");break; // jeśli id=rejestruj default :include("start.php");break; // } ?> </table> </td> Pliku trzeciego nie podaje bo jest nie potrzebny, zamyka tylko tabele itd... Jeśli dobrze zrozumiałem to o coś takiego Ci chodziło ? myślę że ze zmienną z tablicy POST nie ma sensu sie bawić... Pozdrawiam! EDIT: Co do zmiennej z Postem zrób może formularz kontaktowy na stronie czy coś P.s Mam nadzieję że dobrze zrozumiałem Twój problem.... Ten post edytował wizard144 6.05.2009, 16:55:00 |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 6.05.2009 Ostrzeżenie: (0%)
|
no mniej więcej o to tylko czy zamiast tego id moge użyć czegoś innego czy też będe musiała to definiować?
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 138 Pomógł: 3 Dołączył: 4.05.2009 Ostrzeżenie: (0%)
|
Słuchaj ogólnie link to przykładowo
CODE <a href="index.php?page=opis"> //nazwa zmiennej to może być coś dowolnego np 'page', 'strona', 'id', tak samo jak wartosc tyle tylko że... switch($_GET['page']) { case opis :include("opis.php");break; default :include("start.php");break; } teraz tak... tą instrukcję ze switchem wstawiasz w miejscu w którym chcesz żeby zmieniała się treść (czyli no zależnie od układu strony, powiedzmy po środku) Po kliknięciu w link adres przeglądarki będzie posiadał zmienną $_GET['page'] o wartości (w w/w przypadku) "opis" Switch zobaczy że jest zdefiniowana taka zmienna i przyporządkuje do niej odpowiedni plik - zaincluduje go (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jedyne co trzeba tu definiować to A: Linki -zmienne itd B: Instrukcję switchowania (czyli co ma wczytywać kiedy, przy jakiej zmiennej etc) Jak by być upartym to można ew i zmienne linkowe i zmienne switchowe wrzucić do bazy danych i wybierać, oszczędność w pisaniu kodu przy dużych projektach itd (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A co do tego POST-a Użyć w jakikolwiek sposób hmmm... To ma być na jakieś zaliczenie więc może wystarczy zwykły formularz z wysłaniem wyników np na maila (jakaś ankieta typu "czy podoba Ci sie mój projekt?") Przyciski Radio, albo lista Select (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) no i to ja to tak widzę jak coś to mogę coś takiego napisać jeśli chcesz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , choć wskazane jest dawanie wskazówek a nie gotowców (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował wizard144 6.05.2009, 17:49:46 |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 6.05.2009 Ostrzeżenie: (0%)
|
już prawie wszystko działa tylko pojawia się komunikat: że mam nie zdefiniowaną stałą opis?
jak mam ją zdefiniować? |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 138 Pomógł: 3 Dołączył: 4.05.2009 Ostrzeżenie: (0%)
|
Yyyy... Wiesz co, miałem kiedyś podobny błąd, ale tkwił on nie w tym switchu całym czy w tej stałej tylko w zupełnie innym miejscu skryptu.
poza tym to nie jest stała tylko wartosc zmiennej page (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 6.05.2009 Ostrzeżenie: (0%)
|
no bo wiesz pojawia mi się taki komunikat:
Cytat "Use of undefined constant ciekawostki - assumed 'ciekawostki'" i tak do każdego wydaje mi się że ja hyba zrobiłam jakiś błąd bo zależy co nacisne. jeśli jest pierwsze to tylkojeden taki błąd a jeśli kolejne to więcej podobnych... |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 138 Pomógł: 3 Dołączył: 4.05.2009 Ostrzeżenie: (0%)
|
robi więcej bo przechodzi przez wszystkie case'y. Sprawdza po kolei warunki i wyrzuca błędy. Błąd musi być gdzieś w zapisie głównego skryptu który to wszystko wyświetla i wczytuje. I pewnie to jest jakiś drobny błąd znając życie a robi tyle zamieszania że szok. Pamiętam że też coś takiego mi wyskoczyło jak robiłem jakieś zmiany w grze, includowałem plik i coś nie tak było. Ale nie pamiętam dokładnie. Musisz przeanalizować cały kod (wcześniejszy, ten główny) to napewno dojdziesz do tego co jest grane i co jest źle (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Więcej zrobić nie mogę.
w ostateczności, żeby nie wyrzucało błędów to można dodać "@" np: @case 1: include("blabla.php");break; powinno pomóc z wyrzucaniem błędu ale to żadne rozwiązanie... dlatego lepiej przeanalizować jeszcze kod głównego skryptu |
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 6.05.2009 Ostrzeżenie: (0%)
|
ok dziękuje (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)
znalazłam bład brakowało mi cudzysłowu po każdy case tak miało być case 'opis' |
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 138 Pomógł: 3 Dołączył: 4.05.2009 Ostrzeżenie: (0%)
|
Swoją drogą ciekawe (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Bo ja tych "ciapków" nie mam i mi działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) może inna wersja php na serwerze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
W każdym bądź razie polecam się na przyszłość (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Pozdrawiam! |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 19:42 |