PHP i HTML dużo oddziałują: PHP może generować HTML, a HTML może przekazywać informacje do PHP. Zanim przeczytasz Często zadawane pytania, musisz nauczyć się pobierać zmienne z zewnętrznych źródeł. Strona podręcznika ekranowego na ten temat zawiera również wiele przykładów.

jakiego kodowania/dekodowania potrzebuję, gdy przekazuję wartość przez formularz/URL?

istnieje kilka etapów, dla których kodowanie jest ważne., Zakładając, że masz łańcuch $data, który zawiera łańcuch, który chcesz przekazać w niekodowany sposób, są to odpowiednie etapy:

  • interpretacja HTML. Aby określić losowy ciąg znaków, musisz umieścić go w podwójnych cudzysłowach, a htmlspecialchars () całą wartość.

  • URL: URL składa się z kilku części. Jeśli chcesz, aby Twoje dane były interpretowane jako jedna pozycja, musisz zakodować je za pomocą metody urlencode().,

przykład #1 ukryty element formularza HTML

<?php
echo '<input type="hidden" value="' . htmlspecialchars($data) . '" />'."\n";
?>

Uwaga: błędna jest funkcja urlencode() $data, ponieważ to przeglądarki są odpowiedzialne za urlencode() dane. Wszystkie popularne przeglądarki robią to poprawnie. Zauważ, że stanie się to niezależnie od metody (np. GET lub POST). Zauważysz to tylko w przypadku żądania GET, ponieważ żądania POST są zwykle ukryte.,

Uwaga: dane są wyświetlane w przeglądarce zgodnie z przeznaczeniem, ponieważ przeglądarka zinterpretuje unikalne symbole HTML. Po przesłaniu, za pośrednictwem GET lub POST, dane zostaną zakodowane przez przeglądarkę do przesyłania i bezpośrednio zakodowane przez PHP. Więc w końcu, nie musisz robić żadnego urlencoding/urldecoding siebie, wszystko jest obsługiwane automagicznie.,

przykład #3 W URL

<?php
echo '<a href="' . htmlspecialchars("/nextpage.php?stage=23&data=" .
urlencode($data)) . '">'."\n";
?>

Uwaga: w rzeczywistości udajesz HTML GET request, dlatego konieczne jest ręczne urlencode() danych.

uwaga: musisz htmlspecialchars() cały adres URL, ponieważ adres URL występuje jako wartość atrybutu HTML. W takim przypadku przeglądarka najpierw un-htmlspecialchars () wartość, a następnie przekazać URL dalej. PHP zrozumie poprawnie adres URL, ponieważ urlencode () d dane., Zauważysz, że & w URL jest zastąpiony przez &amp;. Chociaż większość przeglądarek odzyska, jeśli o tym zapomnisz, nie zawsze jest to możliwe. Więc nawet jeśli adres URL nie jest dynamiczny, musisz htmlspecialchars () adres URL.

próbuję użyć znacznika<input type=”image”>, ale $foo.x i $foo.zmienne y nie są dostępne. $_GET też nie istnieje. Gdzie oni są?,

podczas wysyłania formularza możliwe jest użycie obrazu zamiast standardowego przycisku Wyślij z tagiem:

<input type="image" src="https://www.php.net/manual/en/faq.html.phpimage.gif" name="foo" />

gdy użytkownik kliknie gdzieś na obrazek, towarzyszący mu formularz zostanie przesłany na serwer z dwiema dodatkowymi zmiennymi: foo.x i foo.y.

bo foo.x i foo.y spowoduje niepoprawne nazwy zmiennych w PHP, są one automatycznie konwertowane na foo_x i foo_y. oznacza to, że okresy są zastępowane podkreślnikami., Tak więc uzyskasz dostęp do tych zmiennych, jak do wszystkich innych opisanych w sekcji pobierania zmiennych ze źródeł zewnętrznych. Na przykład $_GET.

Uwaga:

spacje w nazwach zmiennych żądań są konwertowane na podkreślniki.

Jak utworzyć tablice w HTML<formularz>?,

aby uzyskać <formularz> wynik przesłany jako tablica do twojego skryptu PHP, podaj nazwę <wejście>, <wybierz> lub <textarea> elementy takie jak:

<input name="MyArray" /><input name="MyArray" /><input name="MyArray" /><input name="MyArray" />

zwróć uwagę na nawiasy kwadratowe po nazwie zmiennej, co czyni ją tablicą., Można grupować elementy w różne tablice, przypisując różne elementy o tej samej nazwie:

<input name="MyArray" /><input name="MyArray" /><input name="MyOtherArray" /><input name="MyOtherArray" />

to tworzy dwie tablice, MyArray i MyOtherArray, które są wysyłane do skryptu PHP. Możliwe jest również przypisanie określonych kluczy do tablic:

<input name="AnotherArray" /><input name="AnotherArray" /><input name="AnotherArray" /><input name="AnotherArray" />

tablica AnotherArray będzie teraz zawierać klucze 0, 1, e-mail i telefon.

Uwaga:

podanie kluczy tablicy jest opcjonalne w HTML., Jeśli nie podasz kluczy, tablica zostanie wypełniona w kolejności, w jakiej elementy pojawią się w formularzu. Nasz pierwszy przykład będzie zawierał klucze 0, 1, 2 i 3.

patrz również funkcje tablicowe i zmienne ze źródeł zewnętrznych.

Jak uzyskać wszystkie wyniki za pomocą znacznika select multiple HTML?

Wybierz wiele znaczników w konstrukcji HTML pozwala użytkownikom wybrać wiele elementów z listy. Te elementy są następnie przekazywane do obsługi akcji dla formularza. Problem polega na tym, że wszystkie są przekazywane z tą samą nazwą widżetu. Tj.,

<select name="var" multiple="yes">

każda wybrana opcja zostanie wyświetlona jako:

var=option1var=option2var=option3 

każda opcja nadpisze zawartość poprzedniej zmiennej $var. Rozwiązaniem jest użycie funkcji PHP „array from form element”. Należy użyć następującego polecenia:

<select name="var" multiple="yes">

to polecenie mówi PHP, aby traktował $var jako tablicę, a każde przypisanie wartości do var dodaje element do tablicy. Pierwszy element staje się $var, następny $var, itd., Funkcja count() może być używana do określenia, ile opcji zostało wybranych, a funkcja sort() może być używana do sortowania tablicy opcji, jeśli jest to konieczne.

zauważ, że jeśli używasz JavaScript, na nazwie elementu może powodować problemy przy próbie odwołania się do elementu po nazwie. Zamiast tego użyj numerycznego ID elementu, lub załącz nazwę zmiennej w pojedynczych cudzysłowach i użyj go jako indeksu do tablicy elementów, na przykład:

variable = document.forms.elements']; 

Jak mogę przekazać zmienną z Javascript do PHP?,

ponieważ Javascript jest (zwykle) technologią po stronie klienta, a PHP (Zwykle) technologią po stronie serwera, a ponieważ HTTP jest protokołem „bezstanowym”, oba języki nie mogą bezpośrednio współdzielić zmiennych.

możliwe jest jednak przekazywanie zmiennych między tymi dwoma. Jednym ze sposobów osiągnięcia tego jest wygenerowanie kodu Javascript za pomocą PHP, a przeglądarka sama się odświeża, przekazując określone zmienne z powrotem do skryptu PHP. Poniższy przykład pokazuje dokładnie, jak to zrobić-pozwala kodowi PHP przechwytywać wysokość i szerokość ekranu, co zwykle jest możliwe tylko po stronie klienta.,

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *