Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

18 Stron V   1 2 3 > » 

Sephirus
Napisane: 8.12.2014, 12:33:52





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

ad 1. Zdecydowanie osobny moduł, kod frontu i admina nie powinien być wspólny - lepiej mieć tu niezależność
ad 2. Opcji jest wiele. Najlepiej moim zdaniem mieć to osobno. Ogólnie zasada jest taka, że front i admin to praktycznie dwie różne aplikacje działające na tych samych danych. Sposób prezentacji i używania tych danych może być dla tych dwu aplikacji zupełnie inny toteż wymagane są inne modele. Są one jednak kłopotliwe i na pewno będzie wiele metod identycznych i tu i tu. Najbezpieczniejszym (lecz wbrew DRY) sposobem są zupełnie osobne modele z powtarzającym się kodem. Możesz jednak pokusić się o jakieś dziedziczenie podstawowych metod używanych w obu modułach - na zasadzie ogólnego modelu i dwóch modeli z niego dziedziczących (jeden dla front i jeden dla admin).

Wspólne modele też nie są czystym złem ale może się jednak zdarzyć, że nadpisanie jakiejś metody pod front popsuje coś w admin itp itd...

ad 3. Nie znam - nie piszę smile.gif
  Forum: Frameworki · Podgląd postu: #1135150 · Odpowiedzi: 5 · Wyświetleń: 985

Sephirus
Napisane: 18.09.2014, 07:15:39





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Metody abstrakcyjne działają w taki sposób, że określają (podobnie jak interfejsy) deklaracje metody jaką należy stworzyć w klasie pochodnej. Ze względu na to, że jest to rodzaj wymuszenia odpowiedniej deklaracji (nazwa + argumenty) metoda klasy dziedziczącej, która implementuje daną metodę abstrakcyjną musi być identyczna.

Jeżli w klasie bazowej masz zadeklarowaną metodę bez argumentów, oznacza to, że jest to takie wymuszenie by metoda w klasie pochodnej też ich nie przyjmowała. Jeśli korzystasz z gotowych (czyichś) klas musisz się tego trzymać, jeśli piszesz coś sam - musisz na poczatku zastanowić się i dobrze zadeklarować metody abstrakcyjne i trzymać się ich deklaracji w każdej klasie dziedziczącej.
  Forum: Przedszkole · Podgląd postu: #1125256 · Odpowiedzi: 3 · Wyświetleń: 218

Sephirus
Napisane: 11.09.2014, 11:12:24





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Ogólnie przeciaganie to nie problem - poszukaj drag n drop JS w googlu a co do zdjęcia i JPEG'a to przy pomocy PHP i np. html2canvas (biblioteczka pod JS) da się to ugryźć w nowych przeglądarkach wink.gif
  Forum: Gotowe rozwiązania · Podgląd postu: #1124343 · Odpowiedzi: 2 · Wyświetleń: 1 068

Sephirus
Napisane: 11.09.2014, 09:29:41





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Zerknij tu zatem wink.gif
  Forum: Przedszkole · Podgląd postu: #1124310 · Odpowiedzi: 5 · Wyświetleń: 817

Sephirus
Napisane: 3.09.2014, 16:12:27





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Achaaaa to o to chodzilo :-) po Twoim opisie nie wpadl bym. Powiedz mi tylko po co wstawiasz kilka razy pow(10,1)? Przeciez to jest po prostu 10 :-)

Pozdrawiam
  Forum: Przedszkole · Podgląd postu: #1122959 · Odpowiedzi: 6 · Wyświetleń: 456

Sephirus
Napisane: 3.09.2014, 14:47:16





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Po prostu przed losowaniem trzeba wykryć czy count($tablica) > 0 i tam w ogóle był błąd ($tablicaLiczb => $tablica) sorki że nie zauważyłem powinno być:

  1. $tablicaLiczb = array();
  2. $tablicaLiczb['0.1'] = 70;
  3. $tablicaLiczb['0.6'] = 50;
  4. $tablicaLiczb['2.0'] = 5;
  5. // itd...
  6.  
  7. $tablica = array();
  8. $ostatniaLiczba = 0;
  9.  
  10. foreach($tablicaLiczb AS $liczba => $waga) { // dla każdej liczby do wylosowania
  11. for($i = 0; $i < $waga; $i++) { // generujemy liczby w ilości równej wadze liczby
  12. $tablica [$ostatniaLiczba++] = $liczba;
  13. }
  14. }
  15.  
  16. if(count($tablica)) {
  17. echo $tablica[mt_rand(0,$ostatniaLiczba-1)]; // losujemy liczbę z zakresu wygenerowanych liczb i zwracamy rekord tablicy pod tą liczbą zawierający naszą szukaną liczbę
  18. } else {
  19. echo '0.0';
  20. }
  Forum: Przedszkole · Podgląd postu: #1122940 · Odpowiedzi: 6 · Wyświetleń: 456

Sephirus
Napisane: 3.09.2014, 13:13:15





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Jeśli masz tak konkretnie ustalone wagi najlepiej użyć myku z tablicami.

  1. $tablicaLiczb = array();
  2. $tablicaLiczb['0.1'] = 70;
  3. $tablicaLiczb['0.6'] = 50;
  4. $tablicaLiczb['2.0'] = 5;
  5. // itd...
  6.  
  7. $tablica = array();
  8. $ostatniaLiczba = 0;
  9.  
  10. foreach($tablicaLiczb AS $liczba => $waga) { // dla każdej liczby do wylosowania
  11. for($i = 0; $i < $waga; $i++) { // generujemy liczby w ilości równej wadze liczby
  12. $tablicaLiczb[$ostatniaLiczba++] = $liczba;
  13. }
  14. }
  15.  
  16. echo $tablicaLiczb[mt_rand(0,$ostatniaLiczba-1)]; // losujemy liczbę z zakresu wygenerowanych liczb i zwracamy rekord tablicy pod tą liczbą zawierający naszą szukaną liczbę
  Forum: Przedszkole · Podgląd postu: #1122931 · Odpowiedzi: 6 · Wyświetleń: 456

Sephirus
Napisane: 25.08.2014, 22:35:51





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Niezły masz tam misz-masz tongue.gif

Ogólnie zasada jest taka. Zrób dodatkową zmienną poza ciałem funkcji odpowiadających za rotowanie i ustaw ją na TRUE - będzie odpowiadać za to, czy rotować obrazki czy nic nie robić. W funkcji zmienObrazek daj na początku IFa, który sprawdzi czy ta zmienna jest na TRUE i jeśli nie jest zakończy działanie funkcji (return). Dodaj eventy onmouseover na funkcji, która ustawia zmienną na false i onmouseout na funkcji, która ustala zmienną na TRUE i tyle wink.gif
  Forum: Przedszkole · Podgląd postu: #1121539 · Odpowiedzi: 1 · Wyświetleń: 475

Sephirus
Napisane: 25.08.2014, 22:24:15





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Zapisz to po prostu tak:

[JAVASCRIPT] pobierz, plaintext
  1. nameHtmlCode = nameHtmlCode.replace(/value=\"[^"]+\"/, 'value=""');
[JAVASCRIPT] pobierz, plaintext


flaga "g" nie jest tu potrzebna a nawet nie może być użyta bo jak chcesz zamienić tylko pierwszą wartość to nie możesz tego robić (g)lobalnie wink.gif
  Forum: Przedszkole · Podgląd postu: #1121536 · Odpowiedzi: 2 · Wyświetleń: 513

Sephirus
Napisane: 6.08.2014, 07:34:43





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Jeśli to jakieś odliczanie czyli godzina i 10 minut to np.:

  1. $czas = '01:10:00'
  2.  
  3. list($h,$m,$s) = explode(':',$czas);
  4.  
  5. $sekundy = $h*60*60 + $m*60 + $s;
  Forum: Przedszkole · Podgląd postu: #1118654 · Odpowiedzi: 7 · Wyświetleń: 437

Sephirus
Napisane: 5.08.2014, 13:56:48





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Nie istnieje w podstawowym ZEND 2 - najlepiej samemu napisać i własnie jako FILTR.

Sam znasz najlepsze rozwiązanie - po co pytasz tongue.gif
  Forum: Frameworki · Podgląd postu: #1118565 · Odpowiedzi: 3 · Wyświetleń: 613

Sephirus
Napisane: 4.08.2014, 10:10:25





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

To może być nawet wywołaniu skryptu JS <script src="..." itp. Grunt aby był przekazany tymczasowy TOKEN i aby request poszedł od USERA. AJAX jeśli nie masz ustawionych "origin accessów" to i tak nie pójdzie wink.gif
  Forum: Gotowe rozwiązania · Podgląd postu: #1118339 · Odpowiedzi: 6 · Wyświetleń: 1 219

Sephirus
Napisane: 4.08.2014, 09:12:08





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Ja takie rzeczy rozwiązuję przykładowo tak, że dodaje odpowiednio separator.

Daje go też przed i po całym ciągu np.:

,S,JS,M,XY,

Wówcza szukasz zawsze ",[ZNAK_SZUKANY]," i jest dokładnie to czego szukasz. Po pobraniu całości zawsze można użyć TRIM.
  Forum: PHP · Podgląd postu: #1118328 · Odpowiedzi: 2 · Wyświetleń: 218

Sephirus
Napisane: 31.07.2014, 22:05:06





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Crozin w zasadzie wyczerpał temat - dodam jedynie dwie rzeczy.

Przykładowe, wspomniane APC mega przyśpiesza pracę aplikacji - wówczas problem ładowania plików można w zasadzie pominąć bo przy innych problemach z wydajnością (obciążenie samych serwerów, bazy danych itp) to jedynie mała kropelka w morzu.

Jeśli komuś naprawdę zależy na mega wydajności to podchodzi do tematu jeszcze inaczej i albo nie korzysta z PHP tylko z czegoś innego, albo używa jakiejś techniki/technologii prekompilacji kodu PHP. Są rowziązania pozwalające na pisanie w PHP a następnie kompilowanie (może to nie właściwe słowo) skryptów przykładowo do aplikacji C++ lub podobnego języka. Takie rozwiązania są mega szybkie i ładnie radzą sobie z masami użytkowników.

Autorze w Twoim przypadku gdy pracujesz na ~20 plikach w ogóle zapomnij o tym problemie - choć APC możesz włączyć wink.gif
  Forum: PHP · Podgląd postu: #1117928 · Odpowiedzi: 4 · Wyświetleń: 413

Sephirus
Napisane: 15.07.2014, 14:51:12





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

W taki sposób możliwe to jest jedynie jeśli strona do której się odwołujesz akceptuje Ciebie jako źródło (szukaj w google "ajax origin") jesli chcesz tak z dowolnej strony to z JS się nie da...
  Forum: Po stronie przeglądarki · Podgląd postu: #1115378 · Odpowiedzi: 5 · Wyświetleń: 455

Sephirus
Napisane: 11.07.2014, 07:39:02





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Zawsze możesz podejść do problemu inaczej i ustawiać w HTML znacznik BASE na ścieżkę główną dla danego "modułu".

Jeśli masz np. strukturę:

Kod
- www
     - css
     - js
     - cms
          - css
          - js

albo podobną to w przypadku zwykłej strony ustawiasz BASE na "/" a w przypadku strony z CMS na "/cms/" dzięki czemu przeglądarką będzie korzystać z odpowiednich plików.
  Forum: Po stronie przeglądarki · Podgląd postu: #1114767 · Odpowiedzi: 10 · Wyświetleń: 1 555

Sephirus
Napisane: 10.07.2014, 07:46:09





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Po pierwsze primo:

  1. if(!$Controller || $Controller = '') { $Controller = 'other'; } // w IF masz "=" a nie "=="


Po drugie primo:

  1. $Text = htmlspecialchars($Text);
  2. $Text = htmlentities($Text);


Serio? Przemyśl tą funkcję ClearText - poczytaj o tym czy coś.

  Forum: Przedszkole · Podgląd postu: #1114608 · Odpowiedzi: 3 · Wyświetleń: 145

Sephirus
Napisane: 30.06.2014, 08:54:45





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Mi tam się sam pomysł podoba - zawsze to coś innego a nie zawsze smutne, ogólne teksty o wymaganiach i oferowanie złotych gór... No i wygląda na to, że atmosferka fajna musi być.

Zagadka faktycznie mogłaby być trudniejsza tongue.gif

  Forum: Poszukuję · Podgląd postu: #1112966 · Odpowiedzi: 72 · Wyświetleń: 11 289

Sephirus
Napisane: 26.05.2014, 09:21:10





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Sprecyzuj pytanie.

Jeśli chodzi o zapisanie takiego pliku na serwerze to nie ma z tym problemu - o ile znasz jakiego formatu jest ten plik. Jeśli to zawsze JPEG to pobierasz (CURl, file_get_contents, fread/fwrite) i zapisujesz jako "plik.jpg". Jeśli typ jest różny to możesz pokombinować z fileinfo w php w celu określenia typu mime (najpierw zapisujesz plik na serwerze jako "xxxx", sprawdzasz typ i zapisujesz wg niego z odpowiednim rozszerzeniem).
  Forum: Przedszkole · Podgląd postu: #1108118 · Odpowiedzi: 2 · Wyświetleń: 204

Sephirus
Napisane: 22.05.2014, 11:34:51





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Nie ma w taki sposób. Ogólnie jest to kwestia iteracji po tablicy, jej aktualnego wiersza (current()), z którego wówczas można pobrać klucz.

Wydaje mi się ogólnie jednak, że coś robisz źle, skoro potrzebujesz znać klucz a nie wartość wiersza...

EDIT: gdzie chcesz to zastosować? Podaj przykład kodu.
  Forum: Przedszkole · Podgląd postu: #1107672 · Odpowiedzi: 4 · Wyświetleń: 1 907

Sephirus
Napisane: 22.05.2014, 08:49:30





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Do tego celu możesz użyć np. PHPMailera - szukaj opcji związanej z CID (content-id). Dołącza się pliki do wiaodmości nadając im określone CID i potem w kodzie maila odwoluje do nich CID:xxx.

Obawiam się jednak, że to nie rozwiąże Twojego problemu. Zdjęcia załączone w ten sposób tak samo jak zewnętrzne będą wymagały najpierw zgody czytającego maila.
  Forum: PHP · Podgląd postu: #1107631 · Odpowiedzi: 3 · Wyświetleń: 426

Sephirus
Napisane: 19.05.2014, 08:08:21





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Nie ma magicznej metody na coś takiego. Musisz po wysłaniu forma z takimi inputami nadpisać ten plik XML. Możesz do tego użyć chociażby simplexml za pomocą którego wczytasz plik jako obiekt, nadpiszesz podane wartości i go zapiszesz.
  Forum: JavaScript · Podgląd postu: #1107163 · Odpowiedzi: 3 · Wyświetleń: 373

Sephirus
Napisane: 19.05.2014, 08:49:41





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

W Twoim kodzie tutaj brakuje jeszcze miejsca gdzie wywołujesz funkcję fill - pewnie jest to w onclicku danych z autouzupełniania. Ale ok bez tego też się da.

Masz dwie opcje:

1. nadawać i przekazywać ID wybranego inputa do tego systemu autouzupełniania

2. pamietać który input aktualnie się edytuje:

Do każdego inputa dodaj jeszcze: onfocus="focusedInput = this;"

i zaktualizuj kod JS:

[JAVASCRIPT] pobierz, plaintext
  1. var focusedInput = null;
  2.  
  3. function lookup(inputString) {
  4. if(inputString.length == 0) {
  5. $('#suggestions').hide();
  6. } else {
  7. $.post("rpc.php", {queryString: ""+inputString+""}, function(data){
  8. if(data.length >0) {
  9. $('#suggestions').show();
  10. $('#autoSuggestionsList').html(data);
  11. }
  12. });
  13. }
  14. } // lookup
  15.  
  16. function fill(thisValue) {
  17. $(focusedInput).val(thisValue);
  18. setTimeout("$('#suggestions').hide();", 200);
  19. }
[JAVASCRIPT] pobierz, plaintext
  Forum: Przedszkole · Podgląd postu: #1107165 · Odpowiedzi: 2 · Wyświetleń: 301

Sephirus
Napisane: 16.05.2014, 14:29:16





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

kurde racja - tak to jest jak się robi 10 rzeczy naraz tongue.gif

  1. $idpj_all=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
  2.  
  3. if (!empty($formData['id_prawo_jazdy']))
  4. {
  5. $where_idpj=array();
  6. $i=0;
  7. foreach($formData['id_prawo_jazdy'] as $idpj){
  8. $where_idpj[]=':id_prawo_jazdy_'.$i;
  9. $bind[':id_prawo_jazdy_'.$i++]=$idpj;
  10. $idpj_all=array_diff($idpj_all,array($idpj));
  11. }
  12. $where[] = 'id_prawo_jazdy IN('.implode(',',$where_idpj).')';
  13. }
  14. $sql="SELECT o.miasto,o,o.aktywne,o.id,o.id_kategoria,o.nazwa_ogloszenia,
  15. z.id_ogloszenia,z.thumb,z.uploads,z.im,p.id_ogloszenia,p.id_prawo_jazdy FROM ogloszenia o LEFT OUTER JOIN zdjecia z on o.id=z.id_ogloszenia LEFT OUTER JOIN pj p on o.id=p.id_ogloszenia
  16. WHERE ". implode( ' AND ', $where);
  17. if(!empty($formData['id_prawo_jazdy']) && count($idpj_all)) // dodatkowe sprawdzenie - jeśli $idpj_all jest puste to i tak bierze tylko te które mają wszystkie opcje
  18. $sql.=" and o.id not in (select o2.id from ogloszenia as o2,pj as p2 where o2.id=p2.id_ogloszenia AND p2.id_prawo_jazdy in(".implode(',',$idpj_all)."))
  19. group by o.id having count(o.id)=".count($where_idpj)." order by o.wyroznione DESC,o.id DESC";
  20. elseif(!empty($formData['id_prawo_jazdy']))
  21. $sql.=" group by o.id having count(o.id)=".count($where_idpj)." order by o.wyroznione DESC,o.id DESC";
  22. else
  23. $sql.=" group by o.id order by o.wyroznione DESC,o.id DESC";
  24. $stmt=$pdo->prepare($sql);
  25. $stmt->execute( $bind );
  Forum: Przedszkole · Podgląd postu: #1106853 · Odpowiedzi: 14 · Wyświetleń: 227

Sephirus
Napisane: 16.05.2014, 09:33:09





Grupa: Zarejestrowani
Postów: 1 527
Dołączył: 28.06.2011
Skąd: Warszawa

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

Ogólnie, żeby to było dokładne to ja widze 3 opcje:

1. konfiguracja linków w .hatccess z odpowiednimi przekierowaniami
2. zastosowanie wyrażeń regularnych (jak w przykładzie wyżej)
3. zastosowanie funckji sscanf

Metoda z strpos nie jest idealna. Bo początek stringu to za mało.
  Forum: PHP · Podgląd postu: #1106796 · Odpowiedzi: 9 · Wyświetleń: 310

18 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: 23.04.2024 - 09:23