Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Politano

Notice: Undefined index: imagem *Já vi um post assim aqui, mas não resolveu o meu problema continua exibindo isso.

Recommended Posts

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 ?> &nbsp <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
case 'editaradmgm':
		$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;
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize o isset.

 

$foto = isset($_FILES['imagem']) ? $_FILES['imagem'] : false;

// Ou da forma abaixo, somente em PHP 7 >

$foto = $_FILES['imagem'] ?? false;

Compartilhar este post


Link para o post
Compartilhar em outros sites
47 minutos atrás, Alaerte Gabriel disse:

Utilize o isset.

 


$foto = isset($_FILES['imagem']) ? $_FILES['imagem'] : false;

// Ou da forma abaixo, somente em PHP 7 >

$foto = $_FILES['imagem'] ?? false;

ótimo o erro de campo parou, mas veio outro problema e não vejo erro de semântica :(

 

Nesta parte no if($foto['tmp_name'){  independente de ter ou não arquivo inserido no Input file ele retorna o erro 2 que é para inserir imagem na minha lógica de programação, não executando assim query para inserir no banco de dados e na pasta:

<?php
	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';
		}
?>

Grato desde já por sua ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade sua imagem não está sendo enviada. Me atentei agora que você faz o envio por jquery. o jQuery "não" faz o envio da imagem por si só dessa forma. é preciso uma chamada ali do objeto formData. Antes do seu $.ajax adicione:


 

var nform = new FormData(jQuery('form[name="form_editaradmgm"]')[0]);

//e no seu data:

data: 'acao=editaradmgm&'+nform,

Com isso seu campo FILE será enviado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
39 minutos atrás, ustogo disse:

Aprendi recentemente a usar MUITO o var_dump();

remédio do bom !

Obrigado, mas isso não me ajudou, o que ele me diz é apenas que a $foto não ta recebendo parâmetro nenhum mesmo eu buscando a foto no meu computador e colocando para upload, mas na hora de inserir é como se o campo tivesse nulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Estou com uma dúvida, referente cálculo de valores em tempo real.

      Tenho uma rotina, que faz o cálculo, o problema é mostrar o resultado.

      Quero mostrar o RESULTADO assim: 0,00  ou  0.00

      Abaixo posto o código.
      jQuery('input').on('keyup',function(){ //Remover ponto e trocar a virgula por ponto var m = document.getElementById("pgRest").value; while (m.indexOf(".") >= 0) { m = m.replace(".", ""); } m = m.replace(",","."); //Remover ponto e trocar a virgula por ponto var j = document.getElementById("pgDsct").value; while (j.indexOf(".") >= 0) { j = j.replace(".", ""); } j = j.replace(",","."); m = parseFloat(jQuery('#pgRest').val() != '' ? jQuery('#pgRest').val() : 0); j = parseFloat(jQuery('#pgDsct').val() != '' ? jQuery('#pgDsct').val() : 0); //Mostra o Resultado em Tempo Real jQuery('#pgTroco').val(m - j); <<=== aqui estou errando })  
       
      Grato,
       
      Cesar
       
       
    • Por violin101
      Caro amigos, saudações.

      Tenho uma tabela escrita em JS que funciona corretamente.
       
      Minha dúvida:
      - como devo fazer para quando a Tabela HTML estiver vazia, exibir o LOGO da Empresa ?

      Abaixo posto o script:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'i' ) return;// Não é Ctrl+A, portanto interrompemos o script evt.preventDefault(); //Chama a Função Calcular Qtde X Valor Venda calcvda(); var idProdutos = document.getElementById("idProdutos").value; var descricao = document.getElementById("descricao").value; var prd_unid = document.getElementById("prd_unid").value; var estoque_atual = document.getElementById("estoque_atual").value; var qtde = document.getElementById("qtde").value; var vlrunit = document.getElementById("vlrunit").value; var vlrtotals = document.getElementById("vlrtotal").value; var vlrtotal = vlrtotals.toLocaleString('pt-br', {minimumFractionDigits: 2}); if(validarConsumo(estoque_atual)){ //Chama a Modal com Alerta. $("#modal_qtdemaior").modal(); } else { if(qtde == "" || vlrunit == "" || vlrtotal == ""){ //Chama a Modal com Alerta. $("#modal_quantidade").modal(); } else { //Monta a Tabela com os Itens html = "<tr style='font-size:13px;'>"; html += "<td width='10%' height='10' style='text-align:center;'>"+ "<input type='hidden' name='id_prds[]' value='"+idProdutos+"'>"+idProdutos+"</td>"; html += "<td width='47%' height='10'>"+ "<input type='hidden' name='descricao[]' value='"+descricao+"'>"+descricao+ "<input type='hidden' name='esp[]' value='"+prd_unid+"'> - ESP:"+prd_unid+ "<input type='hidden' name='estoq[]' value='"+estoque_atual+"'></td>"; html += "<td width='10%' height='10' style='text-align:center;'>"+ "<input type='hidden' name='qtde[]' value='"+qtde+"'>"+qtde+"</td>"; html += "<td width='12%' height='10' style='text-align:right;'>"+ "<input type='hidden' name='vlrunit[]' value='"+vlrunit+"'>"+vlrunit+"</td>"; html += "<td width='14%' height='10' style='text-align:right;'>"+ "<input type='hidden' name='vlrtotal[]' value='"+vlrtotal+"'>"+vlrtotal+"</td>"; html += "<td width='12%' height='10' style='text-align:center;'>"+ "<button type='button' class='btn btn-uvas btn-remove-produto' style='margin-right:1%; padding:1px 3px; font-size:12px;' title='Remover Item da Lista'>"+ "<span class='fa fa-minus' style='font-size:12px;'></span></button></td>"; html += "</tr>"; $("#tbventas tbody").append(html); //Função para Somar os Itens do Lançamento somar(); $("#idProdutos").val(null); $("#descricao").val(null); $("#prd_unid").val(null); $("#qtde").val(null); $("#vlrunit").val(null); $("#vlrtotal").val(null); $("#idProdutos").focus(); //Se INCLUIR NOVO produto - Limpa a Forma de Pagamento $("#pgSoma").val(null); $("#pgRest").val(null); $("#pgDsct").val(null); $("#pgTroco").val(null); $("#tbpagar tbody").empty(); }//Fim do IF-qtde }//Fim do Validar Consumo });//Fim da Função btn-agregar  
      Grato,

      Cesar
       
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.