skrypt imieninowy mający problem z przełomem miesiąca

skrypt imieninowy mający problem z przełomem miesiąca
IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

tyz nic 🙁

chyba trzeba wrócić do wersji z tablicą wewnątrz skryptu 🙁

w sumie jak jest jeden skrypt na dziś i jutro to tez dobre rozwiązanie

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
0
ikp-php3 napisał(a):

tyz nic 🙁

chyba trzeba wrócić do wersji z tablicą wewnątrz skryptu 🙁

w sumie jak jest jeden skrypt na dziś i jutro to tez dobre rozwiązanie

Modularność to jest potężne narzędzie, nie rezygnowałbym z niego. Przyda Ci się to w wielu innych miejscach.

Jak otwieram https://www.24ikp.pl/00dodatki/imieniny.php, to widzę pustą stronę (nie widać błędów).
Jak otwieram https://www.24ikp.pl/00dodatki/imieniny_jutro.php to widzę imieniny.

Pokażesz aktualny plik 00dodatki/imieniny.php?

IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0
Kopiuj
<?php

$today = new DateTime();
$tomorrow = new DateTime();
$tomorrow->modify('+1 day');

$todayNameDay = namesByNameDay($today);
$tomorrowNameDay = namesByNameDay($tomorrow);

if ($todayNameDay) {
    echo "Imieniny mają $todayNameDay";
} else {
    echo "Dzisiaj nie ma imienin.";
}

if ($tomorrowNameDay) {
    echo "<br>Jutro imieniny mają $tomorrowNameDay";
} else {
    echo "Jutro nie ma imienin.";
}

function namesByNameDay($date) {

{
    $nameDays = include __DIR__ . '/imieniny_imiona.php';
    $month = $date->format('n');
    $day = $date->format('j');
    if (array_key_exists($month, $nameDays) && array_key_exists($day, $nameDays[$month])) {
        if ($nameDays[$month][$day] !== '') {
            return $nameDays[$month][$day];
        }
    }
    return null;
}
?>

a może problem nie jest w skrypcie tylko w tablicy może za prosta 😉

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
0
ikp-php3 napisał(a):

a może problem nie jest w skrypcie tylko w tablicy może za prosta 😉

Uruchomiłem program u siebie, dostałem błąd:

Kopiuj
PHP Parse error:  Unclosed '{' on line 22 in /home/danon/Projects/coyote/file.php on line 36

Zapewne chodzi o nadmiarowe nawiasy po funkcji.

Może powinieneś włączyć reportowanie błędów w swojej aplikacji, wtedy byś też to zobaczył? 🤔

IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
1

mnie wyszło że otwartych jest 4 a zamkniętych 3

gdy zlikwidowałem jeden otwarty zadziałało 😉

IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

wróciłem do tej ścieżki bez dira

Kopiuj
$nameDays = include 'imieniny_imiona.php';

ale o dziwo działa też

Kopiuj
$nameDays = include './imieniny_imiona.php';

dlaczego, pliki funkcji i tablicy są w jednym katalogu?

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
1
ikp-php3 napisał(a):

wróciłem do tej ścieżki bez dira

Kopiuj
$nameDays = include 'imieniny_imiona.php';

ale o dziwo działa też

Kopiuj
$nameDays = include './imieniny_imiona.php';

Te dwa zapisy są ze sobą równoważne. Oba odczytają plik imieniny_imiona.php w CWD (aktualnym roboczym katalogu).

IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

no to chyba w końcu mamy sukces - BARDZO dziekuję za duuużą pomoc ;)

Manna5
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 667
1
ikp-php3 napisał(a):

dziękuję, czy to tak powinno być?

Kopiuj
<?php

# Dzień roku liczony od zera.
$dnroku = intval (date ('z'));
# Tablica imienin załadowanych z pliku.
$kalendarz = file ('imieniny.txt');
# Dzisiejsze imieniny.
$imdzis = trim ($kalendarz[$dnroku]);
echo "<P>Dziś obchodzimy imieniny $imdzis.</P>";
# Ile jest dni w roku?
$rok = intval (date ('Y'));
$dwr = (($rok % 4 == 0 && $rok % 100 > 0) || $rok % 400 == 0) ? 366 : 365;
# Jutrzejsze imieniny.
if (++$dnroku >= $dwr)
  $dnroku = 0;
$imjut = trim ($kalendarz[$dnroku]);
print "<P>Jutro: $imjut.</P>";

?>

a co do tablicy to powinny być:
$dnroku[0] = "Edwarda, Hanny, Szymona";
$dnroku[1] = "Edwarda, Hanny, Szymona";

itd...
i nic poza tym?

a jak rozstrzygnąć luty

czy pod wersja php5.4 będzie działało

Tak, wystarczy dodać znaczniki otaczające kod PHP. Nie musisz nic ręcznie wpisywać do tablicy, zamiast do kolejnych elementów tablicy wpisz dane do kolejnych wierszy w zewnętrznym pliku. Ta wersja skryptu używa tylko dosyć podstawowych funkcji, więc jak najbardziej zadziała w PHP5.4.

a jak rozstrzygnąć luty

Chodzi Ci o to, że 29. lutego w roku przestępnym są inne imieniny, niż byłyby tego samego dnia roku w roku zwykłym, bo byłby to 1. marca? Rzeczywiście, zapomniałem o tym. Poprawiony skrypt:

Kopiuj
<?php

# Dzień roku liczony od zera.
$dnroku = intval (date ('z'));
# Tablica imienin załadowanych z pliku.
$kalendarz = file ('imieniny.txt');
# Ile jest dni w roku?
$rok = intval (date ('Y'));
$dwr = (($rok % 4 == 0 && $rok % 100 > 0) || $rok % 400 == 0) ? 366 : 365;

function czyjeim ($d) {
  global $kalendarz, $dwr;
  # Zwróć, czyje imieniny są danego dnia roku.
  if ($dwr <= 365 && $d >= 59) {
    # Rok nie jest przestępny oraz mamy 1. marca lub później.
    ++$d;
  }
  return trim ($kalendarz[$d]);
}
# Dzisiejsze imieniny.
$imdzis = czyjeim ($dnroku);
echo "<P>Dziś obchodzimy imieniny $imdzis.</P>";
# Jutrzejsze imieniny.
if (++$dnroku >= $dwr)
  $dnroku = 0;
$imjut = czyjeim ($dnroku);
echo "<P>Jutro: $imjut.</P>";

?>
IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

dziękuję 😉

IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

Ridlle, skrypt działa jeszcze raz dziękuję za pomoc, natomiast jest problem, że generuje on tysiące zapytań na serwerze co powoduje zawieszanie strony (niestety nie powoduje to aż taka ilość odwiedzin) co może być powodem aż takiej ilości zapytań, może to, że imona są w oddzielnym pliku? - nie mam pojęcia o co chodzi? - pomóż proszę ;)

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
0
ikp-php3 napisał(a):

Ridlle, skrypt działa jeszcze raz dziękuję za pomoc, natomiast jest problem, że generuje on tysiące zapytań na serwerze co powoduje zawieszanie strony (niestety nie powoduje to aż taka ilość odwiedzin) co może być powodem aż takiej ilości zapytań, może to, że imona są w oddzielnym pliku? - nie mam pojęcia o co chodzi? - pomóż proszę ;)

Wklej proszę cały kod.

IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

to jest skrypt imieniny na dziś taki sam jest na jutro oczywiście ze zmianą

Kopiuj
<?php

$today = new DateTime();
$tomorrow = new DateTime();
$tomorrow->modify('+1 day');

$todayNameDay = namesByNameDay($today);
$tomorrowNameDay = namesByNameDay($tomorrow);

if ($todayNameDay) {
    echo "$todayNameDay";
} else {
    echo "Dzisiaj nie ma imienin.";
}

function namesByNameDay($date) {

    $nameDays = include 'imieniny_imiona.php';
    $month = $date->format('n');
    $day = $date->format('j');
    if (array_key_exists($month, $nameDays) && array_key_exists($day, $nameDays[$month])) {
        if ($nameDays[$month][$day] !== '') {
            return $nameDays[$month][$day];
        }
    }
    return null;
}
?>

jutro

Kopiuj
<?php

$today = new DateTime();
$tomorrow = new DateTime();
$tomorrow->modify('+1 day');

$todayNameDay = namesByNameDay($today);
$tomorrowNameDay = namesByNameDay($tomorrow);

if ($tomorrowNameDay) {
    echo "$tomorrowNameDay";
} else {
    echo "Jutro nie ma imienin.";
}

function namesByNameDay($date) {

    $nameDays = include 'imieniny_imiona.php';
    $month = $date->format('n');
    $day = $date->format('j');
    if (array_key_exists($month, $nameDays) && array_key_exists($day, $nameDays[$month])) {
        if ($nameDays[$month][$day] !== '') {
            return $nameDays[$month][$day];
        }
    }
    return null;
}
?>

tablica z imionami fragment

Kopiuj
<?php

$nameDays[1][1] = "Mieczysława, Masława, Mieszka";
$nameDays[1][2] = "Izydora, Bazylego, Makarego, Narcyzy";
$nameDays[1][3] = "Arlety, Danuty, Lucjana";
$nameDays[1][4] = "Anieli, Elżbiety, Tytusa";
$nameDays[1][5] = "Edwarda, Hanny, Szymona";
$nameDays[1][6] = "Kacpra, Melchiora, Baltazara";
$nameDays[1][7] = "Juliana, Lucjana, Walentyny";
$nameDays[1][8] = "Artura, Rajmunda, Seweryny";

return $nameDays;

?>
Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
0
ikp-php3 napisał(a):

[...] natomiast jest problem, że generuje on tysiące zapytań na serwerze co powoduje zawieszanie strony (niestety nie powoduje to aż taka ilość odwiedzin) co może być powodem aż takiej ilości zapytań, może to, że imona są w oddzielnym pliku? - nie mam pojęcia o co chodzi? [...]

Co masz na mysli mówiąc że generuje on tysiące zapytań? 🤔

IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

dokładnie to co napisałem ;), zapytania wewnętrzne serwera są ich dziennie tysiące, ale teraz myślę, że to może być problem konstrukcja strony

strona includuje te skrypty na każde wejście do serwisu i na każde strony :( i może dlatego tak się dzieje,

ale z drugiej strony praktycznie są potworzone "klocki" z różnymi elementami strony i są wklejane w różnej konfiguracji na różne podstrony i tych problemów z zapytaniami serwera nie ma 🙁

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
0
ikp-php3 napisał(a):

dokładnie to co napisałem ;), zapytania wewnętrzne serwera są ich dziennie tysiące, ale teraz myślę, że to może być problem konstrukcja strony

strona includuje te skrypty na każde wejście do serwisu i na każde strony :( i może dlatego tak się dzieje,

ale z drugiej strony praktycznie są potworzone "klocki" z różnymi elementami strony i są wklejane w różnej konfiguracji na różne podstrony i tych problemów z zapytaniami serwera nie ma 🙁

Pokaż kod który wkleja te skrypty.

IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0
Kopiuj

<table width="1050" height="60" border="0" cellpadding="0" cellspacing="0" valign="middle">

<tr width="100%">

<td align="left" valign="middle" class="td_zaduzy" width="350"  style="text-align: left; vertical-align: middle">

<?php readfile("https://www.24ikp.pl/00dodatki/data.php"); ?>

</td>

<td align="center" valign="middle" class="td_zaduzy" width="300"  style="text-align: center; vertical-align: middle">

<center><span style="color: #000066"><?php readfile("https://www.24ikp.pl/00dodatki/imieniny/imieniny_dzis.php"); ?></span></center>

</td>

<td align="center" valign="middle" class="td_zaduzy" width="400"  style="text-align: center; vertical-align: middle">

<center><span style="color: #FF0000"><?php readfile("https://www.24ikp.pl/00dodatki/swieta/swieta_dzis.php"); ?></span></center>

</td></tr>

<tr width="100%">

<td align="left" valign="middle" class="td_zaduzy" width="350"  style="text-align: left; vertical-align: middle">

<?php readfile("https://www.24ikp.pl/00dodatki/data_jutro.php"); ?>

</td>

<td align="center" valign="middle" class="td_zaduzy" width="300"  style="text-align: center; vertical-align: middle">

<center><span style="color: #000066"><?php readfile("https://www.24ikp.pl/00dodatki/imieniny/imieniny_jutro.php"); ?></span></center>

</td>

<td align="center" valign="middle" class="td_zaduzy" width="400"  style="text-align: center; vertical-align: middle">

<center><span style="color: #FF0000"><?php readfile("https://www.24ikp.pl/00dodatki/swieta/swieta_jutro.php"); ?></span></center>

</td></tr>

</table>

to jest właśnie zrobiony "klocek" który wkleja się na stronę docelową:

Kopiuj
<?php include("../00bloki/pod_naglowek.php"); ?>
IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

tu jest log ostatnie 40 zapytań

2.57.137.53 - - [02/May/2025:11:08:32 +0200] "GET /00dodatki/swieta/swieta_dzis.php HTTP/1.0" 200 214 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:32 +0200] "GET /00dodatki/data_jutro.php HTTP/1.0" 200 222 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:32 +0200] "GET /00dodatki/imieniny/imieniny_jutro.php HTTP/1.0" 200 210 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:32 +0200] "GET /serwis/panel_pop.php HTTP/1.0" 200 4535 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:32 +0200] "GET /ogloszenia/0rotator_lewy/ogloszenia.php HTTP/1.0" 404 1670 "-" "-" PL -
146.247.137.179 - - [02/May/2025:11:08:36 +0200] "GET /redakcja/my.php HTTP/1.1" 301 1053 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36" NO -
2.57.137.53 - - [02/May/2025:11:08:36 +0200] "GET /00dodatki/data.php HTTP/1.0" 200 216 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:36 +0200] "GET /00dodatki/imieniny/imieniny_dzis.php HTTP/1.0" 200 183 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:36 +0200] "GET /00dodatki/data_jutro.php HTTP/1.0" 200 222 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:36 +0200] "GET /00dodatki/imieniny/imieniny_jutro.php HTTP/1.0" 200 210 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:36 +0200] "GET /serwis/panel_pop.php HTTP/1.0" 200 4535 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:36 +0200] "GET /wydarzenia/wyd04.php HTTP/1.0" 200 13093 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:36 +0200] "GET /ogloszenia/0rotator_lewy/ogloszenia.php HTTP/1.0" 404 1670 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:36 +0200] "GET /00komrek/reklama_s_w1/rek.php HTTP/1.0" 200 157 "-" "-" PL -
146.247.137.179 - - [02/May/2025:11:08:36 +0200] "GET /redakcja/my.php HTTP/2" 200 11763 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36" NO -
2.57.137.53 - - [02/May/2025:11:08:36 +0200] "GET /00dodatki/swieta/swieta_dzis.php HTTP/1.0" 200 214 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:36 +0200] "GET /00dodatki/swieta/swieta_jutro.php HTTP/1.0" 200 291 "-" "-" PL -
146.247.137.179 - - [02/May/2025:11:08:43 +0200] "GET /skarby/ulice_prosz/skarby.php HTTP/1.1" 301 1067 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36" NO -
2.57.137.53 - - [02/May/2025:11:08:43 +0200] "GET /00dodatki/imieniny/imieniny_jutro.php HTTP/1.0" 200 210 "-" "-" PL -
146.247.137.179 - - [02/May/2025:11:08:43 +0200] "GET /skarby/ulice_prosz/skarby.php HTTP/2" 200 17454 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36" NO -
2.57.137.53 - - [02/May/2025:11:08:43 +0200] "GET /00dodatki/data.php HTTP/1.0" 200 216 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:43 +0200] "GET /00dodatki/imieniny/imieniny_dzis.php HTTP/1.0" 200 183 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:43 +0200] "GET /00dodatki/swieta/swieta_dzis.php HTTP/1.0" 200 214 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:43 +0200] "GET /00dodatki/data_jutro.php HTTP/1.0" 200 222 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:43 +0200] "GET /00dodatki/swieta/swieta_jutro.php HTTP/1.0" 200 291 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:43 +0200] "GET /serwis/panel_pop.php HTTP/1.0" 200 4535 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:43 +0200] "GET /wydarzenia/wyd04.php HTTP/1.0" 200 13093 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:43 +0200] "GET /ogloszenia/0rotator_lewy/ogloszenia.php HTTP/1.0" 404 1670 "-" "-" PL -
51.222.253.18 - - [02/May/2025:11:08:46 +0200] "GET /redakcja/archiwum/2016/01/20160114kkw_rybarczyk/druk.php HTTP/2" 404 806 "-" "Mozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/)" CA -
146.247.137.179 - - [02/May/2025:11:08:54 +0200] "GET /serwis/poza/serwis.php HTTP/1.1" 301 1060 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36" NO -
2.57.137.53 - - [02/May/2025:11:08:54 +0200] "GET /00dodatki/data_jutro.php HTTP/1.0" 200 222 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:54 +0200] "GET /00dodatki/imieniny/imieniny_jutro.php HTTP/1.0" 200 210 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:54 +0200] "GET /00dodatki/swieta/swieta_jutro.php HTTP/1.0" 200 291 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:54 +0200] "GET /serwis/panel_pop.php HTTP/1.0" 200 4535 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:54 +0200] "GET /ogloszenia/0rotator_lewy/ogloszenia.php HTTP/1.0" 404 1670 "-" "-" PL -
146.247.137.179 - - [02/May/2025:11:08:54 +0200] "GET /serwis/poza/serwis.php HTTP/2" 200 17291 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36" NO -
2.57.137.53 - - [02/May/2025:11:08:54 +0200] "GET /00dodatki/data.php HTTP/1.0" 200 216 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:54 +0200] "GET /00dodatki/imieniny/imieniny_dzis.php HTTP/1.0" 200 183 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:54 +0200] "GET /00dodatki/swieta/swieta_dzis.php HTTP/1.0" 200 214 "-" "-" PL -
2.57.137.53 - - [02/May/2025:11:08:54 +0200] "GET /wydarzenia/wyd04.php HTTP/1.0" 200 13093 "-" "-" PL -

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
0

Nic dziwnego że lecą zapytania, skoro sam je generujesz. Każdy taki kod:

Kopiuj
<?php readfile("https://www.24ikp.pl/00dodatki/swieta/swieta_jutro.php"); ?>

wczytuje zawartość po HTTP. Policz sobie ile razy robisz readfile(), tyle razy poleci nowe zapytanie.

Dodaj sobie ten plik normalnie przez require, ale nie używając URL servera, tylko ścieżki względnej, np tak:

Kopiuj
<center>
  <span style="color: #FF0000">
    <?php require "./swieta/swieta_jutro.php"; ?>
  </span>
</center>

Oczywiście ścieżka względna musi być względem Twojego pliku, więc ta ścieżka to może być ewentualnie ../swieta/swieta_jutro.php, ../../swieta/swieta_jutro.php lub coś podobnego.

Musisz jednak wiedzieć że takie budowanie strony jest bardzo problematyczne, i dałoby się ten kod przerobić tak żeby był znacznie czytelniejszy.

IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

a czy może być incude?

IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

include oczywiście ;)

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
0

Niby może, ale czemu miałbyś wybrać include zamiast require? To nie jest tak, że te pliki są opcjonalne prawda? Zawsze chcesz je dodać, więc moim zdaniem require jest odpowiedniejszy.

IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

ups wszystko zniknęło, może dlatego, że strona chodzi pod php 5.4

Kopiuj
<table width="1050" height="60" border="0" cellpadding="0" cellspacing="0" valign="middle">

<tr width="100%">

<td align="left" valign="middle" class="td_zaduzy" width="350"  style="text-align: left; vertical-align: middle">

<?php require "./00dodatki/data.php"; ?>

</td>

<td align="center" valign="middle" class="td_zaduzy" width="300"  style="text-align: center; vertical-align: middle">

<center><span style="color: #000066"><?php require "./00dodatki/imieniny/imieniny_dzis.php"; ?></span></center>

</td>

<td align="center" valign="middle" class="td_zaduzy" width="400"  style="text-align: center; vertical-align: middle">

<center><span style="color: #FF0000"><?php require "./00dodatki/swieta/swieta_dzis.php"; ?></span></center>

</td></tr>

<tr width="100%">

<td align="left" valign="middle" class="td_zaduzy" width="350"  style="text-align: left; vertical-align: middle">

<?php require "./00dodatki/data_jutro.php"; ?>

</td>

<td align="center" valign="middle" class="td_zaduzy" width="300"  style="text-align: center; vertical-align: middle">

<center><span style="color: #000066"><?php require "./00dodatki/imieniny/imieniny_jutro.php"; ?></span></center>

</td>

<td align="center" valign="middle" class="td_zaduzy" width="400"  style="text-align: center; vertical-align: middle">

<center><span style="color: #FF0000"><?php require "./00dodatki/swieta/swieta_jutro.php"; ?></span></center>

</td></tr>

</table>

IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
1

gdy mu do adresu dodałem drugą kropkę ../ to pojawiła się pierwsza linia ale wyrzucił taki błąd:

Dzisiaj jest: piątek, 2 maja 2025 r. (122 d.r.)
Longiny, Toli, Zygmunta

Fatal error: Cannot redeclare namesByNameDay() (previously declared in /home/ikpeu/domains/24ikp.pl/public_html/00dodatki/imieniny/imieniny_dzis.php:17) in /home/ikpeu/domains/24ikp.pl/public_html/00dodatki/swieta/swieta_dzis.php on line 17

a ten skrypt to:

Kopiuj

<?php

$today = new DateTime();
$tomorrow = new DateTime();
$tomorrow->modify('+1 day');

$todayNameDay = namesByNameDay($today);
$tomorrowNameDay = namesByNameDay($tomorrow);

if ($todayNameDay) {
    echo "$todayNameDay";
} else {
    echo "&nbsp;";
}

function namesByNameDay($date) {

    $nameDays = include 'swieta_swieta2025.php';
    $month = $date->format('n');
    $day = $date->format('j');
    if (array_key_exists($month, $nameDays) && array_key_exists($day, $nameDays[$month])) {
        if ($nameDays[$month][$day] !== '') {
            return $nameDays[$month][$day];
        }
    }
    return null;
}
?>
IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

no właśnie skrypt wykorzystałem w w imieninach i w świętach więc to dublowanie będzie się powtarzało także w świętach i imieninach na dzień następny :(

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
0
ikp-php3 napisał(a):

no właśnie skrypt wykorzystałem w w imieninach i w świętach więc to dublowanie będzie się powtarzało także w świętach i imieninach na dzień następny :(

No widzisz, to się dzieje dlatego że dołączasz dwa razy ten sam skrypt. Tak się nie powinno robić. Jeden plik powinien być dołączony raz, najlepiej zanim program zacznie działać.

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
0

Przerób kod na funkcje:

Kopiuj
<?php

function todayNameDay() {
  $today = new DateTime();
  $tomorrow = new DateTime();
  $tomorrow->modify('+1 day');
  
  $todayNameDay = namesByNameDay($today);
  $tomorrowNameDay = namesByNameDay($tomorrow);
  
  if ($todayNameDay) {
      return $todayNameDay;
  } 
  return "&nbsp;";
}

function namesByNameDay($date) {

    $nameDays = include 'swieta_swieta2025.php';
    $month = $date->format('n');
    $day = $date->format('j');
    if (array_key_exists($month, $nameDays) && array_key_exists($day, $nameDays[$month])) {
        if ($nameDays[$month][$day] !== '') {
            return $nameDays[$month][$day];
        }
    }
    return null;
}

Dołącz ten plik RAZ (żywając require), i potem użyj samej funkcji todayNameDay(), np tak:

Kopiuj
<span style="color:#000066; text-align:center;">
  <?php echo todayNameDay(); ?>
</span>
IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

normalnie wykorzystuję ten skrypt 4 razy: imieniny_dzis, sieta_dzis, imieniny jutro i swieta jutro, które skrypty mam zmienić

mam dużą prośbę bo ja na pewno coś skopię, jakbym dał Ci te cztery pliko i ładnie poprosił przerobiłbyś to tak jak trzeba?

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
0

@ikp-php3 A masz jak podesłać cały projekt? Nie tylko cztery pliki, tylko wszystko?

IP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

jest to serwis informacyjny więc jest to potężny projekt, oczywiście że mogę go przesłać upakuję (może bez archiwum bo jeszcze sam za niego się nie wziĄłem (bo ostatnio remontowałem serwis) i prześlę Ci link do pobrania

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.