Nie rozumiem tej linijki kodu w PHP. Ciężka sprawa.

Nie rozumiem tej linijki kodu w PHP. Ciężka sprawa.
AD
  • Rejestracja:prawie 8 lat
  • Ostatnio:prawie 2 lata
  • Postów:403
0

Ktoś może mi pomóc i wyjaśnić co ta linijka kodu robi?

Kopiuj
<form method="post" action="index.php?action=add&id=<?php echo["id"]; ?>">

</form>

Dziękuję za pomoc.

edytowany 2x, ostatnio: flowCRANE
.andy
  • Rejestracja:ponad 16 lat
  • Ostatnio:około 3 lata
  • Postów:1524
4

PHP nie znam, ale na mój rozum do argumentu id jest wrzucana wartość id.
W PHP echo wyświetla to na stronie.

Na koniec odpalasz index.php z dwoma argumentami, action ustawione na add i id ustawione na id.

Poprawcie mnie jeżeli się mylę.

Outputs one or more expressions, with no additional newlines or spaces.

https://www.php.net/manual/en/function.echo.php


Software is like sex: it's better when it's free.
- Linus Torvalds
edytowany 2x, ostatnio: .andy
Miang
  • Rejestracja:prawie 7 lat
  • Ostatnio:minuta
  • Postów:1659
4
adamon napisał(a):

ten kawałek jest dziwny, co właściwie miałoby być tu argumentem echo?

Kopiuj
echo["id"]; 
Kopiuj

może miało być

```php
echo "id";

albo

Kopiuj
echo $id;

dzisiaj programiści uwielbiają przepisywać kod z jednego języka do drugiego, tylko po to by z projektem nadal stać w miejscu ale na nowej technologii
AK
Dziwny? Kolega znany jest ze stochastycznych wklejek przypadkowego kodu, z wielkim szczęściem do kodu przestarzałego / błędnego
Miang
generator kodu pseudolosowego ;)
Freja Draco
Freja Draco
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
1

Parse error: syntax error, unexpected '[' in ...


.andy
  • Rejestracja:ponad 16 lat
  • Ostatnio:około 3 lata
  • Postów:1524
3

Wrzucilem sobie na szybko do jakiegoś compilera online...i szok jak dla mnie 🧐
Screenshot_20210814-094216.png

Skoro to tablica, to nie powinno jej całej wyświetlić?


Software is like sex: it's better when it's free.
- Linus Torvalds
edytowany 1x, ostatnio: .andy
Zobacz pozostałe 4 komentarze
AK
@.andy: Pochwałą za inżynierską dociekliwość @Miang za dokładną analizę (to powinien być post)
AK
Kolega znany jest ze stochastycznych wklejek przypadkowego kodu, z wielkim szczęściem do kodu przestarzałego / błędnego
AK
"Skoro to tablica, to nie powinno jej całej wyświetlić?" - w Javie, C# też wyświetli uchwyt tablicy
.andy
@AnyKtokolwiek: no tak w javie pokaże adres. Tutaj pokazuje typ co jest takie dziwne ;) No ale jak pisałem ja nie poimaju php :) Tak w ogóle, to po co takie konstrukcje robić teraz w php?
Miang
@AnyKtokolwiek: zaciekawiło mnie i szukałam coraz więcej podczas rozwijania się dyskusji ;)
AD
  • Rejestracja:prawie 8 lat
  • Ostatnio:prawie 2 lata
  • Postów:403
0

więc co to robi ?

<form method="post" action="index.php?action=add&amp;id=&lt;?php echo[" id"];="id&quot;];" ?="?">">
ccwrc
Wysyła formularz metodą POST na adres "index.php?action=add&id=3" gdzie 3 to przykładowa liczba pobrana z jakiejś tablicy, która jest obecna w skrypcie.
CH
AK
"Jasiu, do czego jest dana rura?"- "Dana rura jest do niczego" @chomikowski +1
TR
  • Rejestracja:ponad 7 lat
  • Ostatnio:26 dni
  • Lokalizacja:700m n.p.m.
  • Postów:677
0

To wysyła dane POST na adres:

index.php?action=add&id=Array


DRY > SOLID (nie bierz tego zbyt poważnie)
CH
  • Rejestracja:ponad 4 lata
  • Ostatnio:prawie 2 lata
  • Postów:449
0

poszedlem o krok dalej

Kopiuj
echo ["id"=>1]["id"];

daje wynik 1 xD

Miang
  • Rejestracja:prawie 7 lat
  • Ostatnio:minuta
  • Postów:1659
0

@chomikowski: to spróbuj echo [1][0];


dzisiaj programiści uwielbiają przepisywać kod z jednego języka do drugiego, tylko po to by z projektem nadal stać w miejscu ale na nowej technologii
CH
Coś podejrzane bo też daje wynik 1. php sie chyba zmówiło i zawsze daje wynik 1
Miang
@serek dał wytłumaczenie, ale w ogóle weź se odpal interaktywnie php i poeksperymentuj to sam zobaczysz
TR
  • Rejestracja:ponad 7 lat
  • Ostatnio:26 dni
  • Lokalizacja:700m n.p.m.
  • Postów:677
0

Tak w ogóle to o co tutaj chodzi?


DRY > SOLID (nie bierz tego zbyt poważnie)
serek
  • Rejestracja:około 11 lat
  • Ostatnio:2 minuty
  • Postów:1470
2
chomikowski napisał(a):

poszedlem o krok dalej

Kopiuj
echo ["id"=>1]["id"];

daje wynik 1 xD

No i prawidłowo. Wypisujesz element o kluczu id z tablicy. Za pierwszym razem nawiasy służą do deklaracji tablicy (short syntax), a potem nawiasy służą do pobrania elementu o danym kluczu.

CH
  • Rejestracja:ponad 4 lata
  • Ostatnio:prawie 2 lata
  • Postów:449
5

Próbujemy doprowadzić do tego by php miało samoświadomość

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:3 minuty
  • Lokalizacja:Laska, z Polski
  • Postów:10045
1
adamon napisał(a):

Ktoś może mi pomóc i wyjaśnić co ta linijka kodu robi?

Kopiuj
<form method="post" action="index.php?action=add&id=<?php echo["id"]; ?>">

</form>

Szczerze mówiąc ciężko powiedzieć. Nie ma to sensu, to na pewno.

Gdybym miał się domyślić intencji autora, to albo chciał dodać parametry (i zrobił to w nieodpowiedni sposób), albo chciał skorzystać z metody POST, tak żeby parametry był przekazane przez adres (może chciał strzelić do Restowego API, które przyjmuje POST z parametrami, i nie był w stanie tego zrobić formularzem HTML)?

Może powiedz gdzie ją znalazłeś. Z większym kontekstem będziemy mogli się domyślić co ona miała robić.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)