Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dário Cardoso

[Resolvido]  com formulário

Recommended Posts

Olá galera?!?!?!?

 

 

Sou iniciantisisisimo em PHP e estou fazendo meu primeiro sisteminha http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif ...

Me deparei com uma situação que não estou conseguindo resolver <_<

 

É o seguinte:

Tenho UM FORM (name=form1) com TRES TEXT (nome, email e fone) e TRES BUTOES (incluir, alterar e excluir).

no form o ACTION="cadastra_contato.php" está cadastrando que é uma beleza quando clico em no botao INCLUIR , porem, como faço pra ALTERAR ou EXCLUIR, pois o ACTION está apontando pro "cadastra_contato.php", tem como eu MUDAR o ACTION do form em tempo de excução, ou seja, ao clicar em ALTERAR eu passaria "altera_contato.php" em fez do "cadastra_contato.php", COMO FAÇO ISSO???? ALGUEM ME AJUDA POR FAVOR ???

 

Se alguem não entendeu bem postae

uso PHP5 e MYSQL http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo você podia fazer uma gambis tipo assim no botão

 

 

<input type="submit" name="botao" id="botao" value="incluir" />

<input type="submit" name="botao" id="botao" value="alterar" />

<input type="submit" name="botao" id="botao" value="excluir " />

 

 

o action deixa o mesmo ai tu faz assim

 

 

<?php

 

$botao = $_POST['botao']; /// nessa caso usei post tu ve como está fazendo

 

 

ai tu faz assim

 

if ($botao == 'incluir'){

$sql= "insert into .......

}

elseif ($botao == 'alterar'){

$sql = "update .......

}

else{

$sql = "delete.....

}

$query = mysql_query($sql) or die (mysql_error());

 

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso é interessante usar ajax.

Para alterar o action do form (não usado),pode fazer:

...
<script>
	function alteraAction(nomeForm, valorAction){
		eval(nomeForm + ".setAttribute('action', '"+ valorAction +"');");
	}
</script>
...
<input type="button" value="incluir" onClick="alteraAction('form1', 'incluir.php');form1.submit();">
<input type="button" value="excluir" onClick="alteraAction('form1', 'excluir.php');form1.submit();">
<input type="button" value="alterar" onClick="alteraAction('form1', 'alterar.php');form1.submit();">
...

Edit:

Ps: o jeito do amigo acima não vai funcionar corretamente.Jeitos semelhantes são interessantes (ao clicar em um dos botões,altera o valor de por exemplo um hidden chamado acao.No script que vai processar o formulário,'essa acao' é checada,e de acordo com ela x ou y é feito).

Compartilhar este post


Link para o post
Compartilhar em outros sites

eibon desculpe mas está equivocado pois vai funcionar sim pois antes qndo não sabia usar ajax cansei de fazer dakele jeito e isso aprendi num livro do juliano nie.... não lembro o nome dele completo entaum claro com ajax fica melhor mas como o cara pediu solução e não citou o ajax falei dakele jeito que vai funcionar perfeitamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hooligans...jeitos semelhantes funcionam,mas exatamente igual o seu não.Não importando se o botão foi clicado ou não,por ter o nome 'botao',vai ser pego pelo POST (que te retorna um array de strings,não uma string/array de chars).Sendo assim,sempre vai entrar no else,e um erro provavelmente vai ser gerado.

Um jeito semelhante e funcional seria:

...
<script>
	window.onload = function(){
		 var botoes = document.getElementsByName("botao");
		 var len = botoes.length;
		 var i;
		 for(i = 0;i <= len;i++){
			 botoes[i].setAttribute('onclick', 'mudaAcao(this.value);');
		 }
	}
	function mudaAcao(valor){
		document.getElementsByName("acao")[0].setAttribute('value', valor);
	}
</script>
...
<input type="submit" name="botao"  value="incluir" />
<input type="submit" name="botao"  value="alterar" />
<input type="submit" name="botao"  value="excluir " />
<input type="hidden" name="acao" />
...

Página php:

<?php
@$acao = $_POST['acao'];
if($acao == 'incluir'){
 //code
} else if($acao == 'alterar'){
 //code
} else if($acao == 'excluir'){
 //code
} else {
 //mensagem de erro
}
?>

Existem outras maneiras...

Compartilhar este post


Link para o post
Compartilhar em outros sites

está ai funcionando normal sem problema algum

 

form.php

<form id="form1" name="form1" method="post" action="form1.php">

<input name="nome" type="text" id="nome"/>

<input name="botao" id="botao" type="submit" value="inserir"/>
<input name="botao" id="botao" type="submit" value="alterar"/>
<input name="botao" id="botao" type="submit" value="deletar"/>
</form>

form1.php

<?php

$opcao = $_POST['botao'];

if ($opcao == "inserir"){
echo "inserir";
}
elseif($opcao == "alterar"){
echo "alterar";
}
else{
echo "deletar";
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.