Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcje i sesja nie wspolpracuja
Forum PHP.pl > Forum > Przedszkole
Bojakki
Razem z kolega zrobilismy 2 pliki. Jeden z funkcjami - config.php, ktory includowany jest tam gdzie potzrebne jest wykonanie tych funkcji, a drugi to plik z sesja phpbb, systemem logowania i ogolnie tym co sie powtarza na kazdej podstronie seriwsu (logo, wyszukiwarka itp) - nazywa sie on top.php. Osobno kazdy z plikow dziala doskonale, a gdy je zamontuje na jednej stronce (ktora wykorzystuje funkcje z config.php) to dziala tylko ten z sesja, a config.php odwala jakies dyrdymaly:) Konkretnie to wyskakuje blad:
Cytat
Fatal error: Cannot redeclare konkatenuj() in /home/bojakki/public_html/config.php on line 29

dodam, ze konkatenuj to nazwa pierwszej z funkcji, jak ja usune ja z config.php to blad mowi o kolejnej itd.

Wszystko jest w porzadeczku gdy top.php z sesja zaincluduje na koncu kodu, gdy juz nie sa wywolywane zadne funkcje z config.php. Jestem jednak poczatkujacy i nie wiem jak to zrobic. top.php to sama gora strony i po prostu nie moze sie wyswietlac nizej. Co zrobic by jedno bylo wywolywane wczesniej a drugie pozniej, ale zeby jednak wyswietlaly sie odwrotnie.

Dla rozjasnienia sytuacji:
Gdy jest tak:
Kod
<?php
include("top.php");
?>
<?php
include("config.php");
?>
kod html, w ktorym sa wywolywane funkcje

nie dziala

Kod
<?php
include("config.php");
?>
<?php
include("top.php");
?>
kod html w ktorym sa wywolywane funkcje

nie dziala

Kod
<?php
include("config.php");
?>
kod html w ktorym sa wywolywane funkcje
<?php
include("top.php");
?>

dziala, ale to co jest w top.php wyswietla sie na samym dole, a ja chce by sie wyswietlalo na samej gorze.

ktos moze zna jakis numer by to obejsc
aleksander


Po prostu w dwóch miejscach jest zadeklarowana funkcja konkatenuj(). Pewnie dwa razy includujesz jakis plik. proponuje uzywac include_once" title="Zobacz w manualu PHP" target="_manual()
Bojakki
Pomoglo czesciowo. teraz wyskakuje blad ERROR SQL

Przejrzalem caly kod i po wielu testach wyszlo mi, ze sesja, ktora wyglada tak:
Kod
<?php


define('IN_PHPBB', true);
$phpbb_root_path = './forum/';
$page_path = './../';
include_once($phpbb_root_path . 'extension.inc');
include_once($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX, $session_length);
init_userprefs($userdata);
//zmienne odpowiadajace za statsy
$total_posts = get_db_stat('postcount');
$total_users = get_db_stat('usercount');
$newest_userdata = get_db_stat('newestuser');
$newest_user = $newest_userdata['username'];
$newest_uid = $newest_userdata['user_id'];
//koniec zmienne odpowiadajace za statsy poczatek zmienne odp. za logowanie
$scfile=explode("/",$_SERVER['PHP_SELF']);
$redir = "../";
?>

Nie moze wystepowac tylko przed paroma fragmentami kodu php. Mianowicie:
  1. <?php
  2. $k_query = mysql_query(&#092;"SELECT * FROM kategorie WHERE id=$wsk\") or 
  3.  
  4. die(&#092;"Error SQL\"); 
  5.  while($row=mysql_fetch_row($k_query)){
  6. print($row[1].&#092;", \");
  7.  }
  8. ?>

i
  1. <?php
  2. $sz_query = mysql_query(&#092;"SELECT * FROM katalog WHERE id=$wsk\") or die(\"Error SQL\"); 
  3. $sz_row=mysql_fetch_row($sz_query);
  4. print(&#092;"<img border=\"0\" src=\"\".pobierz_okladke($sz_row[4],$sz_row[1]).\"\" 
  5.  
  6. width=&#092;"160\" height=\"226\">\");
  7.  
  8. ?>


Mysle, ze to moze cos pomoc w rozwiazaniu mojego problemu. Za wszelka pomoc bede wdzieczny:)
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.