Ir para conteúdo

gersonab

Members
  • Total de itens

    456
  • Registro em

  • Última visita

Posts postados por gersonab


  1. bom dia.

    estou com um problema aqui, quando vou fazer update de uma página com dados vindos do banco os select option mostra os dados corretamente porém os value capturados não estão corretos, um exemplo, se for de cidades vem no value somente o primeiro nome da cidade enquanto na exibição do nome vem completo, logo, quando faço o update grava somente o primeiro nome, pois esta se dividindo e criando campos.

    <select class="form-control" name="cidade">
      <option value="">-- Selecionar --</option>
      <?php
    $curc4 = $pdo->query("SELECT * FROM comarca ORDER BY comarc asc");
    while ($lic4 = $curc4->fetch(PDO::FETCH_ASSOC)) {
    echo "<option value=".$lic4['comarc']." ".($cidade == $lic4['comarc'] ? "selected":"")." >".$lic4['comarc']."</option>";
    } ?> 
    </select>

    como é mostrado no console:

    <option value="ANGRA" dos="" reis="">ANGRA DOS REIS</option>

    desde já agradeço ajuda


  2. No banco de dados foi fácil, exportei normalmente, abri no bloco de notas, salvei como ANSI, depois abri no notpad++ e formatei como UTF8 sem bom, todos os caracteres foral corrigidos, agora como fazer a pasta de arquivos, que estão com os caracteres estranhos nos nomes ?


  3. antes no banco estava latin1_swedish_ci ou latin1_general_ci e agora em utf8_general_ci

    não havia uma codificação na página de upload

    agora com codificação total em utf8 não tenho problemas quando se faz o upload, porém tem o problema dos arquivos antigos cadastrados

     

     


  4. na página em que o usuário se encontra coloco um require chamando esta

     

    <?php
    if (!isset($_SESSION)) session_start();
    
    if (!isset($_SESSION['UsuarioNivel']) == 1 ) {
    	header("Location: index.php"); exit;
    }
    if (!isset($_SESSION['registro']) && !isset($_SESSION['limite']) ) {
    	header("Location: index.php"); exit;
    }
    if ($_SESSION['registro']) {
    	$segundos = time() - $_SESSION['registro'];
    }
    if( $segundos > $_SESSION["limite"]){
    unset ($_SESSION['UsuarioID']);
    unset ($_SESSION['UsuarioNome']);
    unset ($_SESSION['UsuarioNivel']);
    unset ($_SESSION['UsuarioUser']);
    unset ($_SESSION['UsuarioSenha']);
    unset ($_SESSION['UsuarioEmail']);
    session_destroy();
    header("Location: ../index.php"); exit;
    } else {
    	 $_SESSION['registro'] = time();
    }
    ?>

     


  5. na minha validação de login, criei uma tempolimite, e funciona perfeitamente.

    if (!isset($_SESSION)) session_start();
    $tempolimite = 7200;
    $_SESSION["limite"] = $tempolimite;
    $_SESSION["registro"] = time();
    $_SESSION['UsuarioID'] = $resultado['idp'];
    $_SESSION['UsuarioNome'] = $resultado['nomep'];
    $_SESSION['UsuarioNivel'] = $resultado['tipop'];
    $_SESSION['UsuarioEmail'] = $resultado['emailp'];

    espero que ajude

     


  6. Bom dia, estou com um problema aqui, reparando um sistema em que neste já se encontram mais de 4000 arquivos cadastrados, só que quem fez não se atentou para os caracteres, já refiz a programação do mesmo e o cadastro esta normal, sendo que praticamente 2800 arquivos foram cadastrados de forma errada, por exemplo:

    nome do arquivo cadastrado -> COMUNICAÇÃO.pdf

    forma que foi gravada no banco e na pasta ->  COMUNICAÇÃO.pdf

    ao clicar para abrir, o mesmo da erro, não é encontrado ->  was not found on this server.

    tem alguma maneira de reparar o link sem ter que renomear todos estes arquivos na pasta e no banco de dados ?


  7. verifiquei as versões de ambos e são diferentes.

    funciona no

    Citar
    • Tipo de servidor: MySQL
    • Versão do servidor: 5.5.62-cll-lve - MySQL Community Server (GPL)
    • Versão do protocolo: 10

       já neste não 

    Citar
    • Tipo de servidor: MariaDB
    • Versão do servidor: 10.2.18-MariaDB-log - MariaDB Server
    • Versão de protocolo: 10

     

    seria este o problema ?

     


  8. Boa tarde, tenho uma consulta onde retorno dados de várias tabelas, em um servidor ela funciona perfeitamente, no outro não retorna os campos longtext, fica vazio.

     

    <?php
    $id=(int)$_GET['idc'];
    $consulta3 = $pdo->query("SELECT * FROM proc INNER JOIN cli ON idc=part LEFT JOIN posicao ON idpos=posic WHERE idc=$id");
    while($user3 = $consulta3->fetch(PDO::FETCH_ASSOC)){
    $idpr = $user3['idpr'];
    $reup = $user3['reup'];
    //// vários campos, todos retornando normal
    $leb = str_replace('"','-',$user3['leb']);
    $obsp = str_replace('"','-',$user3['obsp']);
    ?>
    
    <p>Andamento : <?php echo nl2br($obsp);?> </p> /// não retorna, ou
    <p>Andamento : <?php echo $obsp;?> </p>  /// também não retorna

    porém no servidor que eu trabalho funciona normalmente já no servidor do cliente que é na kinghost o mesmo não retorna estes dados, o que pode ser ?


  9. fiz desta forma, porém continua o problema.

    $diretorio = "../files/";
    $arquivo = isset($_FILES['foto']) ? $_FILES['foto'] : FALSE;
    for ($controle = 0; $controle < count($arquivo['name']); $controle++){
    
    	$destino = $diretorio."/".$arquivo['name'][$controle];
    	move_uploaded_file($arquivo['tmp_name'][$controle], $destino);
    }
    $sql= "INSERT INTO fotos ( foto, fotoprof ) VALUES ( :foto, :fotoprof )"; 
    $stmt = $pdo->prepare($sql);
    			foreach($_FILES['foto']['name'] as $indice => $name) {
    				$foto=$_FILES['foto']['name'][$indice];
    				$fotoprof=$_POST['fotoprof'][$indice];
    				$stmt->bindParam(':foto', $foto);
    				$stmt->bindParam(':fotoprof', $fotoprof);
    			
    				if ($stmt->execute()){
    					
    			} else {
    				print_r($stmt->errorInfo());
    			}
    		}

    o que acontece, envio vários arquivos e UM id ( fotoprof ) , eu preciso salvar este id junto com os nomes dos arquivos, cada nome e o fotoprof em uma linha distinta, tipo :

     

    id  - arquivo - fotoprof

    1 - arquivo1 - 15

    2 - arquivo2 - 15

    3 - arquivo3 - 15

     

    o que esta acontecendo :

     

    id  - arquivo - fotoprof

    1 - arquivo1 - 15

    2 - arquivo2 - 

    3 - arquivo3 - 


  10. bom dia, estou retornando este post pois não fiquei satisfeito com a solução anterior, acreditem.

    utilizando alguns plugins jquery que encontrei consigo fazer o upload tranquilamente de forma mais apresentável, no entanto continuo com o mesmo problema anterior, só gravo o id na primeira imagem, as demais não. segue os códigos abaixo.

    meu formulário vem de uma janela modal com o nome e o id do item

    <div class="modal fade" id="arqmodal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"  aria-hidden="true">
      <div class="modal-dialog" role="document">
        <form method="POST" action="../lista/insarquivo.php" enctype="multipart/form-data">
          <div class="modal-content">
            <div class="modal-header">
              <h5 class="modal-title" id="exampleModalLabel">Cadastrar arquivos</h5>
            </div>
            <div class="modal-body">
              <div class="form-group mb-4">
                <label for="inputAddress">Nome</label>
                <input type="text" class="form-control" name="nomec"  id="nomec" >
              </div>
              <div class="custom-file-container" data-upload-id="mySecondImage">
                <label>Arquivos <a href="javascript:void(0)" class="custom-file-container__image-clear" title="Clear Image">x</a></label>
                <label class="custom-file-container__custom-file" >
                  <input type="file" class="custom-file-container__custom-file__custom-file-input" name="foto[]" multiple>
                  <input type="hidden" name="MAX_FILE_SIZE" value="104857600" />
                  <span class="custom-file-container__custom-file__custom-file-control"></span>
    
                </label>
                <div class="custom-file-container__image-preview"></div>
              </div>
              <br>
            </div>
            <input name="fotoprof[]" type="hidden" id="idc">
            <div class="modal-footer">
              <button class="btn" data-dismiss="modal">Cancelar</button>
              <button type="submit" class="btn btn-primary">Cadastrar</button>
            </div>
          </div>
        </form>
      </div>
    </div>

    até aí sem problema, mostra o nome e o id consigo ver no console.

     

    o arquivo para fazer o upload e salvar no banco.

    $diretorio = "../files/";
    
    $arquivo = isset($_FILES['foto']) ? $_FILES['foto'] : FALSE;
    for ($controle = 0; $controle < count($arquivo['name']); $controle++){
    	
    	$destino = $diretorio."/".$arquivo['name'][$controle];
    	if(move_uploaded_file($arquivo['tmp_name'][$controle], $destino)){
    		
    		$sql=$pdo->prepare("INSERT INTO fotos ( foto, fotoprof ) VALUES ( :foto, :fotoprof )"); 
    		
    		$sql->bindValue(':foto',$arquivo['name'][$controle]);
    		$sql->bindValue(':fotoprof',$_POST['fotoprof'][$controle]);
    
    		$sql->execute();
    
    		if ($sql){
    			echo "Cadastrado com sucesso.";
    		}
    
    		if (count($error) != 0) {
    			foreach ($error as $erro) {
    				echo $erro . "<br />";
    			}
    		}
    
    	}
    	
    }

    o upload é feito sem problemas, o nome dos arquivos são salvos, cada um em uma linha, porém o id que é o fotoprof só salva na primeira linha, não salva nas demais, ficam vazias, ja tentei várias formas e ainda não consegui.

     

    Desde ja agradeço a ajuda.


  11. Consegui resolver desta forma.

    $(".idpr").change(function(event){
    var idpr = event.currentTarget.value;
    $.ajax({ 
    url: '../lista/selmenu.php', 
    type: 'GET', 
    data:{"idpr" : idpr}, 
    success: function(data) { 
    console.log(data); 
    $("#atualizamenu").html(data)
    }
    }); 
    });

    consigo fazer todos os itens do menu, em alguns casos dependendo da página são 8 itens.


  12. desta forma consigo passar o valor que é mostrado no console.log

    $(".idpr").change(function(event){
    var idpr = event.currentTarget.value;
    $.ajax({ 
    url: '../lista/selmenu.php', 
    type: 'GET', 
    data:{"idpr" : idpr}, 
    success: function(data) {
    console.log(data); 
    if(data.idpr) { 
    document.getElementById("atualizamenu").reset();
    
    } 
    }
    }); 
    });

    só que não atualiza na página, no console mostra

    <div class="btn-group" id="atualizamenu">
      <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown"> Selecionar ação
        <span class="caret ml5"></span>
      </button>
      <ul class="dropdown-menu" role="menu">
        <li>
          <a href="listcliente.php?idc=978"> Relatório </a>
        </li>
        <li>
          <a href="uppr.php?id=1032"> Editar </a>
        </li>
      </ul>
    </div>

    ja na página o id e o idc estão em branco como mostra o elements
     

    <a href="listcliente.php?idc="> Relatório </a>

    não esta atualizando


  13. minhas tentativas são estas....

    onde o selec está

    <div class="panel-title hidden-xs" style="z-index:9999" id="atualizamenu"> Cadastrados -> <?php include "../lista/selmenu.php";?></div>

    meu rádio, não poderia ser checkbox, pois apenas uma seleção

    <td ><input type="radio" name="idpr" class="idpr" value="<?php echo $idpr; ?>"></td>

    jquery

    //var idpr = $("input[name='idpr']:checked"); 
    				//idpr.change(function() { 
    				//$("input[name='idpr']:checked").change(function(event){
    				//	var idpr = event.currentTarget.value;
    				$('.idpr').change(function(){
    					var idpr = $(this).val();
    					$.ajax({ 
    						url: '../lista/selmenu.php', 
    						type: 'GET', 
    						data:{"idpr" : idpr.val()}, 
    						success: function(data) { 
    						console.log(data); 
    						data = $.parseJSON(data); 
    					if(data.idpr) { 
    					//document.getElementById("atualizamenu").reset();
    					$("#atualizamenu").html($(dados).find("#atualizamenu"));
    					} 
    						}
    				}); 
    				});

    o selmenu.php

    <?php
    require_once('../curio.php');
        $Varreu = $_GET['idpr'];
    $consmenu = $pdo->query("SELECT proc.idpr, proc.part, cli.idc FROM proc INNER JOIN cli ON cli.idc=proc.part WHERE proc.idpr ='".$Varreu."' ");
    $user2 = $consmenu->fetch(PDO::FETCH_ASSOC);
    	$idpr = $user2['idpr'];
    	$idc = $user2['idc'];
    
    ?>
    	<div class="btn-group">
    		<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown"> Selecionar ação
    			<span class="caret ml5"></span>
    		</button>
    		<ul class="dropdown-menu" role="menu">
    			<li>
    				<a href="listcliente.php?idc=<?php echo $idc; ?>"> Relatório </a>
    			</li>
    			<li>
    				<a href="uppr.php?id=<?php echo $idpr; ?>"> Editar processo </a>
    			</li>
    		</ul>
    	</div>

    o que ocorre, ou não passa a informação ou não atualiza. não há erros no console.


  14. Bom dia meus amigos, estou precisando criar um evento numa linha de dados de uma consulta, sendo que esta linha deveria estar selecionada através do checkbox, tipo :

    Tenho uma listagem de informações de clientes, nesta lista tenho um checkbox para selecionar uma única linha, nesta podendo fazer alterações conforme um select option, sendo que este não esta na linha, esta fora dela, pois se eu tiver 3000 linhas, terei 3000 select option, logo o que eu preciso é pegar o id da linha e enviar para o select , onde ali escolherei a ação a tomar.

     

    não estou sabendo pesquisar ou dar uma partida para este, desde já agradeço a ajuda.

    <div class="action-btns d-none">
      <div class="btn-dropdown mr-1 mb-1">
        <div class="btn-group dropdown actions-dropodown">
          <button type="button" class="btn btn-white px-1 py-1 dropdown-toggle waves-effect waves-light" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            Ação
          </button>
          <div class="dropdown-menu dropdown-menu-right">
            <a class="dropdown-item" href="#"><i class="feather icon-trash"></i>Editar</a>
            <a class="dropdown-item" href="#"><i class="feather icon-archive"></i>Inserir imagem</a>
            <a class="dropdown-item" href="#"><i class="feather icon-file"></i>Email</a>
            <a class="dropdown-item" href="#"><i class="feather icon-save"></i>Deletar</a>
          </div>
        </div>
      </div>
    </div>
    <div class="table-responsive">
      <table class="table">
        <thead>
          <tr>
            <th></th>
            <th>IMAGEM</th>
            <th>NOME</th>
            <th>CATEGORIA</th>
            <th>EMAIL</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td><input type="checkbox" id="id" name="id" /></td>
            <td><img src="../cli/imagem.png" alt="img"></td>
            <td>Nome do cliente</td>
            <td>Categoria</td>
            <td>Email</td>
          </tr> 
          <!-- aqui continua a lista, resumida para facilitar -->

     


  15. bom dia, o campo é comum para os dois ? ou são campos destintos.

    um código usado para 2 mascaras no mesmo campo.

    var options =  {
      onKeyPress: function(cpf, e, field, options) { //Quando uma tecla for pressionada
        var masks = ['000.000.000-000', '00.000.000/0000-01']; //Mascaras
        var mask = (cpf.length > 14) ? masks[1] : masks[0]; //Se for de tamanho 11, usa a 2 mascara
        $('#cpf').mask(mask, options); //Sobrescreve a mascara
    }};
    
    $('#cpf').mask('000.000.000-000', options); 

    para um caso de digitação de cpf e cnpj no mesmo campo.


  16. Bom dia, utilizo um sistema de auto complete que funciona quase que perfeitamente, porque quase, se eu tenho 10 Marias cadastradas o autocomplete só inicia após eu colocar uma letra do segundo nome e ou sobrenome, tipo :

    se eu escrever Maria somente, não aparece opções na lista;

    agora se eu escrever Maria A - ja começa a aparecer opções na lista;

    tem como iniciar as opções após uma terceira letra digitada ?

    segue o código que utilixo.

    form

    <label class="field">
      <input type="text" name="nomec" id="nomec" class="gui-input">
      <input type="hidden" name="idc" id="idc">
    </label>

    ajax

    $( "#nomec" ).autocomplete({
    source: function( request, response ) {
    
    $.ajax({
    url: "../lista/autocli.php",
    type: 'post',
    dataType: "json",
    data: {
    search: request.term
    },
    success: function( data ) {
    response( data );
    }
    });
    },
    select: function (event, ui) {
    $('#nomec').val(ui.item.label); 
    $('#idc').val(ui.item.value); 
    return false;
    }
    });

    autocli.php

    require_once('config.php');
    if(isset($_POST['search'])){
     $search = $_POST['search'];
    
     $query = "SELECT DISTINCT nomec AS nomec, idc FROM cli WHERE nomec like'%".$search."%'";
     $result = mysqli_query($con,$query);
    
     $response = array();
     while($row = mysqli_fetch_array($result) ){
       $response[] = array("value"=>$row['idc'],"label"=>$row['nomec']);
     }
    
     echo json_encode($response);
    }
    
    exit;

    desde já agradeço.

     


  17. desta forma envio e não aparece erro, o email vai porém os arquivos não, vem um arquivo chamado array.

    if (isset($_FILES['file2']['name'])) {
    	$count = count($_FILES['file2']['tmp_name']);
    	for ($i = 0; $i < $count; $i++) {
     
        $fp = fopen($_FILES["file2"]["tmp_name"][$i],"rb"); 
    	$anexo = fread($fp,filesize($_FILES["file2"]["tmp_name"][$i])); 
    	$anexo = base64_encode($anexo);  
    	fclose($fp); 
        $anexo = chunk_split($anexo); 
        $mensagem = "--$boundary\n"; 
        $mensagem.= "Content-Transfer-Encoding: 8bits\n"; 
        $mensagem.= "Content-Type: text/html; charset=\"utf-8\"\n\n";
        $mensagem.= "$email_conteudo\n"; 
        $mensagem.= "--$boundary\n"; 
        $mensagem.= "Content-Type: ".$arquivo["type"]."\n";  
        $mensagem.= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n";  
        $mensagem.= "Content-Transfer-Encoding: base64\n\n";  
        $mensagem.= "$anexo\n";  
        $mensagem.= "--$boundary--\r\n"; 
    	}
    }

    ao verificar este arquivo no notpad++ , ele vem desta forma:

    GIF89aX3ö~ =+;1 p7x4LmR5:d(iTq0b_XŽ2—6ª+Œ8¡**“,6ª:Ç"=ÅCœM­n”e´/E–-I±'u—1i´QÄpÌtâ-MÌ4Tí4jÏ4líN‘L¤L.”L3©mf¥m)—o3«e4ÃMI’LK±Qi’Nk·kIqK´hp•mpµHXÆ@^ôMrÐKm÷pUÃmuÐh|ê5‘:”PN™'cŸUuÂ\wÀm–ƒª(ƒ•0ˆ®5¤¶Þ7Æòg˜¨S‰ÕRŒãR¬ÒP§ìoŠÖqŽçp§×s¨çw¯kÅÚ•/<¡'UŠL=šScÄ&[Îqj3¨„9Ä‹O‡L´s†fº¯U‚¨K´ªs…­j»WÂnÊŒ}à±R«rÅÉy¸ÈxÄ·µ+›¦m»Â/®Ähѳ͢fÝË×ÎV£¥¡Ô‹”钨דªì²ŽÍ§•é°¯Ó¬²ì¬Æ¤´ÅãѢΙÓ×Ï«ÝÖñ      !ù
     ~ !ÿNETSCAPE2.0   ,    X3 þ€ ‚„ƒ†…ˆ‡ƒŽ‘’’‹“Šˆ-˜œ„ž– ¡¢‹•“¦£©¬­©°²´´
    
    ¸·¹
    ·¾¿"¾¾#ÁÃÇÄÍ
    *ÑÒÕÓÚØÞØ#ÞÊ
    áËÏÊæáêÏÏá·
    "·Çñðïö¹³±úùü®þ«0 Àƒ
    þK%¢EŠF«ŠB5
    “Ä‹	mJÄѧF92Õè¢KqlÑ©“Ç”#ÉÜÓe¥–	)\5H!ÂŒ@ûͯ]½Þ;V¬W<cI›õ"v«Ù°ÚT8˜æÀÚ4¬UWA™²rî®2&Ì™2¶þmÉÅ›WOXRxøtåÚÇ·Ÿ>¾}ÿJ‚5i ˆ„&ਤ)R0r£HS˜cªÔ\³£ãH79‹œŒó²ç˜ !•L­zò©—¥a¾´,qóDJ–*3°úó¨|Žø
    å•÷—qh¾¨6ƒ
    lœq`ȇ‰0[akµëÑ*L;âZhØÌJmæÎY¸·ä±
    ;íª]`ôîÅ@W`à„ƒ·ÊŸ_UÁ‚‡ñ–˜Aù
    dºõFÙ?]òšL&±Ò ¢Ú'*™¦†Q”!)2ájF¸Yf±öአ†F D?Q¸__µGÏQÁ$×yÈ%ÕÔ-OųÜ3ÐhgÍ2ÒTþ§XÝiç
    9È-'O{T%ÃÎYØ@sÌ–T

    desde já agradeço qualquer ajuda.

     


  18. eu faço assim :

    no início da página .
     

    <html lang="pt-br">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    no BD utf8_general_ci

     

    e no notpad++ formato utf- 8 sem bom

     

    não tenho problemas com acentos.


  19. Bom dia, tenho um formulário de contato onde envio um anexo sem problemas, como faço para enviar mais de um ou vários anexos ?

    if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){
    
    $fp = fopen($_FILES["file2"]["tmp_name"],"rb"); 
    $anexo = fread($fp,filesize($_FILES["file2"]["tmp_name"])); 
    $anexo = base64_encode($anexo);  
    fclose($fp); 
    $anexo = chunk_split($anexo); 
    $mensagem = "--$boundary\n"; 
    $mensagem.= "Content-Transfer-Encoding: 8bits\n"; 
    $mensagem.= "Content-Type: text/html; charset=\"utf-8\"\n\n";
    $mensagem.= "$email_conteudo\n"; 
    $mensagem.= "--$boundary\n"; 
    $mensagem.= "Content-Type: ".$arquivo["type"]."\n";  
    $mensagem.= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n";  
    $mensagem.= "Content-Transfer-Encoding: base64\n\n";  
    $mensagem.= "$anexo\n";  
    $mensagem.= "--$boundary--\r\n"; 
    }

    desde já agradeço.

    meu input ja faz a seleção de vários arquivos.

×

Informação importante

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