Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

19 Stron V   1 2 3 > » 

b4rt3kk
Napisane: 24.07.2018, 16:42:53





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Cytat(piekarz @ 24.07.2018, 17:13:56 ) *
Dla urla typu 'users/4/level/1' zwarca mi true dla drugiego i trzeciego wzoru. ŹLE Powinno zwrócić true tylko dla trzeciego wzoru.


. reprezentuje dowolny znak nie będący nową linią, tabulacją, itd., więc zalicza się do tego również /.

Do patternu users/.* pasuje wszystko co zaczyna się users/, czyli również users/4/level/1.

Jeśli rozdzielasz poszczególne części ciągu znakiem / to proponuję wykluczyć go z wyszukiwania lub jeśli mają tam być tylko litery i cyfry to zastosować np. taki pattern:

users/[0-9a-zA-Z]*/level/[0-9a-zA-Z]*

  Forum: Przedszkole · Podgląd postu: #1235609 · Odpowiedzi: 6 · Wyświetleń: 446

b4rt3kk
Napisane: 20.07.2018, 19:30:11





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Po pierwsze, nie możesz robić takiego syfu:

  1. echo '<body style="background-color:red">';


Po drugie jak to sobie wyobrażasz, skoro php nie jest językiem dynamicznym, więc Twoje warunki wczytywane są "od razu" po zinterpretowaniu przez serwer. Na tym nie możesz oprzeć działania skryptu js. Podejrzewam, że chodzi o coś takiego?

https://jsfiddle.net/xvjo8az3/3/

Może ewentualnie na onload spróbować, ale raczej niewykonalne to co chcesz zrobić.
  Forum: Przedszkole · Podgląd postu: #1235537 · Odpowiedzi: 10 · Wyświetleń: 958

b4rt3kk
Napisane: 23.07.2018, 10:43:39





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Cytat(dreamit @ 22.07.2018, 08:17:11 ) *
Dokładnie o tego typu pomoc mi chodziło. Działa.

#edit
date_default_timezone_set('UTC');

$aktualna= strtotime(date("Y-m-d")) / (60*60*24);
$wybrana= strtotime(2018+7+22) / (60*60*24);
echo $aktualna;
echo $wybrana;


Dlaczego mam roznice w dacie?


Bo pchasz sumę działania 2018+7+22 jako datę. Tam ma być string.

  1. $aktualna= strtotime(date("Y-m-d")) / (60*60*24);
  2. $wybrana= strtotime('2018/7/22') / (60*60*24);
  Forum: Przedszkole · Podgląd postu: #1235584 · Odpowiedzi: 6 · Wyświetleń: 625

b4rt3kk
Napisane: 17.07.2018, 19:52:44





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Musisz sobie napisać regułę w .htaccess, która poprawnie zinterpretuje to jako dane $_GET. Bo podejrzewam, że teraz jak otwierasz ten link to masz błąd, że taki plik/katalog nie istnieje?

A jeśli masz to ogarnięte to poprostu odczytaj dane z tablicy $_GET.

  1. var_dump($_GET);
  Forum: Przedszkole · Podgląd postu: #1235461 · Odpowiedzi: 6 · Wyświetleń: 625

b4rt3kk
Napisane: 15.07.2018, 11:04:14





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

A dołączyłeś autoloadera? Jeśli nie doinstalowałeś tego do jakiegoś frameworka, gdzie composer ogarnie to z automatu, to musisz to zrobić ręcznie.

Composer sam generuje odpowiedni autoloader, ale jeszcze trzeba go dołączyć do projektu.

  1. include_once 'sciezka/do/autoloadera/auto.php';
  Forum: PHP · Podgląd postu: #1235375 · Odpowiedzi: 2 · Wyświetleń: 643

b4rt3kk
Napisane: 14.07.2018, 21:41:33





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Ujmujesz w nawias wszystkie OR z zapytania nr 2, dodajesz AND, ujmujesz w nawias wszystkie OR z zapytania nr 1.

  1. SELECT * FROM TABLE WHERE (c1 = '1' OR c1 = '2') AND (c3 = '3' OR c4 = '4');
  Forum: Przedszkole · Podgląd postu: #1235366 · Odpowiedzi: 3 · Wyświetleń: 344

b4rt3kk
Napisane: 16.07.2018, 21:23:09





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Cytat(Martinez31 @ 15.07.2018, 22:46:18 ) *
Niestety nie potrafię udzielić na to pytanie poprawnej odpowiedzi.

Na kompie zainstalowałem pgAdnim oraz postgre sql , bazę miałem z szkoleń.


Czyli baza stoi na Twoim własnym kompie? Z tego co widzę po ścieżkach do pliku to jest to windows. Więc kliknij prawym na ten plik, wybierz właściwości, a następnie przejdź do zakładki ochrona/bezpieczeństwo (nie wiem jak to jest w polskim win, ale w każdym razie będziesz tam mieć listę uprawnień do pliku dla różnych userów). Nie wiem czy na windowsie postgres ma własnego usera, ale jeśli ma to daj mu wszystkie uprawnienia do pliku csv. Jeśli nie ma, to daj po kolei wszystkim użytkownikom pełne uprawnienia i spróbuj zapytanie odpalić ponownie.
  Forum: PostgreSQL · Podgląd postu: #1235403 · Odpowiedzi: 16 · Wyświetleń: 10 346

b4rt3kk
Napisane: 13.07.2018, 16:45:34





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

  1. foreach($wykonawcy as $wykonawca) {
  2. $piosenki = $this->__db->execute(sprintf("SELECT * FROM piosenki WHERE username = '%s'", $wykonawca['username']));
  3.  
  4. $result .= "<table>
  5. <td>{$wykonawca['username']}</td>
  6. <td>{$wykonawca['imie']}</td>
  7. <td>{$wykonawca['nazwisko']}</td>
  8. <td>';
  9.  
  10. foreach ($piosenki as $row) {
  11. $result .= $row['tytul'] . ',';
  12. }
  13.  
  14. $result .= '</td>
  15. <td>i kolejne piosenki pod tym samym username</td>
  16. </table>";
  17. }


Dodajesz kolejne zapytanie i pętlę wyświetlającą to wszystko.
  Forum: PHP · Podgląd postu: #1235350 · Odpowiedzi: 1 · Wyświetleń: 604

b4rt3kk
Napisane: 12.03.2018, 17:57:31





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Coś mocno przekombinowałeś. Jeśli dobrze rozumiem to:

  1. $dane['prawa'];


zawiera obecne uprawnienie użytkownika. Jest i może być tylko jedno, tak?

Więc podejrzewam, że kod powinien wyglądać mniej więcej tak:

  1. <tr><td>Prawa: </td><td>';
  2. $question = mysql_query ("SELECT * FROM Rights");
  3. echo '<select name="prawa">';
  4.  
  5. while($prawa = mysql_fetch_assoc($question)) {
  6. echo"<option value=$prawa[prawa] ";
  7. echo $prawa['prawa'] == $dane['prawa'] ? 'selected' : null;
  8. echo ">$prawa[prawa]</option>"; // Wypisuje wszystkie prawa z tabeli Rights
  9. }
  10. echo '</select></form>';
  11. ?>
  Forum: Przedszkole · Podgląd postu: #1230511 · Odpowiedzi: 4 · Wyświetleń: 417

b4rt3kk
Napisane: 10.03.2018, 01:24:11





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

  1. DELETE FROM units WHERE userID NOT IN (SELECT id FROM users);
  Forum: Przedszkole · Podgląd postu: #1230424 · Odpowiedzi: 5 · Wyświetleń: 464

b4rt3kk
Napisane: 9.03.2018, 19:38:39





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

http://php.net/manual/en/book.dom.php
  Forum: Przedszkole · Podgląd postu: #1230401 · Odpowiedzi: 7 · Wyświetleń: 607

b4rt3kk
Napisane: 25.02.2018, 19:20:22





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

A nie możesz poprostu zadeklarować tejżej zmiennej przed użyciem operatora .= ? Bo on przecież powoduje dołączenie stringa do już istniejącego, więc i zmienna musi istnieć.

  1. $query = "SELECT * FROM keeper ORDER BY id_keeper ASC";
  2. $keeper = null;
  3.  
  4. if ($result = mysqli_query($link, $query)) {
  5. while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
  6. $id = $row["id_keeper"];
  7. if ($itemKeep == $id)
  8. $choose = 'selected="selected"';
  9. else
  10. $choose = '';
  11. $keeper .= "<option value='$id' $choose>{$row["k_name"]}</option>\r\n";
  12. }
  13. }
  Forum: Przedszkole · Podgląd postu: #1229702 · Odpowiedzi: 7 · Wyświetleń: 501

b4rt3kk
Napisane: 23.02.2018, 17:35:19





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Jeśli dobrze zrozumiałem, to dołóż DISTINCT:

  1. SELECT A.name , count(DISTINCT B.data2 ) AS policz, B.kod
  2. FROM tabela_A AS A
  3. LEFT JOIN tabela_B AS B ON A.data1 = B.data2
  4. WHERE A.data1 = B.data2
  5. GROUP BY A.name
  Forum: Przedszkole · Podgląd postu: #1229647 · Odpowiedzi: 3 · Wyświetleń: 1 835

b4rt3kk
Napisane: 23.02.2018, 17:38:31





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Dołóż WHERE do zapytania:

  1. SELECT pozdro, dle_users.name FROM dle_pozdro LEFT JOIN dle_users ON dle_users.user_id = dle_pozdro.userid WHERE approve = 1 ORDER BY dle_pozdro.id DESC LIMIT 30
  Forum: Przedszkole · Podgląd postu: #1229649 · Odpowiedzi: 4 · Wyświetleń: 428

b4rt3kk
Napisane: 9.02.2018, 22:39:17





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Cytat(GoldeNx3 @ 9.02.2018, 22:33:36 ) *
Tak, ja wiem jak zablokować dostęp. Ale problem polega na tym jak zrobić listę kontrolerów i metod. W routerze wywołuje się kontroler jak wchodzi się na dana stronę, ale tylko będzie topojedynczy kontroler. Ale jak zrobić aby skrypt pobrał wszystkie kontrolery i metody za jednym razem? W autoloaderze pobieram z folderu kontrolerów pliki i includuje je, w tym momencie mogę pobrać kontrolery po nazwie plików i zapisać je np. W bazie ale jak pobrać dodatkowo metody z tych plików? Najgorsze jest to, ze ciężko mi to wytłumaczyć. Jutro podeśle kod jak to wyglada ale może do tego czasu ktoś odpowie na moje pytanie.


A po co to pobierać? Aż tyle tego masz? Wpisz z palca do bazy. Jak już musisz to napisz sobie prosty skrypcki, który przeleci po wszystkich plikach w określonym katologu, otworzy je i przeleci po wszystkich metodach (użyj ReflectionClass).
  Forum: Object-oriented programming · Podgląd postu: #1228928 · Odpowiedzi: 9 · Wyświetleń: 10 163

b4rt3kk
Napisane: 9.02.2018, 22:08:54





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Zaimplementuj sobie coś w rodzaju acl. Tzn. trzymaj w bazie nazwy wszystkich kontrolerów (możesz również to rozszerzyć na metody), w osobnej tabeli grupy uprawnień, a w kolejnej która grupa ma uprawnienie do którego kontrolera (i akcji/metody). I później prostym zapytaniem sprawdzasz czy dany user może korzystać z danego kontrolera.
  Forum: Object-oriented programming · Podgląd postu: #1228922 · Odpowiedzi: 9 · Wyświetleń: 10 163

b4rt3kk
Napisane: 7.09.2017, 23:11:58





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Zacząłbym od włączenia wyświetlania błędów:

  1. ini_set("display_errors", 1);


Najlepiej gdzieś na początku kodu.

Natomiast w przypadku błędów serwera najlepiej przejrzeć error logi.
  Forum: Przedszkole · Podgląd postu: #1221738 · Odpowiedzi: 20 · Wyświetleń: 2 027

b4rt3kk
Napisane: 6.09.2017, 22:37:36





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

  1. <div class="checkbox">
  2. <label><input name="visible" type="radio" value="1" id='VisibleModule' checked="<?php echo !empty($item['visible']) ? 'checked' : 'false'; ?>">TAK</label>
  3. <label><input name="visible" type="radio" value="0" checked="<?php echo empty($item['visible']) ? 'checked' : 'false'; ?>">NIE</label>
  4. </div>
  Forum: Przedszkole · Podgląd postu: #1221692 · Odpowiedzi: 6 · Wyświetleń: 814

b4rt3kk
Napisane: 22.08.2017, 19:18:46





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Cytat(woxala123 @ 22.08.2017, 20:13:46 ) *
Przy tym zapytaniu też wywala błąd
Error: Call to a member function fetch() on boolean in C:\xampp\htdocs\suzo\los.php on line 33
Call Stack


Bo jest błąd w zapytaniu. Pierwszą rzecz jaką robisz w takim przypadku, to debugujesz i dopiero z konkretną informacją przychodzisz na forum.

Przerzuć sobie treść zapytania do zmiennej (tak by można to było wyświetlić):

  1. $query = "SELECT COUNT(*) FROM (SELECT COUNT(id_los) FROM liczby WHERE liczba IN (" . implode(',', $lop) . ") GROUP BY id_los HAVING COUNT(id_los) = {$wielkosc_tablicy})";
  2. $ount = current($conn->query($query)->fetch());
  3.  
  4. // wyświetlenie treści zapytania
  5. echo $query . '<br/>';
  6. // wyświetlenie błędu SQL
  7. var_dump($conn->errorInfo());


EDIT:

Zauważyłem, że nie masz aliasu:

  1. $query = "SELECT COUNT(*) FROM (SELECT COUNT(id_los) FROM liczby WHERE liczba IN (" . implode(',', $lop) . ") GROUP BY id_los HAVING COUNT(id_los) = {$wielkosc_tablicy}) t";
  Forum: Przedszkole · Podgląd postu: #1220919 · Odpowiedzi: 57 · Wyświetleń: 2 378

b4rt3kk
Napisane: 21.08.2017, 20:37:34





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Cytat(woxala123 @ 21.08.2017, 21:25:12 ) *
Tylko czy losowania zapisywać to z przecinkami liczby czy spacjami? Wiadomo że data osobno a id osobno no i tak jak wspomniałes trzymać się reguły że id_los, odpowiadający id z tablicy los.


Jeśli mówisz o uzupełnianiu tabeli danymi, to przecież liczby masz w postaci integerów, nie wstawisz tam żadnego dodatkowego znaku, typu przecinek czy spacja. Same liczby.

Wstawione dane mają wyglądać w ten sposób:

Kod
TABELA los:
id | data
===+======
1  | 2017-08-20

TABELA liczba:
id | id_los | liczba
===+========+=======
1 | 1 | 56
2 | 1 | 77
3 | 1 | 89
4 | 1 | 99
  Forum: Przedszkole · Podgląd postu: #1220853 · Odpowiedzi: 57 · Wyświetleń: 2 378

b4rt3kk
Napisane: 21.08.2017, 17:12:01





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Czy masz możliwość przebudowania bazy danych? Bo nie da się ukryć, że takie wyszukiwanie jak chcesz zrobić obecnie jest dosyć upierdliwe.

Znacznie prościej by było jakbyś miał taką strukturę:

Tabela losowanie o kolumnach: id, data.

Oraz tabela liczby o kolumnach: id, id_losowanie, liczba. Gdzie id_losowanie to klucz obcy z tabeli losowanie.

I w takim układzie nasze zapytanie będzie znacznie prostsze, a sama struktura bazy bardziej przejrzysta.

  1. SELECT COUNT(*) FROM (SELECT COUNT(id_losowanie) FROM liczby WHERE liczba IN (zmienna1, zmienna2, zmienna3) GROUP BY id_losowanie HAVING COUNT(id_losowanie) = 3) tab


Gdzie w warunku HAVING COUNT(id_losowanie) = 3 musisz podać liczbę odpowiednią dla liczby wprowadzonych parametrów w warunku WHERE liczba IN (zmienna1, zmienna2, zmienna3).

Edit: Błąd w zapytaniu.
  Forum: Przedszkole · Podgląd postu: #1220824 · Odpowiedzi: 57 · Wyświetleń: 2 378

b4rt3kk
Napisane: 21.08.2017, 16:11:45





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Zwróć uwagę na to zapytanie:

  1. $sql_result = $db->query( "SELECT a.id, a.title, a.category, a.alt_name, b.news_read FROM " . PREFIX . "_post a INNER JOIN " . PREFIX . "_post_extras b WHERE approve=1 ".$category_true." ORDER BY news_read DESC LIMIT ".$top100_config['news_num'] );


Brakuje nam tutaj warunku połączenia tabeli post z tabelą post_extras.

Prawidłowe zapytanie powinno wyglądać mniej więcej tak (mniej więcej, bo nie wiem na podstawie jakiego klucza jest stworzone dowiązanie):

  1. $sql_result = $db->query( "SELECT a.id, a.title, a.category, a.alt_name, b.news_read FROM " . PREFIX . "_post a INNER JOIN " . PREFIX . "_post_extras b ON a.id = b.id_post WHERE approve=1 ".$category_true." ORDER BY news_read DESC LIMIT ".$top100_config['news_num'] );
  Forum: PHP · Podgląd postu: #1220817 · Odpowiedzi: 4 · Wyświetleń: 707

b4rt3kk
Napisane: 20.10.2016, 20:11:15





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Nie rozumiem w czym problem? Chodzi o usunięcie tych pierwszych znaków czy generalnie wyłapanie pewnego formatu daty ze stringa?

  1. $string = '-!2012-12-12';
  2. preg_match('#([0-9]{4}\-[0-9]{2}\-[0-9]{2})#', $string, $matches);
  3. var_dump($matches[0]);
  Forum: Przedszkole · Podgląd postu: #1202619 · Odpowiedzi: 4 · Wyświetleń: 407

b4rt3kk
Napisane: 19.10.2016, 14:57:52





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Cytat(art998 @ 19.10.2016, 15:54:32 ) *
zapytanie nie zgłasza błędów ale też i nie dopisuje rekordów do tabeli zamowienia.


A masz cokolwiek w tabeli dane?
  Forum: Przedszkole · Podgląd postu: #1202530 · Odpowiedzi: 9 · Wyświetleń: 660

b4rt3kk
Napisane: 19.10.2016, 14:36:54





Grupa: Zarejestrowani
Postów: 1 933
Dołączył: 2.04.2010
Skąd: Lublin

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

Cytat(gburhiphop @ 1.10.2016, 18:00:52 ) *
jak w pytaniu


A tak więcej szczegółów, to można? Jak wygląda walidacja? Odbywa się po stronie przeglądarki? PHP?

Najprościej wyłączyć przycisk, o tak:

  1. <input type="submit" disabled="disabled" />


Sprawdzać każdy element formularza w momencie keyup, blur, change (nie wiem jakie pola ma ten formularz, więc ciężko stwierdzić jakie akcje będą tu odpowiednie), a kiedy okaże się, że dane są prawidłowo wprowadzone, to po prostu włączyć z powrotem element, np. tak:

  1. if (form.isValid() === true) {
  2. $('input[type="submit"]).attr('disabled', false);
  3. }
  Forum: Po stronie przeglądarki · Podgląd postu: #1202524 · Odpowiedzi: 2 · Wyświetleń: 743

19 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.04.2024 - 15:30