Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> include() a obiekty
robertpiaty
post
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 18
Dołączył: 7.10.2007
Skąd: Pruszków

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


Witam,

mam dwa pliki.

Plik body.php

Kod
<?php
define('OPT_DIR', 'opt/lib/');    
  require('opt/lib/opt.class.php');

/*
Klasa odpowiedzialna za wyświetlenie treści strony dotyczącej wyboru i pobrania pliku
*/

class selectFile{
    
   function __construct($file){
      
     try{
        
         $tpl = new optClass;
         $tpl -> root = './tpl/';
         $tpl -> compile = './templates_c/';
         $tpl -> gzipCompression = 1;
         $tpl -> httpHeaders(OPT_HTML);

        
         $tpl -> assign('current_date',$file);

         $tpl -> parse('example1.tpl');
     }catch(optException $exception){
     optErrorHandler($exception);
     }
    }

}





?>


oraz plik index.php

Kod
<?php

require('body.php');
class Content{
    
     function __construct(){
        
             $file = "<H2>Pobierz plik .css</H2>\n";        
                 $file .= "<FORM action=\"upload.php\" enctype=\"multipart/form-data\" method=\"POST\">\n";
                 $file .= "<p><INPUT type=\"file\" name=\"load\"></p>\n";
                 $file .= "<H3>Dane w pliku oddzielone są:</H3>\n";
                 $file .= "<p><input type=\"radio\" name=\"section\" value=\"comma\" ID=\"comma\"><label for=\"comma\">przecinkiem</label></p>\n";
                 $file .= "<p><input type=\"radio\" name=\"section\" value=\"semicolon\" ID=\"semicolon\"><label for=\"semicolon\">średnikiem</label></p>\n";
                 $file .= "<p><INPUT type=\"submit\" value=\"Prześlij\" name=\"B1\"><INPUT type=\"reset\" value=\"Resetuj\" name=\"B2\"></p>\n";
                 $file .= "</FORM>";

                 $this -> file = $file;
                    
                 }
                 function display(){
                 new selectFile($this ->file);
                 }
     }


$pokaz = new Content();
$pokaz -> display();




?>


Problem polega na tym że nie działa mi funkcja require() ani include() i wyświetla mi sie biała strona. Nie wczytuje się kod z pliku body.php. Gdy zamiast funkcji include wstawie zawartość pliku body.php wszystko działa ok. Przy kodzie strukturalnym zarowno include jak i require dziala ok.

HELP


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





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 10.07.2006

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


jedyne co przychodzi mi do głowy to że plik jest jest w innym katalogu

ale jeśli require działa - i nie ma ani Error ani Warning to dziwne trochę jest

ale jak na razie to bym na to stawiał - bo nic innego nie widzę
Go to the top of the page
+Quote Post
robertpiaty
post
Post #3





Grupa: Zarejestrowani
Postów: 113
Pomógł: 18
Dołączył: 7.10.2007
Skąd: Pruszków

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


Problem jest w tym że oba pliki są w tym samym folderze i ani include() ani require() nie działają. Sprawdzałem na kodzie strukturalnym (bez klas) na jakimś prostym kodzie i wszystko wtedy zadziałało, więc raczej nie jest to problem jakiś ustawień. Być może te funkcje mają jakieś dodatkowe wymagania, których tu nie spełniłem (jednym z takich wymagań jest bezwzględne stosowanie nawiasów {} wewnątrz if, nawet gdy tylko jest jedna linia kodu dla prawdy i fałszu).


--------------------
Go to the top of the page
+Quote Post
thornag
post
Post #4





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

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


  1. <?php
  2.  define('OPT_DIR', 'opt/lib/');  
  3. require('opt/lib/opt.class.php');
  4. ?>


Moze to Ci robi jakis exit czy cos,

Sprobuj za tymi liniami dodac jakies echo 'kuku' i zobaczyc czy sie wyswietlilo czy nie.


--------------------
"Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"

Go to the top of the page
+Quote Post
robertpiaty
post
Post #5





Grupa: Zarejestrowani
Postów: 113
Pomógł: 18
Dołączył: 7.10.2007
Skąd: Pruszków

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


Udało mi się namierzyć że w bibliotece opt w pliku opt.class.php w linii 1171 występuje błąd. W linii tej występuje funkcja header($header). Czemu jest błąd nie mam pojęcia przecież do przeglądarki nic przed tą funkcją nie jest wysyłane. Thornag zrobiłem to co zasugerowałeś - wpisałem
Kod
echo 'kuku'


zarówno przed
Kod
define('OPT_DIR', 'opt/lib/');

jak i
Kod
require('opt/lib/opt.class.php');


i nie pokazało mi ani w pierwszym ani w drugim przypadku slowa kuku


--------------------
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


czy po wstawieniu na początku Twojego skryptu:
  1. <?php
  2. ini_set('display_errors',1);
  3. ?>

tez nie ma błędów?
Go to the top of the page
+Quote Post
robertpiaty
post
Post #7





Grupa: Zarejestrowani
Postów: 113
Pomógł: 18
Dołączył: 7.10.2007
Skąd: Pruszków

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


Po wstawieniu kodu
Kod
ini_set('display_errors',1);
error_reporting(E_ALL);


też nie pokazuje błędu. Sprawdzałem czy wprowadziłem dobre ścieżki. Są napewno ok bo gdy celowo wprowadziłem błędną to pojawiały się błędy.



Problem udało mi się rozwiązać. W pliku body.php za znacznikiem
Kod
?>

miałem wstawione kilka enterów smile.gif

Zachowałem się jak blondyn :unsure:

Ten post edytował robertpiaty 18.10.2007, 20:13:53


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 21:19