Ir para conteúdo

POWERED BY:

Arquivado

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

Eduardo Villa

[Resolvido] Alterando uma Função

Recommended Posts

Salve galera IMASTER.

 

Estou com um probelma, tenho um formulario que na ACTION chama uma AÇÃO que por fim para salvar no banco de dados envia para uma função,

o problema que não tenho layout na página da função e ao acionar o ALERT, o fundo fica branco... teria como fazer com que o ALERT apareça na página do form.

 

FORMULÁRIO:

<form method="post" action="acoes.php">
<input type="hidden" name="quem" value="cad_clientes" />
<input>
</form>

 

AÇÃO:

include "conecta.php";
include "funcoes.php";
$quem = $_REQUEST['quem'];

//********************************************************************************************************************************
// CADASTRO, EDIÇÃO e EXCLUSÃO - CLIENTES ****************************************************************************************
if($quem == "cad_clientes"){
$nome = $_POST['nome'];
$razaosocial = $_POST['razaosocial'];
$pessoa = $_POST['pessoa'];
$cnpj = $_POST['cnpj'];
$endereco = $_POST['endereco'];
$bairro = $_POST['bairro'];
$cidade = $_POST['cidade'];
$estado = $_POST['estado'];


$tabela_ = "clientes";
$campos_ = "nome, razaosocial, pessoa, cnpj, endereco, bairro, cidade, estado, cep, email, fone1, fone2, fone3, celular, enderecoentrega, cidadeentrega, estadoentrega, cepentrega, emailentrega, datacadastramento, horacadastramento";
$valores_ = "'$nome', '$razaosocial', '$pessoa', '$cnpj', '$endereco', '$bairro', '$cidade', '$estado', '$cep', '$email', '$fone1', '$fone2', '$fone3', '$celular', '$enderecoentrega', '$cidadeentrega', '$estadoentrega', '$cepentrega', '$emailentrega', '$datacadastramento', '$horacadastramento'";

inserir($tabela_, $campos_, $valores_);
}

 

FUNÇÃO:

function inserir($tabela, $campos, $valores ){
 $consulta_inserir = "INSERT INTO $tabela ($campos) VALUES ($valores)";//monto a consulta SQL
 $envia = mysql_query($consulta_inserir) or die (mysql_error());
 if($envia){
   echo "<script type=\"text/javascript\">alert(\"Dados cadastrados com sucesso!\"); history.go(-1); </script>";//alerta caso insira com sucesso
 }else{
   echo "<script type=\"text/javascript\">alert(\"Não foi possível cadastrar os dados!\"); history.go(-1); </script>";//se der pau, tb alerta
 }
}

 

 

Valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom...faça assim

 

vai na pagina do form coloca na action do form isso,

 

 <?php echo $_SERVER['PHP_SELF']; ?>

 

e coloca todo o php da pagina de acao na pagina do form antes do html

 

beleza, e coloca esse php dentro de uma condicional para q nao envie o form em branco...

 

detalhe o seu alert fica em branco pq você nao coloca redirecionamento, com php você usa

 

header('location:pagina.html');

 

com js

 

window.location='pagina.html';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Igor.php

Coloquei assim, mas mesmo assim a ALERT continua aparecendo em uma página sem LAYOUT...

<?php
include "inc/conecta.php";
include "inc/funcoes.php";
$quem = $_REQUEST['quem'];

//********************************************************************************************************************************
// CADASTRO, EDIÇÃO e EXCLUSÃO - CLIENTES ****************************************************************************************
if($quem == "cad_clientes"){
	$nome = $_POST['nome'];
	$razaosocial = $_POST['razaosocial'];
	$pessoa = $_POST['pessoa'];
	$cnpj = $_POST['cnpj'];
	$endereco = $_POST['endereco'];
	$bairro = $_POST['bairro'];
	$cidade = $_POST['cidade'];
	$estado = $_POST['estado'];
	$cep = $_POST['cep'];
	$email = $_POST['email'];
	$fone1 = $_POST['fone1'];
	$fone2 = $_POST['fone2'];
	$fone3 = $_POST['fone3'];
	$celular = $_POST['celular'];
	$tatus = $_POST['status'];
	$enderecoentrega = $_POST['enderecoentrega'];
	$cidadeentrega = $_POST['cidadeentrega'];
	$estadoentrega = $_POST['estadoentrega'];
	$cepentrega = $_POST['cepentrega'];
	$emailentrega = $_POST['emailentrega'];
	$datacadastramento = date('Y-m-d');
	$horacadastramento = strftime("%H:%M:%S");
	
	$tabela_ = "clientes";
	$campos_ = "nome, razaosocial, pessoa, cnpj, endereco, bairro, cidade, estado, cep, email, fone1, fone2, fone3, celular, enderecoentrega, cidadeentrega, estadoentrega, cepentrega, emailentrega, status, datacadastramento, horacadastramento";
	$valores_ = "'$nome', '$razaosocial', '$pessoa', '$cnpj', '$endereco', '$bairro', '$cidade', '$estado', '$cep', '$email', '$fone1', '$fone2', '$fone3', '$celular', '$enderecoentrega', '$cidadeentrega', '$estadoentrega', '$cepentrega', '$emailentrega', '$status', '$datacadastramento', '$horacadastramento'";
	
	inserir($tabela_, $campos_, $valores_);
}
?>

inc/funcoes.php

function inserir($tabela, $campos, $valores ){
	$consulta_inserir = "INSERT INTO $tabela ($campos) VALUES ($valores)";//monto a consulta SQL
	$envia = mysql_query($consulta_inserir) or die (mysql_error());
	if($envia){
		echo "<script type=\"text/javascript\"> history.go(-1); alert(\"Dados cadastrados com sucesso!\");</script>";//alerta caso insira com sucesso
	}
	else{
		echo "<script type=\"text/javascript\"> history.go(-1); alert(\"Ocorreu um erro! Os dados não foram cadastrados.\");</script>";//se der pau, tb alerta
	}
}

 

Preciso fazer com que o ALERT apareça no 1º CODE e não neste que esta ^, entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muda o formulário para:

<form method="post" action="acoes.php" target="act">
<input type="hidden" name="quem" value="cad_clientes" />
<input>
</form>
E adiciona o seguinte iframe abaixo do formulário:

<iframe id="act" name="act" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe>
Veja se funciona. Caso funcionar, não vai mais precisar do history.go(-1) também.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valew NWO_Magus

Deu tudo certo cara...

Mas tem como voltar o formulário em branco depois de apertar o OK do ALERT?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adiciona um id aqui:

<form method="post" action="acoes.php" target="act" id="form">
E depois junto lá com o alert():

window.top.window.document.getElementById('form').reset();

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.