Napisane: 29.12.2021, 10:15:11 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
https://www.php.net/manual/en/language.type....syntax.heredoc Przeczytaj. Wyrzuć ">>>;", zamykasz przez tag. |
Forum: PHP · Podgląd postu: #1257497 · Odpowiedzi: 18 · Wyświetleń: 1 577 |
Napisane: 28.12.2021, 20:54:53 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Prawa strona wydaje się być OK. Wymaż wszystkie tabulacje, pomarańczowe strzałki. I dwukrotnie walnij dwie spacyjki wszędzie. Przemęczysz to, przemyślisz. |
Forum: PHP · Podgląd postu: #1257480 · Odpowiedzi: 18 · Wyświetleń: 1 577 |
Napisane: 28.12.2021, 20:12:20 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Musisz włączyć wyświetlanie niewidzialnych znaków. Notepad++ ¶¶¶sunrise, sunrise [TAB]sunset, sunset Musisz ¶¶¶sunrise, sunrise ¶¶¶sunset, sunset |
Forum: PHP · Podgląd postu: #1257474 · Odpowiedzi: 18 · Wyświetleń: 1 577 |
Napisane: 28.12.2021, 17:09:59 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
|
Forum: PHP · Podgląd postu: #1257466 · Odpowiedzi: 18 · Wyświetleń: 1 577 |
Napisane: 28.12.2021, 15:49:18 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Tak jak Viking dodał. Po operatorze trzech znaków mniejszości musi być nowa linia. @nospor jest świetny w grze, znajdź sto różnic. Nie ma sobie równych, można się od niego uczyć, naprawdę. Kod $a=<<<"CC" x z >>>; while(ALL_STUFF) { if(Line.#1 not found #Newline) { Error(); output="... unexpected '<<'..."; } } |
Forum: PHP · Podgląd postu: #1257464 · Odpowiedzi: 18 · Wyświetleń: 1 577 |
Napisane: 27.12.2021, 18:06:02 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
|
Forum: PHP · Podgląd postu: #1257453 · Odpowiedzi: 18 · Wyświetleń: 1 577 |
Napisane: 10.08.2020, 04:34:06 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Przełóż na swój kod. Kolejność elementów w tablicy $a i $b jest bardzo ważna, ponieważ na tym bazuje funkcja array_search. Cyfra 2 jest sprawdzana z 'umx1', dalej 3 z 'umx2', 4 z 'umx3', itd. U Ciebie jest to Kod ($category_id =='2') && ($_SERVER['REQUEST_URI'] == '/umx_rhythmix.php') .Porównujesz kategorię 2 z adresem '/umx_rhythmix.php', więc będzie to tak. $a = [2, 3]; $b = ['/umx_rhythmix.php', '/umx_wps.php']; Pamiętaj o tym, że === w ifie jest po to, żeby sprawdzać typ! Jeśli tego nie byłoby, to "" zostałoby porównane z 0 jako true, a tego nie chcemy. Poczytaj o tej funkcji. Kod if("" == 0) , Kod if("" === 0) Proszę, gotowe. |
Forum: Przedszkole · Podgląd postu: #1252417 · Odpowiedzi: 7 · Wyświetleń: 505 |
Napisane: 17.02.2020, 00:07:25 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Jeśli chcesz mocniejsze typowanie, to na końcu dodaj true, do in_array... Zaprezentowany kod wyrzuca true, najprawdopodobniej dlatego, że porównuje $country z 'FR', dalej "nic" z 'AT' itd., więc już dla 'AT' zwraca true, nie jest porównywany z niczym.
|
Forum: Przedszkole · Podgląd postu: #1249666 · Odpowiedzi: 3 · Wyświetleń: 318 |
Napisane: 17.09.2019, 13:53:36 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Dostałem odpowiedź na IRCu (FREENODE) kanał ##PHP. Cytat +Bittarman: I'd use a recursive array_map Ja: Yes, but I want on method offsetSet(). +Bittarman: you cannot just make a method do something that it doesn't do. +Bittarman: using offsetSet you'd only set the outermost arrays offset Ja: Bittarman; where is it in documentation? +Bittarman: under arrayiterator Ja: So that works, I must "need to instantiate ArrayObject and let it create ArrayIterator instances that refer to it either by using foreach or by calling its getIterator() method manually."? +Bittarman: except you're using a recursiveiteratoriterator on it Ja: Aha, OK. So I can't use recursiveiteratoriterator, that use offsetSet()? +Bittarman: you can, but it will only work on the outermost layer. +Bittarman: like I said, I'd just use a recursive array_map Ja: In manual not have about "outermost layer", probably. Ta metoda działa, tylko na najbardziej zewnętrznych indeksach, do tych środkowych "nie wchodzi" lub "nie chce ich modyfikować". Żeby napisać, to co chcesz powinieneś skorzystać z rekursywnej funkcji array_map tak jak podpowiedział mi użytkownik na IRCu. Cytat This iterator allows to unset and modify values and keys while iterating over Arrays and Objects. When you want to iterate over the same array multiple times you need to instantiate ArrayObject and let it create ArrayIterator instances that refer to it either by using foreach or by calling its getIterator() method manually. Źródło Kod użytkownika +Bittarman z IRCa z wykorzystaniem map*. Kod <?php $array = [ 'one' => 'One', 'two' => 'Two', 'three' => [ 'four' => 'Four', 'items' => [ 'six' => 'Six', 'seven' => 'Seven' ] ], ]; function clean($in, $key) { if ($key === 'items') { return []; } if (is_array($in)) { return array_map('clean', $in, array_keys($in)); } return $in; } $out = array_map('clean', $array, array_keys($array)); var_dump($out); W przeciwnym razie chyba musisz, ale nie jestem pewien napisać coś w tym stylu. Musisz chyba ustawić korzeń (root) array na inną pozycję level zagnieżdżenia i wtedy można modyfikować te drzewo arraya. A tutaj mój kod, wpierałem się komentarzem w manualu PHP - źródło. Kod <?php ///ini_set('error_reporting', E_ALL); $array = [ 'one' => 'One', 'two' => 'Two', 'three' => [ 'four' => 'Four', 'items' => [ 'six' => 'Six', 'seven' => 'Seven' ] ], ]; $iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($array), RecursiveIteratorIterator::SELF_FIRST); foreach($iterator as $key => $value) { $currentDepth = $iterator->getDepth(); for($subDepth = $currentDepth; $subDepth >= 0; $subDepth--) { if( $key == 'items') { $value = []; } $subIterator = $iterator->getSubIterator($subDepth); $subIterator->offsetSet($subIterator->key(), ($subDepth === $currentDepth ? $value : $iterator->getSubIterator(($subDepth+1))->getArrayCopy())); } } var_dump($iterator->getArrayCopy()); ?> Za napisanie kodu szczególnie podziękowania dla +Bittarman z kanału ##PHP oraz daniel1302 z kanału #4programmers oba na FREENODE. |
Forum: Przedszkole · Podgląd postu: #1245505 · Odpowiedzi: 2 · Wyświetleń: 307 |
Napisane: 7.09.2019, 22:08:39 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Po pierwsze nie używaj @, ponieważ tylko ukrywasz błędy. Nie używaj także mysql, ponieważ to zostało usunięte w wersji 7. i jeśli korzystasz z najnowszej wersji to nic dziwnego, że taki błąd Ci poleciał. Zamiast tego korzystaj tylko z mysqli i/lub PDO. Do sprawdzania, co masz zainstalowane/skonfigurowane możesz zastosować taką linię kodu phpinfo();. Później naciśnij Ctrl+F i wpisz tam w pole wyszukiwania mysql, zobaczysz, że tego nie masz w wersji 7. |
Forum: PHP · Podgląd postu: #1245009 · Odpowiedzi: 5 · Wyświetleń: 660 |
Napisane: 30.08.2019, 22:54:51 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
|
Forum: Przedszkole · Podgląd postu: #1244797 · Odpowiedzi: 7 · Wyświetleń: 305 |
Napisane: 11.07.2019, 20:03:52 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
https://www.forumweb.pl/porady-i-tutoriale-...regularne,89394 Ogranicznik musi być unikatowy. Odsyłam do lektury powyżej. Ogranicznik, który wybrałem to "@". Możesz jeszcze napisać tak jak się już uparłeś przy slash'u "/". |
Forum: Przedszkole · Podgląd postu: #1243477 · Odpowiedzi: 4 · Wyświetleń: 387 |
Napisane: 8.07.2019, 16:29:25 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
|
Forum: PHP · Podgląd postu: #1243374 · Odpowiedzi: 6 · Wyświetleń: 599 |
Napisane: 30.06.2019, 20:42:51 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Kod td { border: 1px solid black; }
Twój kod: Nie używaj @ - ukrywasz tylko błędy. Zamknąłeś połączenie z bazą za szybko, ponieważ chciałeś jeszcze wykonać zapytanie MySQL. To więc powinno być raczej na samym końcu
|
Forum: Przedszkole · Podgląd postu: #1243135 · Odpowiedzi: 5 · Wyświetleń: 590 |
Napisane: 30.05.2019, 14:20:17 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Kod .pasek_right { float: right; width: calc(100% - 30px); /* ... */ } Pamiętaj, że wszystko w calc pomiędzy nawiasami, te znaki "+", "-" muszą być oddzielone spacją, taka gramatyka. Cytat: Cytat The + and - operators must be surrounded by whitespace. For instance, calc(50% -8px) will be parsed as a percentage followed by a negative length ? an invalid expression ? while calc(50% - 8px) is a percentage followed by a subtraction operator and a length. Likewise, calc(8px + -50%) is treated as a length followed by an addition operator and a negative percentage. The * and / operators do not require whitespace, but adding it for consistency is both allowed and recommended. https://developer.mozilla.org/en-US/docs/Web/CSS/calc Staraj się nie korzystać z W3Schools, dlaczego - przeczytaj: https://forum.pasja-informatyki.pl/34559/w3...ywej-propagandy https://www.webkrytyk.pl/2017/10/29/w3schools-com/ |
Forum: Przedszkole · Podgląd postu: #1242246 · Odpowiedzi: 3 · Wyświetleń: 276 |
Napisane: 30.05.2019, 16:31:15 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Przepisz część kodu z JQuery na JavaScript lub załącz tę bibliotekę, np. taką: Musisz umieścić ten kod w takim miejscu, żeby najpierw kod z tej biblioteki został odczytany, a dopiero później inny kod używający tej biblioteki JQuery. Ogólnie, to naciśnij F12 i sprawdź jakie się pojawiają błędy w konsoli deweloperskiej. |
Forum: Przedszkole · Podgląd postu: #1242259 · Odpowiedzi: 3 · Wyświetleń: 443 |
Napisane: 5.05.2019, 23:41:53 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Trzeba pamiętać pomiędzy różnicą tego operator case, a tego case. |
Forum: Przedszkole · Podgląd postu: #1240549 · Odpowiedzi: 3 · Wyświetleń: 411 |
Napisane: 13.01.2019, 01:00:19 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
#1: Kod Array ( [0] => Array ( [name_file] => 50 [room] => Array ( [nr_room] => [nr_invest] => Array ( ) ) ) ) #2: Kod Array ( [0] => Array ( [name_file] => 50 [room] => Array ( [nr_room] => [nr_invest] => Array ( ) ) ) [1] => Array ( [name_file] => 60 [room] => Array ( [nr_room] => [nr_invest] => Array ( ) ) ) ) #3: Kod Array ( [0] => Array ( [name_file] => 50 [room] => Array ( [nr_room] => [nr_invest] => Array ( ) ) ) [1] => Array ( [name_file] => 60 [room] => Array ( [nr_room] => 100 [nr_invest] => Array ( ) ) ) ) |
Forum: Przedszkole · Podgląd postu: #1238502 · Odpowiedzi: 4 · Wyświetleń: 845 |
Napisane: 23.11.2018, 01:53:32 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Do czego chcesz przypisać rezultat? Do kilku zmiennych, do tablicy, do listy? Zakładając, że zapytaniem uzyskałeś tablicę, to możesz posłużyć się listą i rozbić ją na kilka zmiennych.
Argumenty w liście oznaczają kolejno numery w tablicy i w ten sposób argument przypisuje sobie wartość zmiennej tablicowej. Jeśli chodzi Ci o coś innego, to możesz z poziomu HTML utworzyć tablicę za pomocą: |
Forum: Przedszkole · Podgląd postu: #1237855 · Odpowiedzi: 7 · Wyświetleń: 612 |
Napisane: 26.11.2018, 01:20:17 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Kod const arr = [ [0, 3, 4], [1], [2], [3], [4], [5], [6, 3, 4], [7, 0, 1, 2], [8, 0, 1, 2], [9, 0, 1, 2, 3, 4, 5] ]; function get_el_id(id) { return document.getElementById(id); } var x = []; function loop_options(option) { if(x.length > 1) { x.splice(1,1); x.push(option.slice()); } else { x.push(option.slice()); } x = x.reverse(); if(x.length > 1) { for(var j=1;j<x[1].length;j++) { get_el_id('tree_type').children[x[1][j]].disabled = false; } } for(var i=1;i<option.length;i++) { get_el_id('tree_type').children[option[i]].disabled = true; } } var blank_option2 = false; function first_non_disabled(option, incrementator, recursive) { if(option.length-1===get_el_id('tree_type').children.length) { blank_option2 = true; let new_option = document.createElement('option'); new_option.selected = true; get_el_id('tree_type').add(new_option); get_el_id('tree_type').disabled = true; } else { if(blank_option2 === true) { blank_option2 = false; get_el_id('tree_type').children[get_el_id('tree_type').children.length-1].remove(); get_el_id('tree_type').disabled = false; } if(option[recursive]!==incrementator) { get_el_id('tree_type').children[incrementator].selected = true; } else { recursive++; incrementator++; first_non_disabled(option, incrementator, recursive); } } } function disable_options() { arr.forEach(function(option) { if(option[0] === get_el_id('trees').selectedIndex) { loop_options(option); first_non_disabled(option, 0, 1); } }); } disable_options(); get_el_id('trees').addEventListener('change', disable_options, false); Masz, proszę. Tak jak chciałeś, dopisałem nowy "moduł" do kodu. Jeśli będziesz dodawać nowe opcje do select'a, to będziesz musiał też modyfikować tablicę arr. Od elementu jeden i dalej w podtablicy możesz umieszczać indeksy option'a, który ma być zablokowany (disabled), przykład: Kod const arr = [ [0, 1, 3] ]; Jeśli wybierzesz opcję "oak", czyli zero (0), to wtedy zablokowane zostaną indeksy jeden i trzy (1, 3), czyli "conifer2" i "deciduous2". Powyższy kod dla wybranego option'a o indeksie zero z select'a pierwszego zablokuje możliwość wyboru select'owi drugiemu indeksy jeden i trzy. W ten sposób właśnie umieszczaj dane w tej tablicy. Najpierw indeks option'a w pierwszym select i dalej indeksy, które będą blokowane w drugim select. Jeśli nic, nie ma być zablokowane w drugim select, to wtedy możesz umieścić sam tylko indeks, przykład: Kod const arr = [ [5] ]; Ten zapis w kodzie nie zablokuje żadnego option'a w select drugim, ponieważ jest podany tylko indeks pierwszego option'a (5 - hazel), a opcje do zablokowania nie są podane, więc nic nie zostanie zablokowane w drugim select. |
Forum: Przedszkole · Podgląd postu: #1237919 · Odpowiedzi: 49 · Wyświetleń: 2 619 |
Napisane: 4.07.2018, 20:16:14 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
https://httpd.apache.org/docs/2.4/mod/mod_r...tml#rewritecond RewriteCond Directive Description: Defines a condition under which rewriting will take place Syntax: RewriteCond TestString CondPattern [flags] ...* %{ENV:variable}, where variable can be any environment variable, is also available. This is looked-up via internal Apache httpd structures and (if not found there) via getenv() from the Apache httpd server process. https://httpd.apache.org/docs/2.4/custom-error.html ...* REDIRECT_ environment variables are created from the environment variables which existed prior to the redirect. They are renamed with a REDIRECT_ prefix, i.e., HTTP_USER_AGENT becomes REDIRECT_HTTP_USER_AGENT. REDIRECT_URL, REDIRECT_STATUS, and REDIRECT_QUERY_STRING are guaranteed to be set, and the other headers will be set only if they existed prior to the error condition. None of these will be set if the ErrorDocument target is an external redirect (anything starting with a scheme name like http:, even if it refers to the same host as the server). Customizing Error Responses Własna odpowiedź na błąd RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond - określa warunek pod którym przepisanie będzie miało miejsce. % - określa chyba zmienną server'a. ENV - prefix mówiący o możliwości występowania po nim zmiennej środowiskowej. Mogą występować zwykłe zmienne jak i środowiskowe. REDIRECT_STATUS - zmienna środowiskowa, ponieważ zaczyna się od prefix'u REDIRECT_. ^$ - nakazuje łańcuchowi znaków (string), aby zaczynał się od pustego string'a i kończył na pustym string'u. Jeśli chodzi o różnicę między "^$", a "", to jest i to znaczna. Pierwszy wzorzec łapie wszystko, co zaczyna się od pustego string'a i kończy na pustym string'u, czyli nie wyłapie np. tego: " ", natomiast drugi wzorzec wyłapie ten string jako prawidłowy (ten którego chcieliśmy wyłapać). Dla zwizualuowania/zwizualizowania:
W celu uzyskania pełnej lokalnej ścieżki systemu plików z żądania w kontekście per-server, użyj na podstawie look-ahead %{LA-U:REQUEST_FILENAME} do ustalenia końcowej wartości (razem) z REQUEST_FILENAME. O ile dobrze zrozumiałem, to jeśli chcesz ze zwykłej zmiennej zrobić zmienną środowiskową to musisz dodać prefix REDIRECT_ i obok niego dopisać zwykłą zmienną np. STATUS i wychodzi wtedy zmienna środowiskowa REDIRECT_STATUS. Wyjątkiem od tej reguły jest chyba tylko to: %{ENV:variable}, choć nie jestem tego pewien, musiałbyś doczytać. https://httpd.apache.org/docs/2.4/env.html URL Rewriting The %{ENV:variable} form of TestString in the RewriteCond allows mod_rewrite's rewrite engine to make decisions conditional on environment variables. Note that the variables accessible in mod_rewrite without the ENV: prefix are not actually environment variables. Rather, they are variables special to mod_rewrite which cannot be accessed from other modules. Co do Twojego problemu to ... Jeśli zmienna środowiskowa REDIRECT_STATUS będzie pusta to wykonuj/nie wykonuj przekierowywania. Oznacza to tyle, to co podałem w przykładzie powyżej. Zatem linijka/linia o którą pytasz jest napisana tak, aby nie było zbędnych przekierowań. Reasumując, jeśli we wzorcu (pattern) jest ^$, to wtedy string dla którego nastąpi przekierowywanie jest pusty absolutnie pusty, bezwzględnie (ale to tylko umowa). Jeśli w string'u znajdzie się conajmniej jeden znak (character), to nie nastąpi przekierowywanie, czy przepisanie string'a na inny adres, czy coś w tym stylu. https://httpd.apache.org/docs/2.4/mod/mod_r...tml#rewritecond : Cytat The RewriteCond directive defines a rule condition. One or more RewriteCond can precede a RewriteRule directive. The following rule is then only used if both the current state of the URI matches its pattern, and if these conditions are met. TestString is a string which can contain the following expanded constructs in addition to plain text: Dyrektywa RewriteCond określa warunek reguły. Jeden lub więcej RewriteCond może poprzedzać dyrektywę RewriteRule. Poniższa reguła jest wówczas tylko użyta jeśli zarówno bieżący stan z URI pasują wzorem, i jeśli te warunki są spełnione. Cytat w jaki sposób ta linijka: ...* Powoduję "naprawę" tego błędu. Mi się wydaje, że dzieje się tak dlatego, że nie masz regex'ów odpowiednich w RewriteCond. Spróbuj może tak: Kod RewriteCond %{REQUEST_FILENAME} ^$ !-d RewriteCond %(REQUEST_FILENAME) ^$ !-f RewriteCond %(REQUEST_FILENAME) ^$ !-l RewriteRule ^(.+)$ /1/public/index.php?url=$1 [QSA,L] Chodzi oto, że ta jedna linia o którą pytasz powoduje brak przekierowania wszystkich URI chyba. Dlatego więc zamiast w kilku miejscach pisać ... ^$ ..., można machnąć to w jednej linii i nie dopisywać tego w kolejnych, tak mi się wydaje. Wracając do sedna, masz najprawdopodobniej nieskończoną pętlę przekierowań i wtedy uruchamiane jest zabezpieczenie, które temu zapobiega. Nie możesz mieć nieskończonej pętli chyba, więc musisz dodać warunek, który zakończy n'te przekierowanie i "wyjdzie" ze skryptu/pliku/pętli. Cytat LimitInternalRecursion prevents the server from crashing when entering an infinite loop of internal redirects or subrequests. Such loops are usually caused by misconfigurations. Resztę sam doczytaj (w dokumentacji). LimitInternalRecursion Directive Description: Determine maximum number of internal redirects and nested subrequests Syntax: LimitInternalRecursion number [number] Default: LimitInternalRecursion 10 Context: server config, virtual host LimitInternalRecursion Directive Masz ponad 10 cykli czegoś tam i wyrzuca Ci błąd, jeśli chcesz aby nie wyrzucało Ci błędu, a nie masz pętli nieskończonej to możesz to przestawić na np. 15 cykli, jeśli się na tyle da ustawić. Spróbuj napisać te trzy linie w jednej, np. tak: Kod RewriteCond %(REQUEST_FILENAME) ^$ !-d !-f !-l REDIRECT_URL, REDIRECT_STATUS, and REDIRECT_QUERY_STRING są gwarantowane do ustawienia, i inne nagłówki zostaną ustawione tylko jeśli istniały wcześniej do warunku błędu. Musiałbyś przeczytać dokumentację potrzebnych ci rzeczy od deski do deski, aby załapać o co chodzi z tymi nieskończonymi przekierowaniami. W czym masz opakowany ten kod w: Kod <IfModule mod_rewrite.c> # ... </IfModule> Czy w czymś innym? Czy zmieniałeś może plik httpd.conf, czy jakikolwiek inny odpowiedzialny za te przekierowania, jeśli tak to podaj te zmiany. Moje tłumaczenie oraz translate google trochę. https://httpd.apache.org/docs/2.4/expr.html#vars https://httpd.apache.org/docs/2.4/rewrite/intro.html#regex https://httpd.apache.org/docs/2.4/custom-error.html https://httpd.apache.org/docs/2.4/mod/mod_l....html#customlog https://httpd.apache.org/docs/2.4/mod/mod_status.html https://httpd.apache.org/docs/2.4/rewrite/flags.html https://wiki.apache.org/httpd/RewriteCond https://www.w3.org/International/questions/...taccess-charset https://httpd.apache.org/docs/2.4/mod/quickreference.html https://httpd.apache.org/docs/current/mod/core.html#ifmodule https://httpd.apache.org/docs/2.4/mod/quickreference.html ...* - ominięcie tekstu |
Forum: Przedszkole · Podgląd postu: #1235070 · Odpowiedzi: 2 · Wyświetleń: 510 |
Napisane: 29.06.2018, 14:48:04 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
To jest chyba niemożliwe z punktu CSS i HTML, musiałbyś do tego dołączyć jeszcze np. JS, żeby móc to wykonać. W ogóle, to w zapisie masz chyba błąd w składni, składnia border jest taka: Cytat border: medium dashed green; https://developer.mozilla.org/en-US/docs/Web/CSS/border Najpierw trzeba podać wysokość/grubość linii, następnie styl i na końcu kolor. Pseudo-selektory i selektory o ile mi wiadomo mogą odwoływać się tylko i wyłącznie do następników, a nie poprzedników. Nawet na chat'cie IRC na kanale (FREENODE) #html się o tym upewniłem. Jak sama nazwa wskazuje są to kaskadowe arkusze stylów, działają jak kaskada. Wyobraź sobie wodę, która spływa z takich zrębów/kaskad. Woda płynie tam gdzie jest najniżej i chyba tak właśnie działa CSS, może odwoływać się tylko w dół kodu, nie w górę, to nie język programowania. Jedynym trick'iem jaki mógłbyś wykonać to moim zdaniem połączenie input[type="checkbox"] z label. Ale wtedy musiałbyś chyba tylko klikać na tekst, który byłby w label, a nie w input[type="text"] nadając mu focus. Żeby problem rozwiązać to chyba trzeba by było zastosować pozycję absolutną i/lub relatywną, czy coś w tym stylu. Dodatkowo można by użyć pseudoklas jakimi są ::after i ::before, choć tego do końca pewien nie jestem. Reasumując, aby to wykonać potrzebne jest Tobie nadanie focus'a dla label i dla input[type="text"], ponieważ wtedy zaznaczy Ci się input[type="checkbox"]. Gdy checkbox zostanie zaznaczony, to wykona się akcja, czyli np. zostaną uaktywnione napisane przez Ciebie style. Ale tak jak pisałem wcześniej, nie wiem, czy to możliwe z poziomu CSS'a i HTML'a, więc za dużo powiedzieć nie mogę. Kod body { background:grey; } form { border:1px solid grey; padding:30px; } input#box { display:none; } input#box:checked + form.form1 { border:1px solid green; background:orange; } Można to napisać bez tych trick'ów, o ile z tymi trick'ami w ogóle się da, to możesz użyć pseudo-selector'a :focus-within. Kod .form1 { border:5px solid grey; padding:30px; } .form1:focus-within{ background:green; border:5px solid black; } https://css-tricks.com/almanac/selectors/f/focus-within/ Link1, link2, link3, link4, link5, link6. |
Forum: Przedszkole · Podgląd postu: #1234924 · Odpowiedzi: 8 · Wyświetleń: 610 |
Napisane: 13.06.2018, 19:38:10 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Teraz robisz chyba zmienne zmiennych (variables variable) tak mi się wydaje. Zamiast pisać tak:
, możesz pisać tak:
Poczytaj o różnicach. http://php.net/manual/en/language.variables.variable.php Nie wiem, czy nie lepiej byłoby w Twoim przypadku napisać to na tablicach, aniżeli tworzyć dynamicznie zmienne. |
Forum: Przedszkole · Podgląd postu: #1234428 · Odpowiedzi: 2 · Wyświetleń: 715 |
Napisane: 12.06.2018, 13:10:45 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Jak masz input type radio, to musisz im wszystkim nadać ten sam name.
|
Forum: Przedszkole · Podgląd postu: #1234337 · Odpowiedzi: 2 · Wyświetleń: 341 |
Napisane: 11.06.2018, 21:05:15 | |
Grupa: Zarejestrowani Postów: 286 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Dodaj może: Kod body { .margin:0; padding:0; } Wyjeżdżasz za 100% szerokości strony, to wtedy ci się pojawia poziomy scroll. |
Forum: Przedszkole · Podgląd postu: #1234306 · Odpowiedzi: 3 · Wyświetleń: 315 |
Nowe odpowiedzi Brak nowych odpowiedzi Popularny temat (Nowe) Popularny temat (Brak nowych) |
Sonda (Nowe) Sonda (Brak nowych) Zamknięty temat Przeniesiony temat |
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 03:32 |