Drukowana wersja tematu
Forum PHP.pl _ PHP _ Przerobienie skryptu na potrzeby nowszej wersji php
Napisany przez: Jump0ncash 10.04.2024, 15:01:30
Posiadam stronę od kilku ładnych lat działała poprawnie na wersji PHP 7.3
Hosting na którym jest strona pozbył się wersji 7.3 i zastąpił ją wersją 7.4 i w związku z tym pojawiły się krzaczki
Nie jestem znawcą PHP zatem gotowca tutaj nie dostanę dlatego chętnie zapłacę blik na telefon i po sprawie.
Jest to skrypt który korzysta z API googlemaps - liczy kilometry z punktu a do b następnie coś tam mnoży i dzieli w wyniku wyświetla cenę z transprotem
$cities = '';
$result = eco_db_query("SELECT * FROM `-data-cities-province-poland` WHERE province = '" . eco_db_str($_GET['woj']) . "' ORDER BY city ASC");
while($row = eco_db_fetch_array($result)) :
if ($row['city'] != $miasto):
$cities .= '<a href="/szamba-betonowe/' . eco_db_str($_GET['woj']) . '/' . eco_alias($row['city']) . '">' . $row['city'] . '</a>, ';
endif;
endwhile;
$cities = http://www.php.net/trim($cities,", ");
$details = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=51.470937,21.121377&destinations=" . http://www.php.net/str_replace(" ","-",$miasto) . "," . $_GET['woj'] . "&mode=driving&sensor=false&key=***********************************";
$json = http://www.php.net/file_get_contents($details);
$details = json_decode($json, TRUE);
$distance = $details['rows'][0]['elements'][0]['distance']['text'];
$distance_raw = http://www.php.net/trim($distance," km");
$distance_raw = http://www.php.net/str_replace(",","",$distance_raw);
$transport_price = ($distance_raw * 9) / 3;
if ($distance_raw < 100) { $transport_price = $transport_price + 150;}
$transport_price = eco_money(http://www.php.net/floor($transport_price)) . 'PLN';
$output = content(43, 78);
$output = http://www.php.net/str_replace("{TRANSPORT:DYSTANS}",$distance,$output);
$output = http://www.php.net/str_replace("{TRANSPORT:KOSZT}",$transport_price,$output);
$output = http://www.php.net/str_replace("{WOJEWODZTWO}",http://www.php.net/ucfirst($_GET['woj']),$output);
$output = http://www.php.net/str_replace("{MIASTA}",http://www.php.net/ucfirst($cities),$output);
$output = http://www.php.net/str_replace("{MIASTO}",$miasto,$output);
http://www.php.net/echo $output;
https://abcszamba.pl/szamba-betonowe/wielkopolskie/krzywin
Podaje linka co by pokazać jakie błędy się wyśietlają
W celu dogadania się itp podaje numer lub email 690 493 500 jump0ncash@gmail.com
Napisany przez: Tomplus 12.04.2024, 10:58:01
Te błędy były wcześniej, teraz masz włączoną konfigurację w kodzie:
http://www.php.net/error_reporting(E_ALL);
zamiast
http://www.php.net/error_reporting(E_ALL & ~E_NOTICE);
oraz o
display_errors(False);
a co do błędu:
$details = "https://...";
$json = http://www.php.net/file_get_contents($details);
Zamień https na http - powinno przepuścić.
lub dodać powyżej:
http://www.php.net/ini_set("allow_url_fopen", true);
bo nie ma dodanego modułu fopen do PHP.
Napisany przez: Jump0ncash 12.04.2024, 13:56:41
Niestety nie pomogło
Napisany przez: Malinaa 15.04.2024, 22:41:22
Cytat(Jump0ncash @ 10.04.2024, 16:01:30 )
Podaje linka co by pokazać jakie błędy się wyśietlają
Pod linkiem masz błędy:
Notice: Undefined offset: 0 in /home/seodir2/domains/abcszamba.pl/public_html/pages/seo-pages/miasto.php on line 65
a pokazujesz inny kod nie związany z błędem, w tym kodzie nie ma linii 65, więc na tę chwilę rzecz wygląda jak "mydlenie" oczu.
Tomplus skąd Ty to wszystko wziąłeś (te poprawki błędów), czytasz z gwiazd, bo nie widać związku jednego z drugim?
Napisany przez: Tomplus 16.04.2024, 08:49:15
@Malinaa
Zgaduje jak jest, jak widać nie trafiłem z rozwiązaniem.
Jakby się zainteresował, to przynajmniej dałby feedback, co się się zmieniło. Sam mógłby zmienić parametry.
Napisany przez: Salvation 18.04.2024, 16:49:17
Cytat(Malinaa @ 15.04.2024, 23:41:22 )
a pokazujesz inny kod nie związany z błędem, w tym kodzie nie ma linii 65, więc na tę chwilę rzecz wygląda jak "mydlenie" oczu.
Wklejony kod akurat jest dobry. To jest wycinek całego pliku. Nie poinformował o tym autor, ale czytając treść błędu i patrząc na kod wzrok mogła przykuć tylko linijka 14... :oneeyedsmiley02:
Pomogłem użytkownikowi na priv, ale skoro nie wziąłem za to pieniędzy, to wrzucam rozwiązanie poniżej:
$distance = $details['rows'][0]['elements'][0]['distance']['text'] ?? '0 km';
Nie zmienia to faktu, że klucz API, z którego korzysta autor posta jest
invalid lub
restricted. Treść błędu:
Kod
This IP, site or mobile application is not authorized to use this API key
Przekierowałem go do firmy, która robiła mu stronę. Niech się tym zajmą.
Napisany przez: Malinaa 3.05.2024, 10:19:52
Cytat(Tomplus @ 16.04.2024, 09:49:15 )
@Malinaa
Zgaduje jak jest, jak widać nie trafiłem z rozwiązaniem.
Jakby się zainteresował, to przynajmniej dałby feedback, co się się zmieniło. Sam mógłby zmienić parametry.
Można i tak, albo kiedy jest się młodym, niestety nie mam czasu na zgadywanie
No i brak zainteresowania kodowaniem w PHP, czyli
Jump0ncash chciał aby go skasować za gotowca, którego za darmo nie dostanie bez własnego zaangażowania,
więc
Salvation stracił swoją okazje finansową wykonując poprawkę za free, na domiar jak pisze proste zadanie przekierowuje do firmy, która...
Cytat
Wklejony kod akurat jest dobry. To jest wycinek całego pliku.
Widziałeś cały kod i Kozak jesteś
Poza tym generalnie przeszło przez myśl co dobrego w kodzie, który pokazuje błędy i dalej poprawnie nie działa, ale jeżeli pomogło to też coś.
Napisany przez: Salvation 3.05.2024, 14:26:00
Cytat(Malinaa @ 3.05.2024, 11:19:52 )
Salvation stracił swoją okazje finansową wykonując poprawkę za free
No nie do końca "stracił"... Zrezygnowałem z wystawienia faktury po prostu, bo zajęło mi to minutę.
I tak, przekierowałem go do firmy, co robiła mu stronę. Nie rozumiem co w tym "złego". Jeżeli tamci nie chcieliby mu pomóc, to wróciłby do mnie
Na tamtą chwilę nie miałem czasu na wgryzanie się w kod customowego frameworka i ciśnięcie klienta na poprawki u mnie.
Autor oferował pieniądze. Tutaj, na forum, czy podczas rozmowy na mailu. A poniżej to co napisał w pierwszym swoim poście.
Cytat(Jump0ncash @ 10.04.2024, 16:01:30 )
Nie jestem znawcą PHP zatem gotowca tutaj nie dostanę dlatego chętnie zapłacę blik na telefon i po sprawie.
Napisany przez: Malinaa 3.05.2024, 17:27:58
Ok, jasne.
Cytat(Salvation @ 3.05.2024, 15:26:00 )
Na tamtą chwilę nie miałem czasu na wgryzanie się w kod customowego frameworka i ciśnięcie klienta na poprawki u mnie.
Natomiast z powyższym to nie tak jak myślisz. Frameworka napisałem z ciekawości czy potrafię i teraz ciekaw jestem, czy może być tak prosty, że Zielony też sobie poradzi.
Wygląda na to, że niestety nie jestem tak sprytny jak myślisz i nie mam firmy, może dlatego ciągle usiłuję przetrwać na etacie.
Mądrze prawisz o ile miałeś dobry zamiar zachęcić mnie do rzeczy większych
Napisany przez: Salvation 6.05.2024, 13:04:34
Cytat(Malinaa @ 3.05.2024, 18:27:58 )
Natomiast z powyższym to nie tak jak myślisz. Frameworka napisałem z ciekawości czy potrafię i teraz ciekaw jestem, czy może być tak prosty, że Zielony też sobie poradzi.
Ale ja przecież nie pisałem o twoim fw.
Custom fw - o ile nie pracuje nad nim zespół, który wytworzy pewny standard i/lub schematy - to każdy będzie mieć mniejszy lub większy próg wejścia. Na każdego też będzie trzeba trochę czasu poświęcić by złapać logiki twórcy.
Cytat(Malinaa @ 3.05.2024, 18:27:58 )
Wygląda na to, że niestety nie jestem tak sprytny jak myślisz i nie mam firmy, może dlatego ciągle usiłuję przetrwać na etacie.
A tej części wypowiedzi nie zrozumiałem. Nie miałem zamiaru kogokolwiek obrazić czy urazić.
Cytat(Malinaa @ 3.05.2024, 18:27:58 )
Mądrze prawisz o ile miałeś dobry zamiar zachęcić mnie do rzeczy większych
Nie wiem czy miałem zamiar
ale cieszę się, że rozumiesz ideę ciągłego uczenia się.
Napisany przez: Malinaa 13.05.2024, 22:41:39
Z ideą ciągłego uczenia się to jest tak, że wspominałeś o testach, które powinienem wykonać do napisanego FW, ale jakoś w zeszłym miesiącu do tego zajrzałem i w ogóle nie oświeciło mnie, a głową muru nie przebije
Może dałbyś się namówić na DatabaseTest {} o którym to pisałem w temacie http://forum.php.pl/index.php?showtopic=271157&pid=1262571&st=80&#entry1262571
Napisany przez: gino 14.05.2024, 06:14:56
https://www.freecodecamp.org/news/test-php-code-with-phpunit/
Zacznij od tego, jeśli z angielskim sobie nie radzisz, zainstaluj rozszerzenie do przeglądarki np. Translate Web Pages i zobacz przykład od zainstalowania PHPUnit do pierwszych testów.
Napisany przez: Malinaa 14.05.2024, 19:57:15
Cytat(gino @ 14.05.2024, 07:14:56 )
https://www.freecodecamp.org/news/test-php-code-with-phpunit/
Zacznij od tego, jeśli z angielskim sobie nie radzisz, zainstaluj rozszerzenie do przeglądarki np. Translate Web Pages i zobacz przykład od zainstalowania PHPUnit do pierwszych testów.
Stronę pod linkiem można przeczytać, ale jej zawartość nie za bardzo jest pomocna.
Z angielskim sobie radzę, ale z tłumaczem to Lux Panie.
Jakiś miesiąc temu zajrzałem do testów, w tym czasie już dodałem PHPUnit do mojego Frameworka i jest Git, bo działa bez problemu.
Przykładowa klasa testowa: https://github.com/artimman/dbmframework/blob/main/tests/ExampleTest.php
wykonuje polecenie: ./vendor/bin/phpunit tests
i mam odpowiedź: OK (1 tests, 1 assertions) wszystko gra,
ale jak przetestować poszczególne elementu, np. przetestować połączenie z bazą danych i wszystkie metody związane z zapytaniami do bazy, albo logowanie, rejestracje użytkowników, gdzie jest też PHPMailer itd. to nie za bardzo wiedziałem... co dalej?
Dla https://github.com/artimman/dbmframework/blob/main/application/classes/Database.php utworze np.
DatabaseTest
{
// Jak dotychczas to tylko jakiś zabawny test był, a jak tu wykonać sensowne testy?
}
Napisany przez: Salvation 15.05.2024, 07:58:05
To, o czym piszesz, to różne testy. Można wycielić trzy takie obszary (obrazek poniżej). A tutaj art. do przeczytania: https://testcase.pl/aktualnosci/piramida-testow
Proponuję zakupić sobie ten kurs: https://eduweb.pl/full-stack-i-programowanie/php/test-driven-development-testy-jednostkowe-php to poznasz lepiej testy jednostkowe.
Napisany przez: Malinaa 16.05.2024, 08:31:54
Ok, dzięki za info.
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)