Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z działaniem skryptu, nie incuduje plików
-Gość_raku18-
post
Post #1





Goście







witam ponownie :-) mam problem następujący ,otórz napisałem skrypt ,niestety odsyłacze nie działają proszę o pomoc .

Kod:
Kod
[php]
<tr>
<td width="15%"><? include("include/menu_lewe.inc");?></td>
<td width="70%">
<?
    if(!isset($go)){
     include("teksty/news.txt");
  }
    else if($go==1){
    include("teksty/1.txt");
  } else if($go==2){
    include("teksty/2.txt");
  } else if($go==3){
    include("teksty/3.txt");
  } else if($go==4){
    include("teksty/4.txt");
  } else if($go==5){
    include("teksty/5.txt");
  }  else
    echo "Taka strona nie istnieje :)";    
?>
</td>
<td width="15%"><? include("include/menu_prawe.inc");?></td>
</tr>
[/php]

jest to plik o nazwie index.php


do tego pliku jest jak widać włączone menu o kodzie :
Kod
[php]<a href="index.php">strona główna</a><br>
<a href="index.php?go=1">podstrona 1</a><br>
<a href="index.php?go=2">podstrona 2</a><br>
<a href="index.php?go=3">podstrona 3</a><br>
<a href="index.php?go=4">podstrona 4</a><br>
<a href="index.php?go=5">podstrona 5</a>
[/php]

Dlaczego nie działają linki proszę o pomoc _:)
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
Kuziu
post
Post #2





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Może dlatego

  1. <?php
  2.  
  3. $_GET['go'];
  4.  
  5. ?>


a tak btw. lepiej nie używać plików *.inc ... gdyż można łątwo je podejrzeć ... rób lepiej wszystkie pliki *.php

Ten post edytował Kuziu 21.02.2005, 14:01:11
Go to the top of the page
+Quote Post
Coyote
post
Post #3





Grupa: Zarejestrowani
Postów: 151
Pomógł: 0
Dołączył: 20.02.2005
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


kuziu zawsze mnie wyprzedzasZ:P

---
post nic nie wnosi do dyskusji (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) to nie jest forum do nabijania postów.
aleksander
Go to the top of the page
+Quote Post
-Gość_raku18-
post
Post #4





Goście







Jak już mówiłem jestem bardzo początkujący więc nie kumam za bardzo o co ci chodzi gdy piszesz :

  1. <?php
  2.  
  3. $_POST['go'];
  4.  
  5. ?>


Gdyby ktoś mógłby mi to jasno i w pełni wyjaśnić byłbym ogromnie wdzięczny pozdrawiam Michał.
Go to the top of the page
+Quote Post
tiraeth
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


poczytaj o REGISTER_GLOBALS w manualu.... serwer ma ustawione zmienne globalne na off więc musisz używać $_POST i $_GET..... ten pierwszy przy formularzach a drugi przy linkach np. index.php?go=1 => $_GET['go'] = 1
Go to the top of the page
+Quote Post
Kuziu
post
Post #6





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Dane wysyłane z formularza do skryptu php odbierane są w tablicy super globalnej $_GET

Aby sprawdzić zawartośc zmiennej 'go' wysłanej z formularza nalezy uzyć
  1. <?php
  2. $_GET['go'];
  3. ?>

W Twoim wypadku
  1. <?php
  2.  
  3. if(!isset($_GET['go'])){
  4.  
  5. ?>


I w reszcie kodu analogicznie ...

Ten post edytował Kuziu 21.02.2005, 14:03:20
Go to the top of the page
+Quote Post
-Gość_raku18-
post
Post #7





Goście







Naprawde jestem wam bardzo wdzieczny tylko z tym problem ze robie wszystko wg waszych wskazówek i dalej przy kliknieciu w ktory kolwiek link laduja mi sie newsy czyli to co pierwsze includuje :-( Pomorzcie prosze .
Go to the top of the page
+Quote Post
-Gość_raku18-
post
Post #8





Goście







Naprawde jestem wam bardzo wdzieczny tylko z tym problem ze robie wszystko wg waszych wskazówek i dalej przy kliknieciu w ktory kolwiek link laduja mi sie newsy czyli to co pierwsze includuje :-( Pomorzcie prosze .
Go to the top of the page
+Quote Post
Yarecki
post
Post #9





Grupa: Zarejestrowani
Postów: 166
Pomógł: 0
Dołączył: 1.04.2004
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Zamiast $_POST['go'] powinno być $_GET['go']

Możesz też napisać to tak:
  1. <?php
  2. $site = ( !empty( $_GET['go'] ) : $_GET['go'] ? 0;
  3.  
  4. switch( $go ) {
  5.  case 0:
  6.  include( 'teksty/news.txt' );
  7.  break;
  8. case 1:
  9. include(...);
  10. break;
  11. default:
  12. break;
  13. }
  14.  
  15. ?>

Dla mnie konstrukcja switch case break jest bardziej czytelna w takim przypadku, niż if elseif.
Go to the top of the page
+Quote Post
-Gość_raku18-
post
Post #10





Goście







Niestety nie pomogł widocznie jestem za tępy na to więc gdybyście mogli mi to jak łopatą do głowy to normalnie byłbym w 7 niebie :-)
Go to the top of the page
+Quote Post
Kuziu
post
Post #11





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

Ostrzeżenie: (0%)
-----


  1. <tr>
  2. <td width=\"15%\"><? include(&#092;"include/menu_lewe.inc\");?></td>
  3. <td width=\"70%\">
  4. <? 
  5. if(!isset($_GET['go'])){
  6. switch($_GET['go']){
  7.  case 1: include(&#092;"teksty/1.txt\"); break;
  8.  case 2: include(&#092;"teksty/2.txt\"); break;
  9.  case 3: include(&#092;"teksty/3.txt\"); break;
  10.  case 4: include(&#092;"teksty/4.txt\"); break;
  11.  case 5: include(&#092;"teksty/5.txt\"); break;
  12.  default: include(&#092;"teksty/news.txt\");
  13. }
  14. }</td>
  15. <td width=&#092;"15%\"><? include(\"include/menu_prawe.inc\");?></td>
  16. </tr>


BTW. Sorki za to $_POST ... z przywyczajenia to napisałem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

$_POST - zmienne z formularze
$_GET - zmienne z adresu
Go to the top of the page
+Quote Post
Endrjub
post
Post #12





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 25.01.2005

Ostrzeżenie: (0%)
-----


Moze tak:

  1. <table>
  2. <tr>
  3. <td width=\"15%\">
  4. <a href=\"index.php?go=1\">strona główna</a><br>
  5. <a href=\"index.php?go=2\">podstrona 1</a><br>
  6. <a href=\"index.php?go=3\">podstrona 2</a><br>
  7. <a href=\"index.php?go=4\">podstrona 3</a><br>
  8. <a href=\"index.php?go=5\">podstrona 4</a>
  9. </td>
  10.  
  11. <td width=\"70%\">
  12.  
  13. <?
  14.  if(isset($_GET['$go'])){
  15. switch(&#092;"$_GET['$go']\"){
  16. case('1'):
  17.  include &#092;"podstrona1.php\";
  18.  break;
  19. case('2'):
  20.  include &#092;"podstrona2.php\";
  21.  break;
  22. case('3'):
  23.  include &#092;"podstrona3.php\";
  24.  break;
  25. case('4'):
  26.  include &#092;"podstrona4.php\";
  27.  break;
  28. case('5'):
  29.  include &#092;"podstrona5.php\";
  30.  break;
  31. default: include(&#092;"news.php\");
  32. }
  33. }
  34. ?>
  35. </td>
  36. <td width=\"15%\"><? include(&#092;"include/menu_prawe.php\");?></td>
  37. </tr></table>


To powinno działać na 100%, u mnie działa.
powodzenia (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

----------------------------------------------------------
Widze,że Kuziu mnie uprzedził wiec zdublowałem odpowiedz.
Ale cóz... od przybytku głowa nie boli (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Endrjub 21.02.2005, 14:24:03
Go to the top of the page
+Quote Post
Kuziu
post
Post #13





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Endrjub mój kod będzie działał równie dobrze a nawet lepiej ... bo u Ciebie nie ma default ... co przy innym adresie wyświetli pustą strone.

Dodatkowo nie wiem po co ten nawiasy przy case

oraz po co cudzysłowia podczas podawania argumentów do funkcji
Go to the top of the page
+Quote Post
Endrjub
post
Post #14





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 25.01.2005

Ostrzeżenie: (0%)
-----


Kuziu, zgadzam się, że Twój przykład jest troszkę lepszy, ale MÓJ TEŻ DZIAŁA, a o 'default' zapomniałem.
Przyznaje racje.
Pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
-Gość_raku18-
post
Post #15





Goście







Witam hahahahahahhahah <lol2> Jesteście WIELCY !
tylko widzicie jest problem jeden malutki jeszcze otórz wyswietla mi sie blad w przegladarce :
  1. <tr>
  2. <td width=\"15%\"><? include(&#092;"include/menu_lewe.inc\");?></td>
  3. <td width=\"70%\">
  4. <? 
  5. if(!isset($_GET['go'])){
  6. switch($_GET['go']){
  7. case 1: include(&#092;"teksty/1.txt\"); break;
  8. case 2: include(&#092;"teksty/2.txt\"); break;
  9. case 3: include(&#092;"teksty/3.txt\"); break;
  10. case 4: include(&#092;"teksty/4.txt\"); break;
  11. case 5: include(&#092;"teksty/5.txt\"); break;
  12. default: include(&#092;"teksty/news.txt\");
  13. }
  14. }</td>
  15. <td width=&#092;"15%\"><? include(\"include/menu_prawe.inc\");?></td>
  16. </tr>



bład :
Kod
Notice: Undefined index: go in c:\program files\easyphp1-7\home\w_php\index.php on line 14


Gdybyści jeszcze tylko w tym mi pomogli co (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) :-) Dzięki
Go to the top of the page
+Quote Post
-Gość_raku18-
post
Post #16





Goście







Aha w przypadku błędu to jest on w linii 6 czyli :
  1. <?php
  2. switch($_GET['go']){
  3.  
  4. ?>
Go to the top of the page
+Quote Post
Kuziu
post
Post #17





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Usuń wykrzyknik w 5 linii.

Tak w ogóle to nie wiem jak to zadziałało z tym wykrzyknikiem :|

Ten post edytował Kuziu 21.02.2005, 15:40:44
Go to the top of the page
+Quote Post
-Gość_RAku-
post
Post #18





Goście







Normalnie wszystko śmiga jak ta lala :-) Jesteście najlepsi mam nadzieje ze kiedyś też taki bede <lol> ( nie żebym się podlizywał tylko się bardzo cieszę ) Pozdrawiam Michał
Go to the top of the page
+Quote Post
Ociu
post
Post #19





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Aby ułatwić życie, przed if(!isset($go)){
daj czarodziejskie:
  1. <?php
  2. $go = $_GET['go'];
  3. ?>

pozdrawiam
Go to the top of the page
+Quote Post
Kuziu
post
Post #20





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Ta i wywali mu błąd index'u

jak już to chyba tak

  1. <?php
  2.  
  3. $go = $_GET['go'] ? $_GET['go'] : '';
  4.  
  5. ?>


ale ostatnio jest moda na nie przepisywanie zmiennych z tablic superglobalnych do zwykłych zmiennych więc tego unikamy.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 01:52