Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

9 Stron V   1 2 3 > » 

SmokAnalog
Napisane: 7.02.2018, 13:57:52





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Zamiast WHERE id = $id daj:

  1. $idsSql = implode(', ', $id);


I potem w SQL zrób WHERE id IN ($idsSql) (zakładając, że to liczby). Jest to szybkie, ale nie do końca ładne rozwiązanie, bo... (patrz P.S.).

P.S. Nie zaleca się używania funkcji z prefiksem mysql_.
  Forum: PHP · Podgląd postu: #1228798 · Odpowiedzi: 2 · Wyświetleń: 99

SmokAnalog
Napisane: 7.02.2018, 18:48:44





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Obojętnie jak nazwiesz plik. Chodzi tylko o wykonanie testu. Byle miał rozszerzenie .php, może być kapusta.php. Potem test wykonujesz w przeglądarce, odwiedzając stronę xxx.prv.pl/kapusta.php smile.gif

Możesz wykorzystać ten plik później, ale też nic nie stoi na przeszkodzie, by po prostu skopiować z niego kod do innego pliku, prawda?
  Forum: Przedszkole · Podgląd postu: #1228831 · Odpowiedzi: 6 · Wyświetleń: 234

SmokAnalog
Napisane: 7.02.2018, 23:15:13





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Coś słabo szukasz: http://php.net/manual/en/mysqli.prepare.php i użyj tego do wykonania zapytań INSERT i DELETE.
  Forum: PHP · Podgląd postu: #1228842 · Odpowiedzi: 13 · Wyświetleń: 306

SmokAnalog
Napisane: 7.02.2018, 02:19:53





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Masz szczęście, bo w przypadku tej strony do treści po wysłaniu formularza z nazwą świata możesz też się dostać z metody GET: https://secure.tibia.com/community/?subtopi...amp;world=Amera

Dla Ciebie oznacza to tyle, że nie musisz się bawić w cURL czy inne biblioteki do wykonywania żądań HTTP. Wystarczy zwykłe:

  1. $html = file_get_contents('https://secure.tibia.com/community/?subtopic=killstatistics&world=Amera');


Jak już masz w zmiennej kod HTML, to najlepiej analizować go parserem DOM, np. wbudowanym PHP DOM. To już wymaga trochę wprawy.
  Forum: PHP · Podgląd postu: #1228764 · Odpowiedzi: 13 · Wyświetleń: 306

SmokAnalog
Napisane: 5.02.2018, 23:19:51





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Coś pokićkałeś z nawiasami:

[JAVASCRIPT] pobierz, plaintext
  1. $("button").click()(function () { // źle
  2. $("button").click(function () { // dobrze
[JAVASCRIPT] pobierz, plaintext


Zaprzyjaźnij się z konsolą w przeglądarce.
  Forum: Przedszkole · Podgląd postu: #1228674 · Odpowiedzi: 2 · Wyświetleń: 142

SmokAnalog
Napisane: 4.02.2018, 17:46:37





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Dwie rzeczy:
  1. Zapoznaj się z prepared statements.
  2. Hasło możesz sprawdzić na poziomie bazy danych, nie musisz pobierać danych użytkownika.
  Forum: Przedszkole · Podgląd postu: #1228555 · Odpowiedzi: 6 · Wyświetleń: 216

SmokAnalog
Napisane: 29.01.2018, 20:14:16





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Twój warunek rejestracji jest zły z dwóch powodów:

  1. if ($haslo1 == $haslo2 || $haslo1 > 4) {
  2. // Zarejestruj użytkownika
  3. }


Po pierwsze, jednocześnie muszą zajść oba warunki, a nie tylko jeden z nich. Zamiast operatora || powinieneś użyć &&. Po drugie, do sprawdzania długości stringa służy funkcja mb_strlen. Taka jeszcze mała rada, że jeśli wymagana długość to 5, zapisz to jako >= 5, a nie > 4. Bardziej naturalnie dla osoby czytającej kod będzie widzieć minimalną wymaganą liczbę znaków, a nie maksymalną niepoprawną.
  Forum: Przedszkole · Podgląd postu: #1228274 · Odpowiedzi: 33 · Wyświetleń: 507

SmokAnalog
Napisane: 25.01.2018, 19:39:48





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Cześć,

lepiej odświeżyć strukturę bazy i dopasować do frameworka. Laravel proponuje kilka konwencji i mnie osobiście one bardzo pasują. A dane to już nie jako migrację, ani nawet nie jako seed, tylko przenieś je "ręcznie" (napisz np. skrypt do nich czy coś). Bo przecież i tak nie chcesz trzymać ich w repozytorium.
  Forum: Przedszkole · Podgląd postu: #1228102 · Odpowiedzi: 2 · Wyświetleń: 137

SmokAnalog
Napisane: 25.01.2018, 13:30:04





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Możesz w .htaccess dodać na przykład coś takiego:

[APACHE] pobierz, plaintext
  1. RewriteEngine On
  2. RewriteRule ^s/([[:alnum:]]+)/?$ s.php?code=$1 [L]
[APACHE] pobierz, plaintext


To sprawi, że jak odwiedzisz stronę mojadomena.pl/s/AbCdEf, efekt będzie identyczny jakbyś odwiedził mojadomena.pl/s.php?code=AbCdEf, ale w pasku adresu użytkownik nadal widzi ładny URL, czyli mojadomena.pl/s/AbCdEf. Zakładałem tu, że nieprawidłowe formaty kodu (czyli zawierające coś poza literami i cyframi) nie są uwzględniane i wywalą zwyczajny 404.

O to chodziło?
  Forum: Przedszkole · Podgląd postu: #1228068 · Odpowiedzi: 1 · Wyświetleń: 151

SmokAnalog
Napisane: 21.01.2018, 23:35:45





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Autorzy strony g2a.com zablokowali możliwość wyświetlania jej w iframe, czyli mieli w tym jakiś cel. Jedynym sensownym rozwiązaniem dla Ciebie jest umieszczenie linku bez żadnych sztuczek, zresztą tak właśnie ma działać program partnerski.
  Forum: Przedszkole · Podgląd postu: #1227898 · Odpowiedzi: 3 · Wyświetleń: 205

SmokAnalog
Napisane: 17.01.2018, 23:58:48





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Kluczowe do zrozumienia jest tutaj to, że RESTful to tylko pewna architektura, koncept. To nie jest technologia ani magia. To zestaw zasad budowania aplikacji internetowej. Z RESTfulowego API może teoretycznie korzystać każda inna technologia, która ma możliwość wykonywać połączenia internetowe. Ajax to najbardziej oczywisty przykład w przeglądarce, ale równie dobrze możesz użyć dowolnego klienta HTTP dla PHP jak np. Guzzle. Wtedy on połączy się z API i zwróci wynik, a Ty z tym wynikiem zrobisz co zechcesz. Bardzo fajne np. dla zadań wykonywanych bez udziału użytkownika, jak cron.
  Forum: Przedszkole · Podgląd postu: #1227742 · Odpowiedzi: 5 · Wyświetleń: 230

SmokAnalog
Napisane: 17.01.2018, 15:28:30





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Cześć,

możesz sprawdzić czy obecnie wszystkie przeglądarki wspierają ten format natywnie:

  1. <video width="495" height="349">
  2. <source src="filmik.m3u8" type="application/x-mpegURL">
  3. </video>


Co do wstawiania logo, oczywiście najlepiej, gdyby logo pojawiało się w samym streamingu. Jeśli nie ma takiej możliwości, to możesz wstawić dowolny element (w tym przypadku obrazek z logo) tak samo jak na cokolwiek innego.
  Forum: Przedszkole · Podgląd postu: #1227711 · Odpowiedzi: 1 · Wyświetleń: 121

SmokAnalog
Napisane: 14.01.2018, 13:30:07





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Rozumiem, że wolisz je trzymać w pliku tekstowym niż w bazie danych? Zacznij od utworzenia formularza do realizacji i pustego pliku z realizacjami. Proponuję format CSV, czyli możesz nazwać ten plik portfolio.csv czy tam jakoś smile.gif
  Forum: Przedszkole · Podgląd postu: #1227537 · Odpowiedzi: 11 · Wyświetleń: 219

SmokAnalog
Napisane: 14.01.2018, 04:33:01





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Witaj na forum.

Powoli. Po pierwsze, plik możesz odczytać funkcją file zamiast robić explode po znaku nowej linii.

Kod wymaga kilku poprawek, ale powinien działać. Jeśli tworzy Ci się jeden plik, to może masz błędne dane w dane.txt? Upewnij się czy na pewno masz różne nazwy w piątej kolumnie.
  Forum: Przedszkole · Podgląd postu: #1227513 · Odpowiedzi: 12 · Wyświetleń: 336

SmokAnalog
Napisane: 13.01.2018, 18:01:57





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Tak myślałem. Czyli śmieci w pliku. To albo wyczyść pliki, albo zamień wzorzec '#^(\d+),(\d+)$#m' na '#^(\d+),(\d+)\s*$#m'
  Forum: Przedszkole · Podgląd postu: #1227501 · Odpowiedzi: 16 · Wyświetleń: 286

SmokAnalog
Napisane: 13.01.2018, 17:12:35





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Odświeżony kodzik:

  1. <?php
  2.  
  3. $filePaths = array_filter(glob('Remanent/*.TXT'), 'is_file');
  4.  
  5. $productsData = array_map(function ($filePath) {
  6. $fileContent = file_get_contents($filePath);
  7.  
  8. if (preg_match_all('#^(\d+),(\d+)$#m', $fileContent, $matches, PREG_SET_ORDER) === 0) {
  9. return null;
  10. }
  11.  
  12. return array_map(function ($record) {
  13. list($ean, $quantity) = array_slice($record, 1);
  14.  
  15. return [
  16. 'ean' => $ean,
  17. 'quantity' => (int) $quantity
  18. ];
  19. }, $matches);
  20. }, $filePaths);
  21.  
  22. $fileNames = array_map(function ($filePath) {
  23. return pathinfo($filePath, PATHINFO_FILENAME);
  24. }, $filePaths);
  25.  
  26. $productsData = array_filter(array_combine($fileNames, $productsData));


Zobacz, co teraz masz w $productsData.
  Forum: Przedszkole · Podgląd postu: #1227497 · Odpowiedzi: 16 · Wyświetleń: 286

SmokAnalog
Napisane: 10.01.2018, 10:37:47





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Wrzuciłem Ci plusik, ale mam kilka rad:
  1. Poćwicz angielski.
  2. Zadawaj pytania precyzyjniej.
  3. Poćwicz angielski.
  4. Potrenuj projektowanie bazy danych, bo Twoje tabelki i nazwy kolumn wieją amatorszczyzną.
  5. Poćwicz angielski.


Stack Overflow nie lubi rozmemłanych pytań, gdzie nie do końca wiadomo o co chodzi, a zalewasz ludzi kodem. Z drugiej strony, nie lubię tam tego, że czasami na siłę wmawiają komuś, że pytanie było już zadane. Tak jak na przykładzie Twojego pytania SQL. Pytanie o WHERE vs. HAVING wcale nie jest tym samym pytaniem zadanym już wcześniej, tylko odpowiedzią na Twoje pytanie. Nazywanie Twojego pytania duplikatem to taka pokrętna logika.

Aha, jeszcze jedno. Poćwicz angielski.
  Forum: Hydepark · Podgląd postu: #1227314 · Odpowiedzi: 4 · Wyświetleń: 270

SmokAnalog
Napisane: 10.01.2018, 12:11:47





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Cytat(zurun @ 10.01.2018, 10:03:38 ) *
Jestem początkujący a programista który to pisał miał wypadek i nie żyje ktoś może pomóc?

Pokój jego duszy.

Pliki są czytane z katalogu bez żadnej godnej zaufania kolejności, bo readdir czyta tak, jak są zapisane w systemie plików.

Ale ś.p. kolega dodał sortowanie z natsort, czyli 1.jpg będzie przed 3.jpg, który będzie przed 10.jpg, który będzie przed 100.jpg itd. Tylko że kod zakłada, że sortowanie odbywa się tylko z ustawionym $MODULE_CONFIG['sort'] na 1 (albo true czy cokolwiek, co miękko rzutuje się na 1).

Podsumowując, ustaw sort na 1 w konfiguracji modułu.
  Forum: Przedszkole · Podgląd postu: #1227322 · Odpowiedzi: 2 · Wyświetleń: 131

SmokAnalog
Napisane: 10.01.2018, 12:53:55





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Szpaku, włącz sobie wyświetlanie wszystkich błędów, łącznie z notice i nigdy tego nie wyłączaj. Jeśli pojawia się notice, to trzeba go naprawić.

Funkcje w PHP nie mają dostępu do zmiennych spoza ich zasięgu. Musisz użyć use:

  1. $us = array_filter($users, function ($u) use ($usertoedit) {return $u['email'] === $usertoedit;});
  Forum: Przedszkole · Podgląd postu: #1227330 · Odpowiedzi: 38 · Wyświetleń: 678

SmokAnalog
Napisane: 9.01.2018, 02:55:15





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Korzystaj po prostu odpowiednio z array_filter. Nie napisałeś dokładnie co chcesz zrobić, więc podam na przykładzie adminów. Jeśli chcesz np. mieć tablicę z adminami z sekcji s1:

  1. $adminsS1 = array_filter($users, function ($user) {
  2. return $user['type'] === 'admin' && $user['section'] === 's1';
  3. });


Albo jak masz już wcześniej $admins, to możesz ponownie przefiltrować:

  1. $adminsS1 = array_filter($admins, function ($admin) {
  2. return $admin['section'] === 's1';
  3. });


Postaraj się zrozumieć przebieg tego kodu, bo teraz masz już bardzo dobry i czytelny kod.

Tak samo z tym sortowaniem - być może lepiej będzie posortować po prostu $users i dopiero później dzielić na adminów i innych. Ponownie: nie wiem co dokładnie chcesz zrobić, więc musisz sam się trochę wysilić. Ja już i tak za dużo zrobiłem za Ciebie.
  Forum: Przedszkole · Podgląd postu: #1227245 · Odpowiedzi: 38 · Wyświetleń: 678

SmokAnalog
Napisane: 10.01.2018, 02:33:01





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Może jakakolwiek aplikacja CRUD, czyli zarządzanie listą zakupów, planem dnia, wydatkami itp., cokolwiek Cię interesuje. Wyświetlanie ich na liście i pojedynczo, dodawanie, edycja, usuwanie.

A jak coś ciekawszego, to może na przykład tworzenie samoprzylepnych notatek, które można dowolnie przesuwać na ekranie? Notatki zapisywałyby się przy każdym zatrzymaniu przesuwania. To byłoby dość ciekawe i łatwo zrobić z tego Single Page Application, bo możesz to zaprojektować tak, że wystarczy jeden widok. Na przykład mieć duży przycisk do dodawania notatki, która pojawiałaby się na środku, a kliknięcie w dowolną notatkę powodowałoby edycję jej treści. Tak sobie głośno myślę...
  Forum: Przedszkole · Podgląd postu: #1227298 · Odpowiedzi: 2 · Wyświetleń: 170

SmokAnalog
Napisane: 19.12.2017, 23:15:16





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Taka luźna uwaga: czy w tych obrazkach znajduje się tylko kod kreskowy? Bo jeśli tak, to JPG jest chyba najgorszym z możliwych wyborów formatu plików.
  Forum: PHP · Podgląd postu: #1226679 · Odpowiedzi: 7 · Wyświetleń: 350

SmokAnalog
Napisane: 13.12.2017, 00:08:40





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Spróbuj tak:

  1. function bind($sth, $parameter, $value) {
  2. // ustal $var_type
  3.  
  4. $sth->bindValue($parameter, $value, $var_type);
  5. }


Komentarz zastąp tym swoim switchem (chociaż nie pochwalam używania switcha w taki sposób ). Zamiast bindParam wstawiłem bindValue - przeczytaj sobie jaka jest różnica. Poza tym nie potrzebujesz $pdo jako parametru, bo połączenie z bazą jest już znane w $sth. Innymi słowy, jest przechowywane jako stan $sth.

Na Twoim obecnym etapie wiedzy te zależności mogą Cię trochę przytłaczać. Nie przejmuj się.
  Forum: Przedszkole · Podgląd postu: #1226260 · Odpowiedzi: 12 · Wyświetleń: 239

SmokAnalog
Napisane: 12.12.2017, 22:11:19





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

PDO niestety nie obsługuje prefiksów tabel. Niektóre (pewnie większość) ORM-ów to robi. Poczytaj sobie o ORM.

Jeśli chodzi o PDO vs. MySQLi, to wybierz po prostu to, co Ci się bardziej podoba. Jedyną znaczącą różnicą jest to, że przesiadka z jednego systemu bazy danych na inny będzie znacznie łatwiejsza z PDO. W praktyce jednak pewnie zostaniesz przy MySQL.
  Forum: Przedszkole · Podgląd postu: #1226250 · Odpowiedzi: 12 · Wyświetleń: 239

SmokAnalog
Napisane: 10.12.2017, 02:28:49





Grupa: Zarejestrowani
Postów: 1 263
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----

Głównie tym, że to jest surowy JavaScript, a to Twoje to jQuery. Sam schemat działania bardzo podobny i popełnia ten sam błąd - zakłada, że w momencie przyjścia odpowiedzi, stan pola tekstowego się nie zmienił.
  Forum: AJAX · Podgląd postu: #1226078 · Odpowiedzi: 17 · Wyświetleń: 476

9 Stron V   1 2 3 > » 

New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 19.02.2018 - 16:36