Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Stare funkcje nie działąją na nowym serwerze
Forum PHP.pl > Forum > Przedszkole
p4u
Po przeniesieniu strony na inny hosting nie działają mi funkcje:
  1. function clearDiacritics($sText)
  2. {
  3. $aReplacePL = array(
  4. '•' => '-', '–' => '-', '– ' => '- ', '„' => '"', '”' => '"', '”' => '"', '„' => '"', 'ü' => 'u', 'ö' => 'o',
  5. 'ß' => 'b', 'ä' => 'a', 'Ä' => 'A', '• ' => '- ', '•' => '-', 'Ö' => 'O', ' ' => '', 'Ü' => 'U', '•' => '-', '–' => '-',
  6. '"' => '"', '€' => 'EUR', '€' => 'EUR'
  7. );
  8. return str_replace(array_keys($aReplacePL), array_values($aReplacePL), $sText);
  9. }
  10.  

ta funkcja nie wyświetla mi danych z bazy danych:
$nazwa= clearDiacritics(ucfirst(htmlspecialchars($rzad['nazwa'])));
jest poprawnie dopiero jak zrobię
$nazwa= ($rzad['nazwa']; ale omijam sprawdzanie

Jak to zrobić by działało na nowym serwerze. Wersja PHP 5.5 /mam możliwość wyboru od 5.2 do 7.0/


Czy połączenie z bazą danych jak poniżej jest poprawne?:

  1. <?
  2. require("../config.php");
  3. require_once("../funkcja.php");
  4. $conn=mysql_connect($host,$bazalogin,$bazahaslo);
  5. $wstecz = $HTTP_REFERER;
  6. ?>
nospor
Wlacz wywietlanie wszystkich bledow to moze zobaczysz na ekranie jakies interesujace bledy.
Jesli nie chcesz wlaczyc wyswietlania, to wlacz zapisywanie do logow wszystkich bledow i przejrzyj logi
KsaR
Ustaw do testu 5.4 lub nawet 5.2 bo to chyba jakiś starszy skrypt?

Zamień <? Na <?php - bo <? Moze nie działać zależnie od konfiguracji serwera
Zamień $HTTP_REFERER na $_SERVER['HTTP_REFERER']
viking
Chyba że hosting ma domyślnie PHP7 to zapomnij o funkcjach mysql_
p4u
$HTTP_REFERER na $_SERVER['HTTP_REFERER'] - to nie ma wpływu dotyczy przycisku cofnięcia na poprzednią stronę. Po usunięciu czy zmianie nie dotyczy skryptu.

Zmieniony został PHP z 5.5 na 5.2 i funkcje zaczęły ponownie działać. Jak dać nowe funkcje zamiast powyższych by działały poprawnie na nowszej wersji PHP?

Viking " /mam możliwość wyboru od 5.2 do 7.0/"
Pyton_000
@nospor już Ci powiedział. Przeglądaj błedy PHP to się dowiesz dla czego nie działa. My wróżkami nie jesteśmy.
p4u
wkleiłem do skryptu
  1. error_reporting(E_ALL|~E_NOTICE);
przełączę serwer na 5.5 i zobaczę co wyświetli ok 10-15 minut czekania.

Po przełączeniu na nowszą wersję PHP nie wyświetla żadnego błędu jedynie nie wyświetla danych z funkcjami
$nazwa= clearDiacritics(ucfirst(htmlspecialchars($rzad['nazwa'])));
viking
Sama funkcja jest poprawna. Sprawdź jeszcze w logach serwera bo może być display_errors na false.
nospor
I nie:
error_reporting(E_ALL|~E_NOTICE);

a:
error_reporting(E_ALL);
p4u
Gdzie sprawdzić logi. Na FTP w dziale logi nie ma nic z błędów php .
Zminiłem na
error_reporting(E_ALL);
i nadal nie wyświetla żadnego błędu, jedynie nie pokazuje danych które są przerabiane przez funkcje.
viking
echo E_ALL|~E_NOTICE; // -1 Jest ok wink.gif
Powinny być gdzieś w panelu.
nospor
Cytat
echo E_ALL|~E_NOTICE; // -1 Jest ok
Haha, fakt. Nawet mi do glowy nie przyszlo ze ktos moze tak bez sensu uzyc OR i z rozbiegu nawet nie zwrocilem na to uwagi biggrin.gif
p4u
Nospor nietypowe rozwiązanie z |
Nie wiem co robić przejść na starszą wersję PHP - działa mi wszystko na starszej wersji 5.2
Czy no wsza wersja PHP ma jakieś plusy w szybkości działania strony?
viking
Ma od diabła nowych funkcji i sporo połatanych luk. Z końcem roku kończy się rozwój v5 http://php.net/supported-versions.php. A jak tam ini_set('display_errors','1'); ? Jak masz panel? Autorski czy standard Direct Admin?
p4u
  1. ini_set('display_errors','1');
nic nie wyświetla



Strona była na poprzednim hostingu na wersji PHP 5.2 teraz działa na 5.3 wyższe wersje nie wyświetlają wyżej omawianych funkcji.

W zaawansowanych opcjach serwera są następujące opcje:
która warto odznaczyć lub uaktywnić ze względu na funkcjonalność i bezpieczeństwo?
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.