Olá, estou criando um painel a qual eu carrego de uma Select os valores e salvo em SQL, porém, por algum motivo o método POST não está retornando os valores da SELECT, antigamente eu conseguia criar, porém, com um tempo parado, não estou conseguindo, criei códigos de testes para verificar o que o POST está retornando, e infelizmente, não retorna a SELECT, somente as INPUTS, segue abaixo o código completo.
<?php
require_once "class/Session.class.php";
require_once "class/Auth.class.php";
$auth = new Auth();
$session = new Session();
if(!$session->check()){
@header('Location: index');
}
if(!isset($_GET['id']) || empty($_GET['id'])){
@header('Location: users');
}
$id = (int)trim($_GET['id']);
if(isset($_GET['delete'])){//check if
if($session->check()){
if($auth->isAdmin($session->getUser())){
$sql = $auth->connection->prepare("SELECT * FROM users WHERE id=?;");
$sql->execute(array($id));
$d = $sql->fetch(PDO::FETCH_ASSOC);
$nome = $d['user'];
$sql = $auth->connection->prepare("DELETE FROM users WHERE id=?;");
$sql->execute(array($id));
print "<script>alert('Cliente: $nome foi deletado com sucesso.')</script>";
print "<meta http-equiv=\"refresh\" content=\"0;url=users.php\">";
die();
}else{
@header('Location: index');
}
}else{
@header('Location: index');
}
}
if(isset($_POST['senha']) && !empty($_POST['senha'])) {//Check if senha is set and isn't empty
if($session->check()){//check if is logged
if($auth->isAdmin($session->getUser())){//get username saved on hashedsession is admin
$pass = (String)trim($_POST['senha']);//get new password
$auth->changePass($id,$pass);//change password of User by ID
print "<script>alert('Senha alterada com Sucesso.')</script>";//Print Success Message
}else{
@header('Location: index');
}
}else{
@header('Location: index');
}
}
if(isset($_POST['update'])){
$body = "";
foreach ($_POST as $key => $value){
$body .= $key . ' -> ' . $value . '<br/>';
}
$ip = (String)trim($_POST['ip']);
$porta = (int)trim($_POST['porta']);
//$plugins = $_POST['listaPlugins']; //Quando tentei Pegar não retorna.
echo $body;//Função criada para printar os valores que estão vindo no $_POST, únicos valores que estão retornando são IP e PORTA
die();//Dando DIE somente para testar e ver o echo $body;
}
$sql = $auth->connection->prepare("SELECT * FROM users WHERE id=?;");
$sql->execute(array($id));
if($sql->rowCount() > 0){
$dados = $sql->fetch(PDO::FETCH_ASSOC);
$id = $dados['id'];
$nome = $dados['user'];
$ip = $dados['ip'];
$porta = $dados['port'];
$plugins = explode(" ",$dados['plugin']);
}else{
@header('Location: users');
}
?>
<!DOCTYPE html>
<html class='no-js' lang='en'>
<head>
<meta charset='utf-8'>
<meta content='IE=edge,chrome=1' http-equiv='X-UA-Compatible'>
<title>Licenças | Lab</title>
<meta content='' name='author'>
<meta content='' name='description'>
<meta content='' name='keywords'>
<link href="assets/stylesheets/application-a07755f5.css" rel="stylesheet" type="text/css" />
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.0/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<link href="assets/images/favicon.ico" rel="icon" type="image/ico" />
</head>
<body class='main page'>
<!-- Navbar -->
<?php include "@include_head.php"; ?>
<!-- Tools -->
<section id='tools'>
<ul class='breadcrumb' id='breadcrumb'>
<li class='title'>Administrativo</li>
<li>Clientes</li>
<li><?php echo $nome;?></li>
</ul>
<div id='toolbar'>
<div class='btn-group'>
<a class='btn' data-toggle='toolbar-tooltip' href='#' title='Alterar Senha de <?php echo $nome;?> ' onclick="return changePassWord();">
<i class='icon-building'></i>
</a>
</div>
</div>
</section>
<!-- Content -->
<div id='content'>
<div class='panel panel-default'>
<div class='panel-heading'>
<i class='icon-edit icon-large'></i>
Licenses
</div>
<div class='panel-body'>
<form method="POST" action="?id=<?php echo $id;?>">
<fieldset>
<legend>Dados</legend>
<div class='form-group'>
<label class='control-label'>IP</label>
<input class='form-control' name="ip" data-toggle='tooltip' value="<?php echo $ip;?>" title='IP da máquina onde a licença está ativa.'>
</div>
<div class='form-group'>
<label class='control-label'>Porta</label>
<input class='form-control' name="porta" data-toggle='tooltip' value="<?php echo $porta;?>" title='Porta do servidor onde a licença está ativa.'>
</div>
</fieldset>
<fieldset>
<legend>Plugins</legend>
<div class='form-group'>
<label class='control-label'>Plugins</label>
<select class='form-control' id="select" name="listaPlugins" multiple size="10"><!-- Já tentei setar o attributo name como array (name="listaPlugins[]") e também alterar o nome-->
<?php
if($plugins != null){
foreach($plugins as $t){
print "<option value=\"$t\">$t</option>";
}
}
?>
</select>
<br/>
<input class="form-control" id="addPlugin">
<button class="btn btn-default" onclick="return addOnList();">Adicionar Plugin</button>
<button class="btn btn-default" onclick="return removeSelected();">Deletar Plugin Selecionado</button>
</div>
</fieldset>
<div class='form-actions'>
<button class='btn btn-default' name="update" >Salvar Edições</button>
</div>
</form>
<form action="?id=<?php echo $id;?>" method="POST" id="ksks" name="alterarSenha">
<input id="senha" name="senha" type="hidden">
</form>
</div>
</div>
</div>
</div>
<!-- Footer -->
<!-- Javascripts -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" type="text/javascript"></script><script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" type="text/javascript"></script><script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js" type="text/javascript"></script><script src="assets/javascripts/application-985b892b.js" type="text/javascript"></script>
<script>
var select = document.getElementById('select');
function removeSelected(){
select.remove(select.selectedIndex);
return false;
}
function addOnList(){
var input = document.getElementById('addPlugin').value;
if(input == ""){
return false;
}
var option = document.createElement("option");
option.text = input;
option.value = input;
select.add(option);
document.getElementById('addPlugin').value = "";
return false;
}
function changePassWord(){
var input = prompt("Digite a Nova Senha para o Usuário <?php echo $nome;?>");
if(input != null && input != ""){
document.getElementById("senha").value = input;
document.getElementById("ksks").submit();
return true;
}
return false;
}
</script>
</body>
</html>
Pergunta
StoreDev
Olá, estou criando um painel a qual eu carrego de uma Select os valores e salvo em SQL, porém, por algum motivo o método POST não está retornando os valores da SELECT, antigamente eu conseguia criar, porém, com um tempo parado, não estou conseguindo, criei códigos de testes para verificar o que o POST está retornando, e infelizmente, não retorna a SELECT, somente as INPUTS, segue abaixo o código completo.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.