Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde,
Meu código está com PHP, e Jquery..
Meu painel.php:
<?php
ob_start(); session_start();
require 'funcoes/banco/conexao.php';
require 'funcoes/login/login.php';
require 'funcoes/crud/crud.php';
logado('administrador');
if (isset($_GET['logout']) && $_GET['logout'] == 'true'):
session_destroy();
header("Location: index.php");
endif;
?>
<html>
<head>
<title>Painel Administrativo |</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="css/estilopainel.css" rel="stylesheet" media="screen">
</head>
<body>
<nav class="navbar navbar-default" role="navigation">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button>
<a class="navbar-brand" href="#">Painel Administrativio</a> </div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse navbar-ex1-collapse">
<p class="pull-right logout"> Bem Vindo: <?php echo $_SESSION['administrador']->nome_administrador ?>   <a href="?logout=true" class="btn btn-danger">Sair</a> </p>
</div>
<!-- /.navbar-collapse -->
</div>
</nav>
<div class="container">
<div class="row">
<div class="col-lg-9">
<?php
foreach ($_REQUEST as $___opt => $___val) {
$$___opt = $___val;
}
if(empty($page)) {
include("pages/noticias.php");
}
elseif(substr($page, 0, 4)=='http' or substr($page, 0, 1)=="/" or substr($page, 0, 1)==".")
{
echo '<font size="+2" color="#000">A página não existe. Por favor selecione uma página a partir do Menu Principal.</font>';
}
else{
include("pages/$page.php");
}
?>
</div>
<div class="col-lg-3">
<h2 class="linha">Menu</h2>
<div class="bloco">
<ul class="list-group">
<li class="list-group-item"> <span class="badge"><?php echo count(listarAdmin()); ?></span> Registros </li>
</ul>
<div class="list-group">
<a href="?page=noticias" class="list-group-item active">Noticias</a>
<a href="#" class="list-group-item"><font color="#FF0000">Enquete - [INATIVO]</font></a>
<a href="#" class="list-group-item"><font color="#FF0000">Eventos - [INATIVO]</font></a>
<a href="#" class="list-group-item"><font color="#FF0000">Parceiros - [INATIVO]</font></a>
<a href="?page=admgm" class="list-group-item">ADM's & GM's</a>
</div>
</div>
</div>
</div>
</div>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/painel.js"></script>
<script type="text/javascript" src="js/maskedinput.min.js"></script>
</body>
</html>
<?php
ob_end_flush();
?>
Vamos ao fomulário no arquivo painel.js chamado pelo meu painel.php(O QUAL JÁ ESTÁ COM enctype="multipart/form-data":
<?php
require '../funcoes/banco/conexao.php';
require '../funcoes/crud/crud.php';
$acao = filter_input(INPUT_POST, 'acao', FILTER_SANITIZE_STRING);
switch($acao) {
case 'form_editaradm':
$id = filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT);
$dados = pegaIdAdm($id);
?>
<div class="retorno"></div>
<script type="text/javascript">
$("#celular").mask("(99) 9 9999-9999");
</script>
<form action="" name="form_editaradmgm" method="POST" enctype="multipart/form-data">
<div class="form-group">
<label for="Nick">Nick</label>
<input type="text" name="nick" value="<?php echo $dados->nick_administrador; ?>" class="form-control" placeholder="Digite o Nick do Game" />
</div>
<div class="form-group">
<label for="foto">Foto</label>
<input type="file" name="imagem" class="form-control" />
</div>
<div class="form-group">
<label for="Nome">Nome</label>
<input type="text" name="nome" value="<?php echo $dados->nome_administrador; ?>" class="form-control" placeholder="Digite o Nome" />
</div>
<div class="form-group">
<label for="Celular">Celular</label>
<input type="text" name="celular" class="form-control" id="celular" placeholder="Digite o Celular" value="<?php echo $dados->celular_administrador; ?>" />
</div>
<div class="form-group">
<label for="Email">Email</label>
<input type="text" name="email" class="form-control" placeholder="Digite um Email" value="<?php echo $dados->email_administrador; ?>" />
</div>
<div class="form-group">
<label for="Funcao">Função</label>
<input type="text" name="funcao" class="form-control" placeholder="Digite uma Funcao" value="<?php echo $dados->funcao_administrador; ?>" />
</div>
<div class="form-group">
<label for="Login">Login</label>
<input type="text" name="login" class="form-control" placeholder="Digite um Login" value="<?php echo $dados->login_administrador; ?>" />
</div>
<div class="form-group">
<label for="Nivel">Nivel</label>
<select name="nivel" class="form-control">
<option value="<?php echo $dados->nivel_administrador; ?>">Escolha uma opção: <?php if (($dados->nivel_administrador) == 1): echo 'Administrador'; else: echo 'Game Master'; endif; ?></option>
<option value="<?php if (($dados->nivel_administrador) == 1): echo '2'; $nivell = '2'; else: echo '1'; $nivell = '1'; endif; ?>"><?php if ($nivell == 1): echo 'Administrador'; else: echo 'Game Master'; endif; ?></option>
</select>
</div>
<input type="hidden" name="id" value="<?php echo $dados->id; ?>" />
<center>
<img class="loader" style="display:none" src="images/loader.gif" />
</center>
<button name="submit" type="submit" class="btn btn-primary">Atualizar</button>
</form>
<?php
break;
// CASO PADRÃO DO SWITCH
default:
echo 'NADA';
break;
}?>
Vamos ao meu painel.js só a parte que interessa(CASO NÃO QUEIRAM LER ESSA PARTE NÃO INTERESSA POIS ESTÁ FUNCIONANDO NORMALMENTE O JQUERY):
//BTN ATUALIZAR ADM GM
$('#myModal').on("submit", 'form[name="form_editaradmgm"]', function(){
var dados = $(this);
var botao = dados.find(':button');
$.ajax({
url: 'ajax/controller.php',
type: 'POST',
data: 'acao=editaradmgm&'+dados.serialize(),
beforeSend: function(){
botao.attr('disabled', true);
$('.loader').fadeIn('slow');
},
success: function(retorno){
if (retorno === 'atualizou'){
console.log(retorno);
dados.fadeOut('slow', function(){
msg('Administrador atualizado','sucesso');
listarAdmin('ajax/painel.php', 'listar_admin', true);
});
}else if(retorno === '1'){
msg('Erro ao enviar sua imagem','alerta');
$('.loader').fadeOut('slow', function(){
botao.attr('disabled', false);
});
}else if (retorno === '2'){
msg('Por favor, Adicionar uma foto!','alerta');
console.log(retorno);
$('.loader').fadeOut('slow', function(){
botao.attr('disabled', false);
});
}else{
msg('se fudeo total!','alerta');
console.log(retorno);
$('.loader').fadeOut('slow', function(){
botao.attr('disabled', false);
});
}
}
});
return false;
});
Agora vamos ao controller.php que é chamado pelo painel.js na Ação **editaradmgm: onde ocorre o Notice: Undefined index: imagem in controller.php line 54 **
<?php $id = filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT);
$nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING);
$celular = filter_input(INPUT_POST, 'celular', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
$funcao = filter_input(INPUT_POST, 'funcao', FILTER_SANITIZE_STRING);
$login = filter_input(INPUT_POST, 'login', FILTER_SANITIZE_STRING);
$nivel = filter_input(INPUT_POST, 'nivel', FILTER_SANITIZE_NUMBER_INT);
$nick = filter_input(INPUT_POST, 'nick', FILTER_SANITIZE_STRING);
$foto = $_FILES['imagem']; //LINHA EM QUE OCORRE O ERRO
$pasta = '../fotos/';
if(!file_exists($pasta)) mkdir($pasta,0755);
if($foto['tmp_name']){
$extencao = strchr($foto['name'],'.');
$filename = md5(time()).$extencao;
$imagem = array('.jpg','.jpeg','.png','.gif');
if(in_array($extencao,$imagem)):
$pasta = $pasta.'imagens/';
$tipo = 'imagem';
endif;
if(!file_exists($pasta)) mkdir($pasta,0755);
if(move_uploaded_file($foto['tmp_name'],$pasta.$filename)){
$qr = "UPDATE administrador SET (nick_administrador, foto_administrador, nome_administrador, celular_administrador, email_administrador, login_administrador, senha_administrador, nivel_administrador) ";
$qr .= "VALUES('$nick','$foto','$nome','$celular','$email','$login','$senha','$nivel')";
$ex = mysql_query($qr);
echo 'atualizou';
}else{
echo '1';
}
}else{
echo '2';
}
break;
?>Carregando comentários...