Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]include nie wyswietla linkow
-tyfuz-
post
Post #1





Goście







Slabo sie znam w ogole na programowaniu. Przez noc wypocilem skrypcik pobierajacy mi nazwy plikow z foldera i przerabiajacy je na linki.
Skrypt sam w sobie dziala, lecz przy probie podlaczenia go do szablonu, linki w ogole sie nie wyswietlaja (IMG:style_emoticons/default/sad.gif)

skrypt
  1. <?php
  2. if(!$add_site) exit;
  3. error_reporting(E_ALL ^ E_NOTICE);
  4.  
  5. $praw = array(6=>$link);
  6. foreach (glob('../art/*.html') as $pl) {
  7. $link=basename($pl, '.html');
  8. $praw[]=$link;
  9. }
  10.  
  11. foreach($praw as $key => $value) {
  12. echo "<a href=\"index.php?go=$key\">$value</a>\n";
  13. }
  14. ?>


komenda do include
  1. <div id="praw1"><?php include "include/prawe.php" ?> </div>

Go to the top of the page
+Quote Post
kadlub
post
Post #2





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


nie masz średnika za include
sprawdżźczy pliki są w tym samym folderze

Ten post edytował kadlub 4.02.2011, 11:57:44
Go to the top of the page
+Quote Post
osl
post
Post #3





Grupa: Zarejestrowani
Postów: 260
Pomógł: 41
Dołączył: 6.04.2009
Skąd: Gdańsk/okolice

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


średnik w tym przypadku ma znaczenie czysto estetyczne.
jesteś w 100% pewien, że skrypt nie wychodzi na exit?
nie podałeś całego kodu, więc nie można tego stwiedzić...
Go to the top of the page
+Quote Post
kadlub
post
Post #4





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


ja je zawsze stawiam później się coś dopisze i masz babo placek trzeba szukać
Go to the top of the page
+Quote Post
osl
post
Post #5





Grupa: Zarejestrowani
Postów: 260
Pomógł: 41
Dołączył: 6.04.2009
Skąd: Gdańsk/okolice

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


masz absolutną rację, że warto je stawiać zawsze. Ale to nie jest tutaj przyczyną błędu (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
-tyfuz-
post
Post #6





Goście







kod szablonu
  1. <?php
  2.  
  3. $add_site = true;
  4.  
  5. ?>
  6. <!DOCTYPE
  7. html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  8. "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  9.  
  10. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  11. <?php echo '<'.'?xml version="1.0" encoding="ISO-8859-2"?'.'>'."\n"; ?>
  12. <head>
  13. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />
  14. <link rel="stylesheet" type="text/css" href="style.css" />
  15. </head>
  16. <body>
  17. <div id="lewe1"><?php include "include/lewe.php"; ?></div>
  18. <div id="praw1"><?php include "include/prawe.php"; ?> </div>
  19.  
  20. <div id="ramka"><div id="tekst"><?php include "include/srodek.php" ?> </div></div>
  21.  
  22. </body>
  23.  
  24. </html>


inne elementy sie wyswietlają, np. lewa czy srodek z tekstem. Wydaje mi sie, ze cos musi byc nie tak z samym skryptem (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
-tyfuz-
post
Post #7





Goście







zapomnialem napisac - gdy nie ma linijki wyłączającej komunikaty o błędach, to wyświetla się tylko komunikat z błędem.

pliki w folderze na pewno są, a to co podałem, to jest cały kod skryptu.
Go to the top of the page
+Quote Post
osl
post
Post #8





Grupa: Zarejestrowani
Postów: 260
Pomógł: 41
Dołączył: 6.04.2009
Skąd: Gdańsk/okolice

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


pozbywanie się błędów przez wyłączanie ich wyświetlania jest raczej kiepskim pomysłem.
u mnie Twój kod działa. w foreach z glob zrób sobie jakieś echo i zobacz, czy on w ogóle iteruje Ci przez jakiekolwiek pliki.

Kod
$praw = array(6=>$link);
a gdzie masz zdefiniowane $link?

Ten post edytował osl 4.02.2011, 12:36:26
Go to the top of the page
+Quote Post
-tyfuz-
post
Post #9





Goście







inaczej:
gdy wywalam
  1. if(!$add_site) exit;


i odpalam plik prawe.php ( z tym skryptem) wszystko dziala prawidlowo -> wyswietlaja mi sie linki.

  1. $praw = array(6=>$link);

ta linijka jest przyczyna bledu a konkretnie $link, ktory jest okreslony pozniej przez basename

jest to po to, gdyz chcialem rozpoczac indeksowanie od 6 gdyz po lewej stronie beda linki i one beda miec wartosci od 0-6
po srodku (srodek.php) jest skrypt (notabene nie moj i on dziala (IMG:style_emoticons/default/sad.gif) ) ktory te wszystkie linki zbiera i wyswietla konkretna zawartosc i analizujac sytuacje doszedlem do wniosku ze indeksy nie moga sie powtarzac.

probowalem zrobic indeksowanie >6 jakos inaczej, by nie bylo bledu, ale wtedy w ogole nie chcialo dzialac, wiec wybralem mniejsze zlo
Go to the top of the page
+Quote Post
osl
post
Post #10





Grupa: Zarejestrowani
Postów: 260
Pomógł: 41
Dołączył: 6.04.2009
Skąd: Gdańsk/okolice

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


a nie łatwiej po prostu
Kod
$i=6;
a w pętli
Kod
$praw[$i++]=$link;

najbardziej łopatologicznie jak się da.

pomijam fakt, że możesz to wszystko zmieścić w jednej pętli.
Go to the top of the page
+Quote Post
-tyfuz-
post
Post #11





Goście







rzeczywiście łatwiej, na to nie wpadłem ;d

tylko, że ciągle pozostaje poprzedni, najważniejszy problem - linki nie wyswietlaja sie w szablonie:(
Go to the top of the page
+Quote Post
osl
post
Post #12





Grupa: Zarejestrowani
Postów: 260
Pomógł: 41
Dołączył: 6.04.2009
Skąd: Gdańsk/okolice

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


wrzuć sobie var_dump z $add_site na początku swojego skryptu, być może ta zmienna jest gdzieś nadpisywana.
Go to the top of the page
+Quote Post
-tyfuz-
post
Post #13





Goście







chyba juz wiem z czym jest problem!
wykorzystalem to var_dump() tylko ze gdy robilem od add_site to w szablonie zwracal mi wartosc add_site (true)

w manualu znalazlem ze mozna tym sprawdzic tablice.
Otoz dzieje sie cos takiego:
gdy odpalam plik prawe.php wszystko dziala prawidlowo, tablica zawiera odpowiednie wartosci

natomiast gdy probuje odpalic skrypt z szablonu, tablica jest pusta!
teraz nastepuje pytanie, dlaczego czysci mi tablice przy probie odpalenia z szablonu?
Go to the top of the page
+Quote Post
-tyfuz-
post
Post #14





Goście







Problem rozwiązany!!!

problem powodowal zla sciezka do folderu
o tyle to dziwne, ze po poprawieniu za to ten sam problem sie pojawil przy odpalaniu samego pliku prawe.php
za to w szablonie jest ok!

bylo:
Kod
glob('../art/*.html')


teraz jest
Kod
glob('art/*.html')


Dzieki wszystkim za pomoc i podpowiedzi!
Go to the top of the page
+Quote Post

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 - 11:57