Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: fatal error: Cannot redeclare
Forum PHP.pl > Forum > PHP
RAM
Dzień dobry,
Mam błąd: "Cannot redeclare openDatabase()". Mój skrypt zaczyna się tak:

<?php
require_once 'include/common.inc.php';
require_once 'include/functions.inc.php';
require_once 'include/database.inc.php';
require_once 'include/announcement.inc.php';
require_once 'include/Captcha.php';
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
error(ERRMSG_POST_ALLOWED_ONLY);
}
sessionBegin();
savePostInSession();
if (!openDatabase()) {
error(ERRMSG_DATABASE_ACCESS_PROBLEM);

}

gdzie database.inc.php zawiera pojedynczą definicję funkcji openDatabase():

<?php
require_once 'common.inc.php';
if (!isset($db)) {
$db = null;
}
$inTransaction = false;
$regions = array();
$estateTypes = array();
$ownership = array();
$standards = array();
$furnitureTypes = array();
$offerTypes = array();
$currencies = array();
$agencies = array();
$priceFor = array();
$units = array('M2' => 'm<sup>2<\/sup>', 'HA' => 'ha (hektarów)');
$vulgar = array();
function openDatabase() {
global $db;
try {
$db = new PDO('mysql:host=' . MYSQL_SERVER . ';dbname=' .
MYSQL_DATABASE, MYSQL_USER, MYSQL_PASSWORD);
$db->exec('SET NAMES latin2');
$db->exec('SET CHARACTER SET latin2 COLLATE latin2_general_ci');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
register_shutdown_function('closeDatabase');
} catch (PDOException $e) {
return false;
}
return true;
}

Pozostałe inkludowane pliki nie zawierają funkcji openDatabase().
Polecenie:
robert@pecet:~/public_html$ find . -exec grep -H -n 'function openDatabase' {} \;
zwraca:
./include/database.inc.php:25:function openDatabase() {
więc w całej aplikacji jest tylko jedno wystąpienie definicji openDatabase().
wookieb
Proszę wstawić BBCODE
Crozin
Proszę nauczyć się też korzystać z Google'a: http://www.google.com/search?client=opera&...-8&oe=utf-8
RAM
  1. <?php
  2. require_once 'include/common.inc.php';
  3. require_once 'include/functions.inc.php';
  4. require_once 'include/database.inc.php';
  5. require_once 'include/announcement.inc.php';
  6. require_once 'include/Captcha.php';
  7. if ($_SERVER['REQUEST_METHOD'] != 'POST') {
  8. error(ERRMSG_POST_ALLOWED_ONLY);
  9. }
  10. sessionBegin();
  11. savePostInSession();
  12. if (!openDatabase()) {
  13. error(ERRMSG_DATABASE_ACCESS_PROBLEM);
  14. }


gdzie database.inc.php zawiera pojedynczą definicję funkcji openDatabase():

  1. <?php
  2. require_once 'common.inc.php';
  3. if (!isset($db)) {
  4. $db = null;
  5. }
  6. $inTransaction = false;
  7. $regions = array();
  8. $estateTypes = array();
  9. $ownership = array();
  10. $standards = array();
  11. $furnitureTypes = array();
  12. $offerTypes = array();
  13. $currencies = array();
  14. $agencies = array();
  15. $priceFor = array();
  16. $units = array('M2' => 'm<sup>2<\/sup>', 'HA' => 'ha (hektarów)');
  17. $vulgar = array();
  18.  
  19. function openDatabase() {
  20. global $db;
  21. try {
  22. $db = new PDO('mysql:host=' . MYSQL_SERVER . ';dbname=' .
  23. MYSQL_DATABASE, MYSQL_USER, MYSQL_PASSWORD);
  24. $db->exec('SET NAMES latin2');
  25. $db->exec('SET CHARACTER SET latin2 COLLATE latin2_general_ci');
  26. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  27. register_shutdown_function('closeDatabase');
  28. } catch (PDOException $e) {
  29. return false;
  30. }
  31. return true;
  32. }


Z Google potrafię korzystać.
A w czym twój link miałby pomóc?

Dodam, że problemu nie było przez długi czas. W pewnym momencie wyskoczył ten błąd, mimo że nie przypominam sobie żebym coś zmieniał w kodzie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.