Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

6 Stron V   1 2 3 > » 

Tomplus
Napisane: 23.09.2018, 09:57:24





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Pierwsze co polecam do testów .htaccess:
https://htaccess.madewithlove.be/


Nie wiem co rozumiesz pod słowem nie działa?

A może lepiej zamiast tworzyć takie zapisy w .htaccess (czyli dla każdej podstronny osobny wpis) to stworzyć prosty routing w PHP?

Kod .htaccess ograniczyć do kilku wierszy:

Kod
RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^.*$ /index.php
  Forum: Przedszkole · Podgląd postu: #1236816 · Odpowiedzi: 2 · Wyświetleń: 120

Tomplus
Napisane: 14.07.2018, 20:20:31





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

OVH ma tanie serwery VPS więc może taki zarejestrować, przynajmniej na miesiąc i się pobawić.
  Forum: Przedszkole · Podgląd postu: #1235359 · Odpowiedzi: 12 · Wyświetleń: 410

Tomplus
Napisane: 28.06.2018, 09:58:57





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Jeżeli zmieniłeś wersję PHP dla serwera (nie trzeba usuwać poprzedniej wersji) i wordpress wciąż działa, to nie trzeba nic więcej robić.

funkcja PHPINFO() powie ci prawdę jaka jest wersja PHP, a to co jest na Wordpress to mogą być dane serwera zapisane w bazie podczas instalacji.
  Forum: Serwery WWW · Podgląd postu: #1234898 · Odpowiedzi: 4 · Wyświetleń: 496

Tomplus
Napisane: 8.05.2018, 16:34:36





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Byle nie za młodych tongue.gif

Ja osobiście też przeżyłem w pewnym sensie wypalenie.. a bardziej zmęczenie tematem.
Rozwiązaniem był nowy temat, a w innym przypadku... znalezienie sobie dodatkowego hobby, niezwiązane z programowaniem czy informatyką w ogóle.
  Forum: Hydepark · Podgląd postu: #1232973 · Odpowiedzi: 18 · Wyświetleń: 1 204

Tomplus
Napisane: 18.04.2018, 05:55:06





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Skoro wiesz jak wyświetlić w ogóle kolumnę z tabeli, to wystarczy dodać kolejną linię i np. dodać zwykły element HTML
np. echo "<p><a href='wiecej?id={$klient['id']}'>Zobacz więcej</a></p>";

Można także pobawić aby przy pomocy JS wyświetlać dodatkową tabelkę informacyjną.
  Forum: Przedszkole · Podgląd postu: #1232125 · Odpowiedzi: 2 · Wyświetleń: 181

Tomplus
Napisane: 28.12.2017, 23:12:52





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Kod
SELECT c.CustomerName, o.*, e.FirstName Employee FROM [Orders] o INNER JOIN [Customers] c ON c.CustomerID = o.CustomerID LEFT JOIN [Employees] e ON e.EmployeeID = 1
  Forum: Microsoft SQL Server / MSDE · Podgląd postu: #1226896 · Odpowiedzi: 17 · Wyświetleń: 1 345

Tomplus
Napisane: 18.12.2017, 18:03:58





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

[APACHE] pobierz, plaintext
  1. RewriteRule ^boosting/$ boosting.php?game=$1 [L]
  2. RewriteRule ^boosting/([a-zA-Z]+)/$ boosting.php?game=$1 [L]
  3. RewriteRule ^boosting/([a-zA-Z]+)/([a-zA-Z-]+)$ boosting.php?game=$1&type=$2 [L]
  4. RewriteRule ^boosting$ boosting.php [NC,QSA]
[APACHE] pobierz, plaintext


To będzie działać.
Polecam do testów używać tej strony:
http://htaccess.mwl.be/
  Forum: Serwery WWW · Podgląd postu: #1226551 · Odpowiedzi: 4 · Wyświetleń: 906

Tomplus
Napisane: 2.12.2017, 16:42:19





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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



  1. if( ! ini_get('date.timezone') )
  2. {
  3. date_default_timezone_set('GMT');
  4. }
  Forum: PHP · Podgląd postu: #1225656 · Odpowiedzi: 2 · Wyświetleń: 216

Tomplus
Napisane: 2.12.2017, 16:40:03





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Suma summarum... schowaj książkę do archiwum i kup taką o PHP która uczy używać PHP 7.
  Forum: Przedszkole · Podgląd postu: #1225655 · Odpowiedzi: 8 · Wyświetleń: 453

Tomplus
Napisane: 7.11.2017, 14:13:53





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Warto poznać czym jest procent.

Jeżeli masz:
udzial_USA = 1000 mln
udzial_swiat = 2000 mln
to

udzial_USA/udzial_swiat = (1/2) * 100 = 50%

Potem takie wartości możesz pokazywać gdzie chcesz.

funkcją round(cos, ile_miejsc_po_przecinku) możesz skracać sobie zbyt takie wartości procentowe.


@moderator
do przedszkola ten temat trzeba przenieść.
  Forum: Przedszkole · Podgląd postu: #1224206 · Odpowiedzi: 2 · Wyświetleń: 472

Tomplus
Napisane: 13.11.2017, 21:58:17





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Tak, przecież nie ma potrzeby aby wyświetlały Ci się wszystkie mecze.

Już samym foreach() powyżej możesz rozpocząć tworzenie listy spotkań dla HTML.

  1. $listaSpotkan = '';
  2. foreach($games as $i => $game) {
  3.  
  4. $listaSpotkan .= "
  5. <div>
  6. Mecz ".$game['team_1']." vs ".$game['team_2']."
  7. <br>Rozpocznie się: {$game['date_match']} {$game['time_match']}
  8. </div>
  9. ";
  10. }
  11.  
  12. //... gdzieśtam w kodzie

Kod
<body>
<?php echo $listaSpotkan; ?>
</body>



Zalecane jest stosowanie takich znaczników: <?php niż skróconych <?

Poczytaj sobie:
http://www.php-fig.org/psr/psr-1/
http://www.php-fig.org/psr/psr-2/
  Forum: Bazy danych · Podgląd postu: #1224554 · Odpowiedzi: 20 · Wyświetleń: 2 676

Tomplus
Napisane: 13.11.2017, 17:49:12





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

1. Stosuj tagi [PHP ] dla kodu php na forum.
2. Formatuj kod, stosuj 4 spacje lub 1 tabulator.
3. Jak już mówiłem mysql_* są depracated... na nowszych wersjach np. PHP7 już nie użyjesz takich funkcji.
Dlatego stosuj PDO, jak coś możesz użyć jakąś bibliotekę upraszczającą zapytania PDO np.: https://github.com/wickyaswal/indieteq-php-...-database-class

Wtedy otrzymasz coś takiego:

  1. $db = new Db();
  2. $query="SELECT `team_1`, `team_2`, `date_match`, `time_match`, `status` FROM `games`
  3. WHERE `status` = :status AND CONCAT(`date_match`,' ',`time_match`) > NOW()
  4. ORDER BY `date_match`, `time_match`
  5. LIMIT :limit;";
  6. $games = $db->query($query, ['status' => 0, 'limit' => 20]);
  7.  
  8. foreach($games as $i => $game) {
  9. $tablica_team_1[$i] = $game['team_1'];
  10. $tablica_team_2[$i] = $game['team_2'];
  11. $tablica_date_match[$i] = $game['date_match'];
  12. $tablica_time_match[$i] = $game['time_match']
  13. $tablica_status[$i] = $game['status'];
  14. }



Swoją drogą, nie wiem co to za zmienne tj. $tablica_team_1[$i]. Ale wiem że sam kiedyś tak pisałem, naprawdę zalecam nie twórz sobie takich zmiennych, bo tylko utrudniasz sobie pracę.
Stosuj normalne tablice np. $mecz[$id][$atrybut] = $wartosc.

Już nie mówiąc że w tej chwili zmienna $games jest tablicą która zawiera wszystkie elementy które są w $tablica_*
  Forum: Bazy danych · Podgląd postu: #1224540 · Odpowiedzi: 20 · Wyświetleń: 2 676

Tomplus
Napisane: 11.11.2017, 08:25:50





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

1. JOIN i jego wariacje w zapytaniu SQL.

2. tworzysz odpowiednie zapytanie, a potem korzystasz z FOREACH lub WHILE w PHP.

3. Status meczu oznacza czy mecz został rozegrany lub nie. Dzięki temu wszystkie wyniki możesz trzymać w jednej tabeli, a nie w dwóch, co jest dobre bo nie musisz robić podwójnych, albo potrójnych zapytań:
INSERT -> w nowej tabeli
DELETE -> w starej tabeli
UPDATE -> w nowej/lub starej tabeli (bo w końcu trzeba jeszcze wpisać datę zakończenia meczu)

Korzystanie z JS nie jests złym pomysłem. Ale wysyłając zapytanie, to skrypt ma odpytywać konkretny mecz, albo pulę spotkań.
Np. status 0 i dzień: DZISIAJ
  Forum: Bazy danych · Podgląd postu: #1224421 · Odpowiedzi: 20 · Wyświetleń: 2 676

Tomplus
Napisane: 6.11.2017, 20:30:13





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

w przypadku wyników meczu najlepiej podawać jako dwie kolumny, no chyba że zakładasz tylko że albo użytkownik trafił wynik albo nie: czyli 1:1 i 0:0 to wynik nie trafiony.

Oczywiście że nie, wystarczy stworzyć odpowiednie zapytanie,
Kod
SELECT {columny} FROM {tabele} WHERE status_meczu = 0 AND CONCAT(data_meczu,' ',godzina_rozpoczecia) < NOW()


zamiast CONCAT można też użyć:
DATEDIFF() - zwracająca ilość dni, więc np. jeżeli = 0 to mecze z dzisiaj, a 1 to mecze z jutra ( DATEDIFF(`data_meczu`, DATETIME()) ).

  Forum: Bazy danych · Podgląd postu: #1224160 · Odpowiedzi: 20 · Wyświetleń: 2 676

Tomplus
Napisane: 6.11.2017, 19:24:35





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Kod
idMeczu | typ_rozgrywek | druzyna_1 | druzyna_2 | wynik_1 | wynik_2 | data_meczu | godzina_rozpoczecia | godzina_zakonczenia | status_meczu |
12345 | 1 | 123 | 456 | 3 | 0 | 2017.11.04 | 19:00 | 20:51 | 1 | -- mecz rozegrany
12346 | 1 | 456 | 123 | 0 | 1 | 2017.11.06 | 19:00 | 00:00 | 0 | -- mecz trwajacy
12347 | 2 | 789 | 345 | 0 | 0 | 2017.11.10 | 18:00 | 00:00 | 0 | -- mecz zaplanowany


123, 456, 789. 345 to ID klubów/reprezentacji
status_meczu oznacza 1 to rozegrany i trafia do match_history, a 0 to trwające lub zaplanowane. Posortowane wg daty rozpoczęcia, czyli te z datą najstarszą (czyli najbliższą daty aktualnej)
typ_rozgrywek - 1 jako mecz ligowy, 2 jako mecz np. pucharowy

I tak można rozbudowywać.

Można np. dodać kolejną tabelę gdzie będą zapisywane wydarzenia ze spotkania (kartki, gole, zmiany)
Kod
id | idMeczu | typWydarzenia | minuta | coSieWydarzylo |



  Forum: Bazy danych · Podgląd postu: #1224153 · Odpowiedzi: 20 · Wyświetleń: 2 676

Tomplus
Napisane: 4.11.2017, 10:36:25





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Ale tutaj nie ma nic więcej, może co najwyżej jeszcze skorzystać z funkcji PDO

  1. $query->rowCount();


Ale dostaniesz wynik po wykonaniu polecenia SELECT, UPDATE, INSERT czy DELETE. Czyli nie musisz odpytywać dwa razy bazy tylko po aby sprawdzić ile jest rekordów.

COUNT(1) jest np. lepsze od COUNT(*) bo mniej obciąża procesor serwera.
  Forum: Przedszkole · Podgląd postu: #1224064 · Odpowiedzi: 6 · Wyświetleń: 451

Tomplus
Napisane: 22.10.2017, 17:28:30





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Stworzenie takiej gry nawet jeżeli będzie nie wypałem to zawsze jest nauką.

Jednak twoje pytanie, ma dwie odpowiedzi:
- powinieneś tworzyć skrypty JS/AJAX które po każdym kliknięciu na button wysyła zapytanie aby zweryfikować odpowiedź i ew. wygenerować nowe pytanie albo nowe odpowiedzi. Albo dane odpowiedzi wyłączyć jeżeli okazały się błędne.

- Dwa... po każdym kliknięciu wykonujesz zapytanie i dodajesz do HTML buttonu atrybut disabled

  1. $disabled['op1'] = '';
  2. if(isset($_POST['op1'])) {
  3. $disabled['op1'] = 'disabled';
  4. }
  5. echo '<button class="btn btn-default" type="submit" name="op1" id="btnTest" '.$disabled['op1'].'>'.$op1.'</button>';
  Forum: Przedszkole · Podgląd postu: #1223454 · Odpowiedzi: 1 · Wyświetleń: 210

Tomplus
Napisane: 20.10.2017, 05:35:07





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Spróbuj:
Kod
$('.sidenav-expand .sidenav-members-arrow').on('click', function() {
    $( ".sidenav-members" ).removeClass( "sidenav-expand" );
  });

funkcja .ON jest tutaj b.ważna.

  Forum: JavaScript · Podgląd postu: #1223354 · Odpowiedzi: 3 · Wyświetleń: 698

Tomplus
Napisane: 16.10.2017, 08:07:05





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Albo tworzysz index ID, z auto_increment i usuwasz takie logi podając id:

Kod
DELETE FROM `user_likes` WHERE id = 123123


wtedy każdy guzik będzie miał własne unikatowe ID.

  Forum: Przedszkole · Podgląd postu: #1223121 · Odpowiedzi: 4 · Wyświetleń: 369

Tomplus
Napisane: 15.10.2017, 12:21:49





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Zamiast przerabiać poprawną funkcję, to stwórz nową, a potem użyć w miejsce gdzie istniała poprzednia.
Zamiast edytować/modyfikować tablicę w bazie, stwórz nową na potrzeby twojego małego projektu.

Jak coś popsujesz, to przynajmniej skutki będą mniej bolesne, a błędy bardziej widoczne.
  Forum: Przedszkole · Podgląd postu: #1223103 · Odpowiedzi: 7 · Wyświetleń: 261

Tomplus
Napisane: 4.10.2017, 18:33:23





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Pierwsze co powinieneś zrobić to usunąć/wykomentować:
  1. header("Location: index.php?id=home"); // i inne headery

Błędu możesz nawet nie zauwazyć, bo nie jest to fatal error i wykonuje Ci się przekierowanie strony.
  Forum: Przedszkole · Podgląd postu: #1222730 · Odpowiedzi: 5 · Wyświetleń: 361

Tomplus
Napisane: 4.10.2017, 17:56:35





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Skoro powyższa funkcja działa, to nie jest problem w niej, a coś musisz mieć z sesjami.
  Forum: Przedszkole · Podgląd postu: #1222725 · Odpowiedzi: 5 · Wyświetleń: 361

Tomplus
Napisane: 29.09.2017, 16:38:59





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Ja rzucę jeszcze link:

http://php.net/manual/en/language.oop5.autoload.php

Przykład z manuala
  1. <?php
  2. spl_autoload_register(function ($class_name) {
  3. include $class_name . '.php';
  4. });
  5.  
  6. $obj = new MyClass1();
  7. $obj2 = new MyClass2();
  8. ?>
  Forum: PHP · Podgląd postu: #1222567 · Odpowiedzi: 4 · Wyświetleń: 374

Tomplus
Napisane: 26.09.2017, 22:41:58





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

A nie możesz użyć wyrażeń regularnych?

Np.
  1. $url = 'http://steamcommunity.com/profiles/76561198121038823/';
  2. preg_match('/\/(id|profiles)\/([\w\d\-\_]+)\//', $url, $wynik);
  3. ID z `{$wynik[1]}` to: {$wynik[2]}
  4. ";


Potem taki wynik przetwarzasz jak chcesz. Z tego co sprawdziłem, to są dwa rodzaje URLi do profilu:

- /id/ gdzie jest numer lub nazwa
- /profiles/ gdzie jest tylko numer ID użytkownika

  Forum: PHP · Podgląd postu: #1222481 · Odpowiedzi: 2 · Wyświetleń: 274

Tomplus
Napisane: 24.09.2017, 08:15:50





Grupa: Zarejestrowani
Postów: 1 238
Dołączył: 20.03.2005
Skąd: Będzin

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

Trudno się odpowiada gdy nie znamy tabeli, co jest czym, ale może wystarczy do SQL dodać dodatkowe sortowanie np.:

Kod
... ORDER BY `id_theme` ASC, `type` ASC;
  Forum: Przedszkole · Podgląd postu: #1222341 · Odpowiedzi: 3 · Wyświetleń: 303

6 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: 20.10.2018 - 18:41