associar um código php um botão (form)

Sendo assim, acho que isto faz o que pretendes. senão explica melhor o que queres realmente. ;)

PHP:
<?php
	if (isset($_POST['button']) && !strcmp($_POST['button'],"")){
		mysql_query("DROP table alunosso");
		unset($_POST['button']);
		echo "<script type='text/javascript' language='javascript'>window.location.reload();</script>";
	}
?>
<form method="post" action="teste.php">
	<button type="submit" name="button" value="button">Button</button>
	<button type="submit" name="clear" value="clear">Clear</button>
</form>

Cumps
 
Podes usar na mesma as short open tags, basta ires ao ficheiro php.ini, procurares a linha:
Código:
; - short_open_tag = Off
e alterares para:
Código:
short_open_tag = On
Bom conselho :)

Mas a página é recargada quando tu fazes click. Precisas que seja recarregada novamente?
É o seguinte. Eu tenho a tabela alunosso na pagina SO.php. E tenho igualmente na mesma página o botão do qual aqui se falou na mesmo página. E quando eu carrego no botão, ok ele apaga a tabela, no entanto no ecrâ a tabela ainda "existe", sendo necessário actualizar a página manualmente para a tabela "desaparecer" e dar a informação "não existem alunos registados".

Código:
[LEFT]       [COLOR=#000000] [COLOR=#0000bb]<?php
    [/COLOR][COLOR=#007700]if (isset([/COLOR][COLOR=#0000bb]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'button'[/COLOR][COLOR=#007700]]) && ![/COLOR][COLOR=#0000bb]strcmp[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'button'[/COLOR][COLOR=#007700]],[/COLOR][COLOR=#dd0000]""[/COLOR][COLOR=#007700])){
        [/COLOR][COLOR=#0000bb]mysql_query[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"DROP table alunosso"[/COLOR][COLOR=#007700]);
        unset([/COLOR][COLOR=#0000bb]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'button'[/COLOR][COLOR=#007700]]);
        echo [/COLOR][COLOR=#dd0000]"<script type='text/javascript' language='javascript'>window.location.reload();</script>"[/COLOR][COLOR=#007700];
    }
[/COLOR][COLOR=#0000bb]?>
[/COLOR]<form method="post" action="teste.php">
    <button type="submit" name="button" value="button">Button</button>
    <button type="submit" name="clear" value="clear">Clear</button>
</form>[/COLOR]               [/LEFT]
Eu uso o script em javascript que aí está para quando fazer o back button e nessa situação funciona. No entanto, assim, não funciona :(
 
No so.php:
PHP:
if (!isset($_POST['button']) {
   echo "Aqui está a tabela";
   mostra a tabela
}
else {
    apaga a tabela!
    echo "Apaguei a tabela";
}

 
Nem é preciso isso, fazes o script no topo da página e apenas mostras os formulários / tabelas etc, depois dos dados todos tratados.
PHP:
1º recebe a variavel e apaga a tabela
2º preparas uma variavel que vai mostrar ou não a tabela consoante o resultado anterior
3º mostras o que queres mostrar ao user
 
Bom conselho :)

É o seguinte. Eu tenho a tabela alunosso na pagina SO.php. E tenho igualmente na mesma página o botão do qual aqui se falou na mesmo página. E quando eu carrego no botão, ok ele apaga a tabela, no entanto no ecrâ a tabela ainda "existe", sendo necessário actualizar a página manualmente para a tabela "desaparecer" e dar a informação "não existem alunos registados".

Código:
[LEFT]       [COLOR=#000000] [COLOR=#0000bb]<?php
    [/COLOR][COLOR=#007700]if (isset([/COLOR][COLOR=#0000bb]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'button'[/COLOR][COLOR=#007700]]) && ![/COLOR][COLOR=#0000bb]strcmp[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'button'[/COLOR][COLOR=#007700]],[/COLOR][COLOR=#dd0000]""[/COLOR][COLOR=#007700])){
        [/COLOR][COLOR=#0000bb]mysql_query[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"DROP table alunosso"[/COLOR][COLOR=#007700]);
        unset([/COLOR][COLOR=#0000bb]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'button'[/COLOR][COLOR=#007700]]);
        echo [/COLOR][COLOR=#dd0000]"<script type='text/javascript' language='javascript'>window.location.reload();</script>"[/COLOR][COLOR=#007700];
    }
[/COLOR][COLOR=#0000bb]?>
[/COLOR]<form method="post" action="teste.php">
    <button type="submit" name="button" value="button">Button</button>
    <button type="submit" name="clear" value="clear">Clear</button>
</form>[/COLOR]               [/LEFT]
Eu uso o script em javascript que aí está para quando fazer o back button e nessa situação funciona. No entanto, assim, não funciona :(

Porque não usares ajax?? Tens a listagem no html, o botão envia os dados ao servidor, processas o php e respondes para um id, ou a listagem caso exista ou a informação de dados registados.
 
Back
Topo