Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]include - pewien problem
Forum PHP.pl > Forum > Przedszkole
kocik13
Witam...

Kolejny temat, kolejny problem (swego czasu już raz na forum pytałem, nikt nie udzielił odpowiedzi)...
Chcę zrobić stronę i normalną rzeczą, że będzie miała podstrony a w moim przypadku bardzo dużo... I chciałbym zrobić funkcję która sprawdza na początku pliku pewne parametry... aby jej w każdym pliku na oślep nie powtarzać umieszczę ją w osobnym pliku... Oto moje zamiary w praktyce (to tylko głupi przykład)

plik funkcja.php
CODE
if ($_SESSION['user'] && $_SESSION['zalogowany']){
//TU BYM DAŁ POŁĄCZENIE Z BAZĄ DANYCH I WYBRANIE REKORDU REJESTRACJA
if ($rekord['rejestracja']=='1'){

//I TU BYŁBY KOD STRONY KTÓRA GO INCLUDUJE.

}elseif ($rekord['rejestracja']=='0'){
echo 'rejestruj sie'; }

}elseif (!$_SESSION['user'] && $_SESSION['zalogowany']){
echo ' nie jesteś zalogowany'; }
?>


Chodzi o to aby: zwykły plik includował sobie plik funkcja php i w miejscu "//I TU BYŁBY KOD STRONY KTÓRA GO INCLUDUJE" wstawiał by sobie swój kod a jeśli by nie były spełnione warunki plik funkcja.php wyświetlał by błąd... no właśnie... jak zrobic aby aby ten plik funkcja.php umieszczał kod zwykłej strony w kod swojej a nie na odwrót ? Gdybym się działo na odwrót wyglądało by to tak:


inedx.php
CODE

include ('funkcja.php');
// czyli inaczej
//if ($_SESSION['user'] && $_SESSION['zalogowany']){
//TU BYM DAŁ POŁĄCZENIE Z BAZĄ DANYCH I WYBRANIE REKORDU ZAREJESTROWANY
//if ($rekord['rejestracja']=='1'){

//}elseif ($rekord['rejestracja']=='0'){
//echo 'rejestruj sie'; }

//}elseif (!$_SESSION['user'] && $_SESSION['zalogowany']){
//echo ' nie jesteś zalogowany'; }

echo 'Tu nie działało by sprawdzanie ponieważ najpierw sprawdza a jeśli się zgadza nic nie robi...';

?>


Mam nadzieje, że mnie rozumiecie...

Pozdrawiam
Revan1
Nie za bardzo rozumiem, ale chyba po prostu w funkca.php po prostu zaincluduj 1 skrypt..
kocik13
właśnie nie rozumiesz tongue.gifP Chodzi o to aby: mamy plik index.php i on ma np kod taki

<?php
include (funkcja.php);
echo 'Treść';
?>

I teraz tak ten plik index.php ma wyświetlić słowo treść jeśłi są spełnione warunki w pliku funkcja.php a jeśli nie plik funkcja.php wyświetli błąd a plik index.php nic... I to nie ma byc tylko dla 1 pliku... np. przyjmijmy, że tworzę grę... I mamy takie pliki: index.php, handel.php, miasto,php... Po to chcę includować plik funkcja.php aby w każdym pliku mógł działać czyli w przypadku handel.php
<php
include (funkcja.php);
//Jeśli warunki się spełnią
echo 'Plik handlu';
//Jeśli się nei spełnią plik funkcja.php wyświetla błąd a plik handel.php nic
?>
Pride
hmm to zrób sobie te warunki
  1. <?php
  2. if(!ten twoj warunek)
  3. {
  4. exit('Nie przeszło');
  5. }
  6. ?>

exit" title="Zobacz w manualu PHP" target="_manual
decha-design
Na razie odejdę trochę od tematu ...

  1. <?php
  2. if ($_SESSION['user'] && $_SESSION['zalogowany']){
  3. //TU BYM DAŁ POŁĄCZENIE Z BAZĄ DANYCH I WYBRANIE REKORDU REJESTRACJA
  4. if ($rekord['rejestracja']=='1'){
  5.  
  6. //I TU BYŁBY KOD STRONY KTÓRA GO INCLUDUJE.
  7.  
  8. }elseif ($rekord['rejestracja']=='0'){
  9. echo 'rejestruj sie'; }
  10.  
  11. }elseif (!$_SESSION['user'] && $_SESSION['zalogowany']){
  12. echo ' nie jesteś zalogowany'; }
  13. ?>
że co? co to w ogóle jest? po co elseif? korzystaj z else:
  1. <?php
  2. if ($_SESSION['user'] && $_SESSION['zalogowany']){
  3. //TU BYM DAŁ POŁĄCZENIE Z BAZĄ DANYCH I WYBRANIE REKORDU REJESTRACJA
  4. if ($rekord['rejestracja']=='1'){
  5.  
  6. //I TU BYŁBY KOD STRONY KTÓRA GO INCLUDUJE.
  7.  
  8. }else{
  9. echo 'rejestruj sie'; }
  10.  
  11. }else{
  12. echo ' nie jesteś zalogowany'; }
  13. ?>

a jak już chcesz robić coś takiego:
  1. <?php
  2. !$_SESSION['user'] && $_SESSION['zalogowany']
  3. ?>
to nie tak, tylko tak:
  1. <?php
  2. !$_SESSION['user'] && !$_SESSION['zalogowany']
  3. ?>


------------------------------------

A teraz wracając do tematu ...

  1. <?php
  2. $ok = false;
  3. if ($_SESSION['user'] && $_SESSION['zalogowany']) {
  4. //TU BYM DAŁ POŁĄCZENIE Z BAZĄ DANYCH I WYBRANIE REKORDU REJESTRACJA
  5. if ($rekord['rejestracja'] == 1) {
  6.  
  7. //I TU BYŁBY KOD STRONY KTÓRA GO INCLUDUJE.
  8. $ok = true;
  9.  
  10. }else{
  11. include('./register.php');
  12. exit();
  13. }
  14.  
  15. }else{
  16. echo ' nie jesteś zalogowany';
  17. exit();
  18. }
  19. ?>


  1. <?php
  2. include ('./funkcja.php');
  3. if ($ok == true) {
  4. echo 'Treść';
  5. }
  6. ?>
czy coś takiego
kocik13
Decha... Dzięki wielkie biggrin.gif nie wpadłem na takie rozwiązanie smile.gif Dzięki też za poprawki...
decha-design
Ależ nie ma problemu, od tego jesteśmy =))
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.