3
I’m having a hard time solving a problem.
I have an application in PHP that needs to fill some sessions
I’m using this method to send.
<script src="localhost:8080/painel_cop_mdu/js/jquery-3.1.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
function carregaFiltro(){
$('#filtrar').load('filtros.php');
}
function addFiltro(botao,selecao) {
$.ajax({
method: "post",
url: "filtrando.php",
data: {botao : botao,selecao : selecao},
success: function(data){
alert("tudo ocorreu bem!");
},
error: function() {
alert("Ocorreu um erro ao carregar os dados.");
}
});
}
function pegaSelect(nomedoselect){
var options = document.getElementById(nomedoselect).getElementsByTagName("option");
var texto = "";
for(var i=0;i<options.length;i++){
if(options[i].selected){
texto = texto+","+options[i].value;
}
}
return texto;
}
</script>
<?php
echo $_SESSION["condicaoRegional"];
?>
</div>
<div id="combos">
<form action="#" method="post" enctype="multipart/form-data>
<div id="dCidades">
<label>Selecione uma regional</label>
<select id="cidades" name="cidades[]" size="3" multiple>
<?php
regionais();
?>
</select>
<button id="filtrarCidade" onClick="addFiltro('filtrarCidade',pegaSelect('cidades'))" >filtrarNatureza</button>
</div>
<div id="dGrupos">
<label for="">Seelecione um grupo</label>
<td><select id="grupos" name="grupos[]" size="3" multiple>
<?php
grupos($_SESSION["condicaoRegional"]);
?>
</select>
<input type="submit" name="filtrarGrupo" value="filtrarGrupo" onClick="carregaFiltro"/>
</div>
<div id="dSub">
<label for="">Filtrar por sub cluster</label>
<select id="sub" name="sub[]" size="3" multiple>
<?php
sub_cluster($_SESSION["condicaoGrupo"]);
?>
</select>
<input type="submit" name="filtrarSub" value="filtrarSub" onClick="carregaFiltro" />
</div>
<div id="dNatureza">
<label for="">Filtrar por Natureza</label>
<select id="natureza" name="natureza[]" size="3" multiple>
<?php
cidades($_SESSION["condicaoSubCluster"]);
?>
</select>
<button id="filtrarNatureza" onClick="addFiltro('filtrarNatureza',pegaSelect('natureza'))" >filtrarNatureza</button>
</div>
<input type="submit" name="filtrar" value="filtrar" />
<input type="submit" name="limpar filtros" value="limpar filtros" />
</form>
</div>
and in my PHP
<?php
session_start();
include('conexao.php');
$id = $_POST['botao'];
$texto = $_POST['selecao'];
$sql = "insert into obs_painel values (9999,'".$texto."');";
$conn->query($sql);
$_SESSION["condicaoRegional"] = $_POST['selecao'];
?>
However the session is not filled and also does not return any error.
Edit
I made a change to the file filtering.php and put it to make a Insert in the bank and the same does not. Apparently he is not accessing the page.
I put the complete code of the two pages
@Danielomine I check so much for
select
which loads after that function how much when I have the session contents printed– Diego Ferreira de Oliveira
Are you sure you’re calling this page ? Open the browser console, go to the XHR tab. Click on the button that calls this function and see if the page is invoked.
– Diego Souza
@Gumball he only carries his own page and style sheet
– Diego Ferreira de Oliveira
@Danielomine I put the full code of the two pages but the bank issue is not even relevant I did just to make sure he was not calling the page
– Diego Ferreira de Oliveira
In this passage
alert("tudo ocorreu bem!");
, modify it like this:console.log("tudo ocorreu bem!", data);
– Daniel Omine
And in filtering.php, in the first line, before the
session_start();
, put thisecho 'OK'; exit;
. Give an F5 on the form page and send the ajax request. It should show in the browser console everythingocorreu bem! OK
. This is just for debugging and debugging. Understand debugging logic and you can find the problem.– Daniel Omine
@Danielomine sorry for the delay in answering, I did the test anyway I could not get any answer, as it was a project that required a certain urgency I ended up remaking it in Asp.net where I had a larger domain but even I will continue testing to see if I can find the problem.
– Diego Ferreira de Oliveira