Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tudo bem Galera ?
Sou novo no fórum, mas já acompanho à algum tempo os Tópicos. Sempre me ajudou muito.
Estou com um problema aparentemente simples, mas não consegui achar o erro.
Esse código abaixo executa, mas o Javascript não esta dando o Confirm, e também não esta redirecionando para o link (window.parent.location='cad_cliente.php';).
$executar = mysql_query("INSERT INTO clientes(nome_cliente, endereco_cliente, numero_cliente, bairro_cliente, cidade_cliente, estado_cliente, cpf_cliente, rg_cliente, telefone_cliente, celular_cliente, carro_cliente, placa_cliente, data_cad_cliente, hora_cad_cliente, inativo_cliente) VALUES ('$nome', '$end', '$numero', '$bairro', '$cidade', '$estado', '$cpf', '$rg', '$telefone', '$celular', '$carro', '$placa', '$data', '$hora', '$inativo')") or die(mysql_error());
//$msg_cliente ="Cliente salvo com sucesso";
echo"<script>
if(confirm('Deseja Gravar o Cliente ?')){
alert('Gravado com Sucesso !!');
** <?php echo '$executar' ?>;**}else{
alert('Cancelado!');
}
</script>";
Se alguém puder me ajudar. Eu ja agradeço desde já.
Qualquer coisa, se precisar eu posto o restante do código.
Obrigado.
Vish cara, isso ai nãoo vai pegar, sabe pq? O php ele roda direto no servidor e então envia os dados para o usuario. Já o javascript ele roda direto no cliente, da uma olhada em um tutorial de ajax.
Então, mas estava funcionando perfeitamente.
Acontece que eu mudei o meu código.
Antes no (**$executar = mysql_query("INSERT INTO**)
Eu estava passando os **VALUES assim >> ( ****'**$_POST[nome_cli];' )
Estava dando erro de variável constante não declarada.
Ai no começo do código eu deixei assim:
**$codigo = @$_POST[cod_cli];**
**$nome = @$_POST[nome_cli]; $estado = @$_POST[estado_cli]; $carro = @$_POST[modelo_carro_cli];**
**$end = @$_POST[end_cli]; $cpf = @$_POST[cpf_cli]; $placa = @$_POST[placa_carro_cli];**
**$numero = @$_POST[numero_cli]; $rg = @$_POST[rg_cli]; $inativo = @$_POST[inativo_cli];**
**$bairro = @$_POST[bairro_cli]; $telefone = @$_POST[telefone_cli];**
**$cidade = @$_POST[cidade_cli]; $celular = @$_POST[celular_cli];**
Ai no VALUE do INSERT eu passei as variáveis.
Depois disso parou de aparecer o JS pra confirmar o cadastro.
E também não redireciona a página. (window.parent.location='cad_cliente.php';). Ou seja, tudo que é JS não esta mais funcionando.
Só que os dados são salvos perfeitamente no banco.
Isso que eu achei estranho.
Agradeço pela a tenção.
Então, mas estava funcionando perfeitamente.
Simplesmente impossível, isso contraria a regra básica do server side e client side...
Entendi, mas o que eu não entendo, é porque eu consigo fazer isso:
echo "<script>alert('O CAMPO CODIGO DEVE ESTAR VAZIO'); history.back();</script>";
E isso não vai:
echo"<script>
if(confirm('Deseja Gravar o Cliente ?')){
alert('Gravado com Sucesso !!');
** <?php echo '$executar' ?>;**Se eu consigo dar um "Alert", era pra ir o "Confirm" também.
Vou continuar estudando uma saida nessa forma.
Caso não consiga mesmo. O que voce me sugere fazer ?
Obrigado.
Se você usar o debug do próprio navegador vai ver que existe um erro de sintaxe:
Uncaught SyntaxError: Unexpected token <
O erro está nesta linha:
<?php echo '$executar' ?>;
Por óbvio você não pode fazer isto dentro de uma tag <script>...
Isso que você quer fazer simplesmente não existe, quando entrar no if do alert já terá sido executado a muito tempo... se deseja executar a query apenas depois da confirmação use ajax ou redirecione para a página onde a ação irá ocorrer.