Opeens doet die het niet meer!!!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

George Boot

George Boot

21/07/2010 20:44:50
Quote Anchor link
Hallo mensen,

weer eens zo'n apart probleem... Ik zet ergens een echo in het script (onderaan de pagina) en daarna werkt een classe structureel niet meer!
Heb alle wijzigingen ongedaan gemaakt, maar hij blijft weigeren.. Heel frustrerend :P

De foutmelding die ik krijg:
Fatal error: Cannot redeclare class config in /usr/home/deb27179/domains/bobe-multimedia.nl/public_html/cms/derhollander/config.inc.php on line 3

Hier de gebruikte bestanden:

index.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

// taal selecteren
// Dit wordt als eerste weergegeven. IN dit bestand word de taal geselecteerd, en daarna doorgestuurd naar index2.php.
// Momenteel dus nog NIET in gebruik


?>


index2.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php

/*
    - cookie maken
    - Classes aanmaken
    - install.php
    - is er een GET url aanwezig?
    - pagina uit database halen
    - pagina aanmaak includen
    - smarty template weergeven
    - afsluiten
*/

// classes includen

require_once('cms/config.inc.php');
require_once('cms/classes.php');
require_once('smarty/Smarty.class.php');

// classesn aanmaken
$config = new config;
$functions = new functions;
$sql = new mysql($config->mysql_host, $config->mysql_user, $config->mysql_pass, $config->mysql_data);
$smarty = new Smarty;


// bestaat install.php
if (file_exists($config->base_dir . 'cms/install.php')) {
    header ('Location: ' . $config->base_dir . 'cms/install.php');
    exit;
}


// cookie maken
if ($_SERVER['REQUEST_URI'] == $config->base_uri . 'index.php') {
    $lang_explode = explode('/', $_SERVER['REQUEST_URI']);
    $lang = $lang_explode['0'];
    if ($lang == $config->base_uri) {
        $lang = $lang_explode['1'];
    }

    setcookie('lang', $lang);
}



// bestaat de GET 'url'
if (!isset($_GET['url'])) {
    exit('Er is een fout opgetreden bij het aanvragen van deze pagina. Probeer het opnieuw: <a href="?url=/">Klik hier</a>');
}



// paginagegevens ophalen en type bepalen
$query = "SELECT `template` FROM `paginas` WHERE `url` = '$_GET]'";
$result = $sql->executeAndFetch($query);


// Standaard variabelen
$jquiry = "<script type=\"text/javascript\">
        $(document).ready(
            function(){
                $('#fotos').innerfade({
                    speed: 'slow',
                    timeout: 4000,
                    type: 'sequence',
                    containerheight: '220px'
                });
            }
        );
    </script>"
;
$smarty->assign("root",$config->base_url);
$smarty->assign("domain",$config->site_domain);
$smarty->assign("template",$result['template'] . '.tpl');
$smarty->assign("jquiry", $jquiry);


// content genereren
require_once($config->base_dir . 'layout/' . $result['template'] . '.php');

// content weergeven
$smarty->display('index.tpl');


// afsluiten
$sql->close();

// visit aan database toevoegen
// ...........................................


echo $lang;

?>


config.inc.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php

class config {
    /* directory */
    var $base_url = 'http://cms.bobe-multimedia.nl/derhollander/';
    var
$base_dir = '/usr/home/deb27179/domains/bobe-multimedia.nl/public_html/cms/derhollander/';
    var
$base_uri = '/derhollander/';
    
    /* names etc. */
    var $site_name = 'BoBe Multimedia';
    var
$site_domain = 'bobe-multimedia.nl';
    
    /* database */
    var $mysql_host = 'localhost';
    var
$mysql_user = '********';
    var
$mysql_pass = '********';
    var
$mysql_data = '********';
}


?>


.htaccess
RewriteEngine On
RewriteRule ^(!cms|!media|index.php|nl)/(.*) index2.php?lang=nl&url=/$2
RewriteRule ^(!cms|!media|index.php|de)/(.*) index2.php?lang=de&url=/$2

Snapt iemand wat er hier nu fout gaat?
Alvast heeeel erg bedankt!!!
Gewijzigd op 21/07/2010 22:06:24 door George Boot
 
PHP hulp

PHP hulp

03/08/2021 08:41:52
 
Aad B

Aad B

21/07/2010 20:47:48
Quote Anchor link
misschien zinvol om je db/username/password te vullen met sterretjes!
 
George Boot

George Boot

21/07/2010 20:51:46
Quote Anchor link
Heel erg stom van me! Heb het snel alsnog gedaan.. Staat geen belangrijke data op dat accound, hopen dat het niet op het grote web is gekomen...

Erg bedankt voor die opmerking!

Al iemand die een oplossing ziet?
 
P Lekensteyn

P Lekensteyn

21/07/2010 21:29:54
Quote Anchor link
Kan het zijn dat je ergens in een .htaccess bestand auto_prepend_file hebt gedefinieerd?
Met de PHP code is niks mis.

Typo op jouw site:
http://bobe-multimedia.nl/webdesign/cms/
Voor een online demo kunt u contact met ons opnamen via het contactformulier.
Gewijzigd op 21/07/2010 21:31:19 door P Lekensteyn
 
George Boot

George Boot

21/07/2010 21:35:55
Quote Anchor link
Hoi peter,

Bedankt voor de spelfout, inmiddels aangepast..

Ik heb er wel een .htaccess aanhangen, maar die heeft de volgende inhoud:
RewriteEngine On
RewriteRule ^(!cms|!media|index.php|nl)/(.*) index2.php?lang=nl&url=/$2
RewriteRule ^(!cms|!media|index.php|de)/(.*) index2.php?lang=de&url=/$2

Daar zal het dus niet aan liggen...

Het aparte van alles is: het werkte, ik pas 2 dingen aan en het werkt niet meer. Zet alles in oorspronkelijke staat terug (zover ik weet), en het werkt nog steeds niet.. In de code zit geen fout, maar toch werkt het niet...

Programmeren, altijd leuk :D
 
George Boot

George Boot

21/07/2010 21:52:26
Quote Anchor link
Want wat houdt die foutmelding precies in? Dat die de classe niet kan 'openen' toch?
 
Mark PHP

Mark PHP

21/07/2010 22:02:00
Quote Anchor link
Waarschijnlijk include je het bestand dubbel. Kan je niet met debug_backtrace() uitvinden op welke regel deze melding ontstaat?
 
George Boot

George Boot

21/07/2010 22:07:31
Quote Anchor link
Die functie heb ik eigenlijk nog nooit gebruitk... In de code komt NIET naar voren dat ik het bestand dubbel include, of dubbel aanroep. Dat kan dus eigenlijk gewoon niet..

Bekijk mijn eerste post nog eens, daar staat alle gebruikte code in.
 
Wesley Overdijk

wesley Overdijk

22/07/2010 07:40:35
Quote Anchor link
$config = new config;
regel 20 index2.php, maak daar van $config = new config(); evenals alle andere classes waar je objecten van maakt. Op het moment heb je een config class (Waarom?), Ik denk dat het een beter idee is om je configuratie wat platter te zetten, zoals in een ini. Een hele class maken, en dan 'var' gebruiken ook nog is niet zo mooi. En dan te denken, dat je dit pakket verkoopt... En je moet je eigen code nog maar eens goed doorbladeren, want class config word aangemaakt voor de include. Je krijgt die error namelijk op de tweede class die je aanroept, niet op de eerste. 'redeclare'.

Als laatste raad ik je aan om hard weg te rennen van smarty. Daar wil je niks mee te maken hebben. Je zou eens kunnen kijken naar phptal. Al vind ik al die 'html parsers' vrij nutteloos.
Gewijzigd op 22/07/2010 07:49:36 door wesley Overdijk
 
Jan geen

Jan geen

22/07/2010 09:12:35
Quote Anchor link
Gebruik je toevallig firefox met fireftp?
 
Niek s

niek s

22/07/2010 10:58:57
Quote Anchor link
waarom staat er op die site "een van onze ..." terwijl je er vervolgens 3 laat zien? 1 en 3.. beetje vreemd in mijn ogen?
 
George Boot

George Boot

22/07/2010 11:59:02
Quote Anchor link
Op welke site staat 'een van onze..'?

En wat is verder het probleem als ik mijn config in een class zet? Naar mijn mening werkt dat juist wel lekker. Wesley, kun je mij zeggen wat daar dan zo verkeerd aan is?
Verder zal ik even die classen aanvragen aanpassen zoals jij zegt.

En smarty vind ik prima werken.. Het zal dan vast niet de beste en snelste zijn, maar voor mijn doeleinde is het voorlopig goed genoeg denk ik! Of hebben jullie daar een andere mening over?
 
George Boot

George Boot

22/07/2010 12:04:28
Quote Anchor link
Verrek zeg, nu doet hij het opeens weer! Alleen die () achter de declaraties van de classen...
Terwijl op de andere pagina's het gewoon ZONDER dit ook werkt. Zit daar een duidelijke rede achter?

Dit is trouwens Bobe CMS 2; nog in ontwikkeling ;). Ben bezig met allerlei proefscripts etc.
 
Wesley Overdijk

wesley Overdijk

22/07/2010 17:07:43
Quote Anchor link
George Boot op 22/07/2010 12:04:28:
Verrek zeg, nu doet hij het opeens weer! Alleen die () achter de declaraties van de classen...
Terwijl op de andere pagina's het gewoon ZONDER dit ook werkt. Zit daar een duidelijke rede achter?

Dit is trouwens Bobe CMS 2; nog in ontwikkeling ;). Ben bezig met allerlei proefscripts etc.


Like i said. Step your game up, je script in php 4 modus, en zelfs dat die je minder. de haken zijn er om de constructor waardes mee te geven, doe je dit niet, ziet de php parser alleen een class die word aangemaakt. Graag gedaan. :p

en de config in de classes vind ik mja... 'lelijk'. Erg onhandig. Ik heb nog wel wat tips voor je, zal je een bericht sturen.
Gewijzigd op 22/07/2010 17:08:39 door wesley Overdijk
 
George Boot

George Boot

22/07/2010 17:15:08
Quote Anchor link
Okee, ik wacht je bericht af!
 
Jan geen

Jan geen

22/07/2010 19:33:19
Quote Anchor link
Post die "tips" dan hier zodat iedereen er wat aan heeft..
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.