Jump to content
Fórum Script Brasil
  • 0

Ajuda Com Select + $_POST


StoreDev
 Share

Question

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>



 

Edited by StoreDev
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...