Utworzyłem stronę o nazwie functioncalling.php, która zawiera dwa przyciski: Prześlij i Wstaw . Jako początkujący w PHP chcę sprawdzić, która funkcja jest wykonywana po kliknięciu przycisku. Chcę, aby wynik znajdował się na tej samej stronie. Stworzyłem więc dwie funkcje, po jednej dla każdego przycisku. Kod źródłowy funkcji functioncalling.php jest następujący:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
<form action="functioncalling.php">
<input type="text" name="txt" />
<input type="submit" name="insert" value="insert" onclick="insert()" />
<input type="submit" name="select" value="select" onclick="select()" />
</form>
<?php
function select(){
echo "The select function is called.";
}
function insert(){
echo "The insert function is called.";
}
?>
Problem polega na tym, że po kliknięciu któregokolwiek z przycisków nie otrzymuję żadnego wyniku.
Gdzie dokładnie się mylę?
Odpowiedzi:
Tak, potrzebujesz tutaj Ajax. Więcej informacji można znaleźć w poniższym kodzie.
Zmień swoje znaczniki w ten sposób
jQuery:
W ajax.php
źródło
Kliknięcia przycisków są po stronie klienta, podczas gdy PHP jest wykonywane po stronie serwera , ale możesz to osiągnąć za pomocą Ajax :
W Twoim pliku PHP:
źródło
Powinieneś wywołać przycisk na tej samej stronie iw sekcji PHP sprawdzić, czy przycisk został naciśnięty:
HTML:
PHP:
źródło
Nie możesz wywoływać funkcji PHP, takich jak kliknięcie przycisku z HTML. Ponieważ HTML jest po stronie klienta, podczas gdy PHP działa po stronie serwera.
Albo musisz użyć Ajax, albo zrobić to tak, jak w poniższym fragmencie kodu.
Musisz opublikować dane swojego formularza, a następnie sprawdzić, czy odpowiedni przycisk jest klikany.
źródło
Aby wyświetlić wiadomość $ w swoim wejściu:
Aby użyć functioncalling.php jako pliku zewnętrznego, musisz w jakiś sposób dołączyć go do swojego dokumentu HTML.
źródło
Spróbuj tego:
źródło
Możesz pisać w ten sposób w JavaScript lub jQuery Ajax i wywołać plik
źródło
onclick
Atrybut w HTML wywołuje funkcje JavaScript, a nie funkcji PHP.źródło
Utknąłem w tym i rozwiązałem to z ukrytym polem:
W
value
możesz dodać wszystko, co chcesz.W test.php możesz pobrać wartość poprzez
$_Post[ID]
.źródło
ID
być cytowane w$_Post[ID]
? Czy PHP obsługuje nagie słowa, tak jak w Perlu?Użyj wywołania rekurencyjnego, w którym akcja formularza wywołuje samą siebie. Następnie dodaj kod PHP w tej samej formie, aby go złapać. W
foo.php
formularzu będzie zadzwonićfoo.php
napost
Po wysłaniu formularz wywoła sam siebie (
foo.php
) i możesz go przechwycić poprzez predefiniowaną zmienną PHP,$_SERVER
jak pokazano w kodzie poniżejźródło
Oto przykład, którego możesz użyć:
źródło
Możesz to po prostu zrobić. W php możesz określić kliknięcie przycisku za pomocą
Dlatego powinieneś zmodyfikować swój kod w następujący sposób:
źródło