Fórum Variável vindo no JS não cai no IF do PHP #606375
01/11/2019
0
Opa pessoal, como vai? Então, eu estava precisando fazer com que o usuário confirme que ele quer fazer determinada ação, por isso optei por usar o "confirm" do JS.
Depois de capturado se o usuário confirmou ou não a ação, eu vou testar ela no PHP porém ela não cai no if, se eu printar a varável irá aparecer 1 ou 0, mas esses valores por algum motivo não caem no if.
Depois de capturado se o usuário confirmou ou não a ação, eu vou testar ela no PHP porém ela não cai no if, se eu printar a varável irá aparecer 1 ou 0, mas esses valores por algum motivo não caem no if.
<script type="text/javascript">
if (confirm('Deseja realmente deletar este registro?')) {
var confirma = 1;
} else {
var confirma = 0;
}
</script>
<title></title>
<?php
session_start();
if (!isset($_SESSION['logado'])) {
header("location: index.php");
session_destroy();
die();
}
$confirma = "<script>document.write(confirma)</script>";
if ($confirma == 1) {
include '../conexao.php';
$num = mysqli_real_escape_string($connect, $_POST['nbrNum']);
$nome = mysqli_real_escape_string($connect, $_POST['txtNome']);
$sql = "INSERT INTO candidatos(idCandidatos, nome) ";
$sql = $sql . " values('$num', '$nome')";
if (mysqli_query($connect, $sql)) {
print "Candidato adicionado com sucesso! <br>";
print "Clique <a href='painelAdmin.php'>Aqui</a> para voltar á tela administrativa.";
}else{
print "Houve uma falha ao adicionar um novo candidato. <br>";
print "Clique <a href='painelAdmin.php'>Aqui</a> para voltar á tela administrativa.";
}
}else{
print "<script type='text/javascript'>window.history.back();</script>";
}
?>
Gabriel Prata
Curtir tópico
+ 0
Responder
Post mais votado
22/11/2019
Olá Gabriel !! Tudo bem ??
Seguinte, isso que vc está querendo fazer não é possível... o PHP roda antes do JavaScript e do HTML e, além disso, em máquinas diferentes (PHP no servidor e JS/HTML no navegador que está no cliente), portanto não há como passar variáveis de um código para outro.
Faça a seguinte alteração no seu código e veja o real valor da sua variável $confirma na hora que o PHP roda...
Você irá entender porque o seu if nunca resolve a condição como verdadeira...
Para fazer o que vc está querendo fazer use AJAX.
Achei um POST no link abaixo que explica melhor sobre o que lhe falei...
Espero ter ajudado,
Abraço e bons códigos.
Seguinte, isso que vc está querendo fazer não é possível... o PHP roda antes do JavaScript e do HTML e, além disso, em máquinas diferentes (PHP no servidor e JS/HTML no navegador que está no cliente), portanto não há como passar variáveis de um código para outro.
Faça a seguinte alteração no seu código e veja o real valor da sua variável $confirma na hora que o PHP roda...
...
die();
}
$confirma = "<script>document.write(confirma)</script>";
var_dump($confirma);
if ($confirma == 1) {
include '../conexao.php';
$num = mysqli_real_escape_string($connect, $_POST['nbrNum']);
...
Você irá entender porque o seu if nunca resolve a condição como verdadeira...
Para fazer o que vc está querendo fazer use AJAX.
Achei um POST no link abaixo que explica melhor sobre o que lhe falei...
https://pt.stackoverflow.com/questions/25136/igualar-variável-php-a-uma-variável-javascript
Espero ter ajudado,
Abraço e bons códigos.
Jorge Pinto
Responder
Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)