Eu criei uma página chamada functioncalling.php que contém dois botões, Enviar e Inserir . Como iniciante em PHP, quero testar qual função é executada quando um botão é clicado. Quero que a saída apareça na mesma página. Então eu criei duas funções, uma para cada botão. O código fonte do functioncalling.php é o seguinte:
<!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.";
}
?>
O problema aqui é que não recebo nenhuma saída depois de clicar em qualquer um dos botões.
Onde exatamente estou errado?
Respostas:
Sim, você precisa do Ajax aqui. Consulte o código abaixo para obter mais detalhes.
Alterar sua marcação como esta
jQuery:
No ajax.php
fonte
Os cliques no botão são do lado do cliente, enquanto o PHP é executado no servidor , mas você pode fazer isso usando o Ajax :
No seu arquivo PHP:
fonte
Você deve fazer com que o botão chame a mesma página e, na seção PHP, verifique se o botão foi pressionado:
HTML:
PHP:
fonte
Você não pode chamar funções PHP como clicar em um botão do HTML. Porque o HTML está no lado do cliente enquanto o PHP executa no lado do servidor.
Você precisa usar algum Ajax ou fazê-lo como no snippet de código abaixo.
Você deve postar os dados do formulário e, em seguida, verificar o botão apropriado que é clicado.
fonte
Para mostrar $ message em sua entrada:
Para usar o functioncalling.php como um arquivo externo, você deve incluí-lo de alguma forma no seu documento HTML.
fonte
Tente o seguinte:
fonte
Você pode escrever assim em JavaScript ou jQuery Ajax e chamar o arquivo
fonte
O
onclick
atributo em HTML chama funções JavaScript, não funções PHP.fonte
Eu estava preso nisso e o resolvi com um campo oculto:
Em
value
você pode adicionar o que você deseja adicionar.No test.php, você pode recuperar o valor
$_Post[ID]
.fonte
ID
ser citado$_Post[ID]
? O PHP suporta palavras simples, como no Perl?Use uma chamada recursiva onde a ação do formulário se chama. Em seguida, adicione o código PHP da mesma forma para capturá-lo. Em
foo.php
seu formulário vai chamarfoo.php
empost
Depois que o formulário for enviado, ele se chamará (
foo.php
) e você poderá obtê-lo através da variável predefinida do PHP,$_SERVER
conforme mostrado no código abaixofonte
Aqui está um exemplo que você pode usar:
fonte
Você pode simplesmente fazer isso. No php, você pode determinar o clique no botão usando
Portanto, você deve modificar seu código da seguinte maneira:
fonte