Jump to content

paulinhosupriano

Members
  • Content count

    678
  • Joined

  • Last visited

  • Days Won

    5

paulinhosupriano last won the day on November 6 2017

paulinhosupriano had the most liked content!

Community Reputation

103 Muito Bom

About paulinhosupriano

  • Rank
    Irmãos, quanto a mim, não julgo que o haja alcançado; mas uma co
  • Birthday 05/06/1992

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    127.0.0.1 - localhost
  • Interesses
    Aprender mais e mais.

Contato

Recent Profile Visitors

3330 profile views
  1. Transformar Array ( [KEY001] => 7 [KEY001] => 22 [KEY002] => 4 [KEY002] => 19 [KEY003] => 13 [KEY003] => 21 [KEY003] => 22 ) não seria possível não. Apenas poderia utilizar a chave do array para mostrar os valores informados foreach($arr['KEY001'] as $values){ echo $values; } Seria mais ou menos assim: <?php $arr = [ 'KEY001' => [7,22], 'KEY002' => [4,19], 'KEY003' => [13,21,22] ]; echo '<pre>'; print_r($arr); foreach( $arr['KEY001'] as $values): echo $values .'<br/>'; endforeach;
  2. paulinhosupriano

    Proteger dados .env ou variáveis de configuração [dúvida]

    Exatamente, agora exemplo se eu for consumir uma API, sendo que desejo utilizar apenas javascript, como proteger os dados de segurança tipo constantes de db ou de configurações? para trabalhar com ajax(axios,ajax Jquery ou o proprio fetch do javascript) passando essas informações?
  3. Bom dia a todos! Gente, tenho uma dúvida! Muitos desenvolvedores utilizam o framework nodejs com express para trabalhar com API e também estão utilizando o ADONISJS. Minha duvida seria, em alguns projetos devemos criar configurações onde o usuário cliente não poderá ter acesso a visualização dos dados public de constantes de configuração, url ou banco. Como protejo essas informações? Muitas dizem que seria o arquivo .env. Como protegerei essas informações? Exemplo firabase como proteger os dados token etc. Poderiam informar tutorial, curso, vídeo algo a respeito do assunto? Agradecido!
  4. paulinhosupriano

    Select não traz os dados

    O venho CRUD do Robson. Se tem uma classe com o Read não precisa criar métodos assim.
  5. paulinhosupriano

    filtro para pegar valores específico de uma array

    Olá guerreiro, está no caminho certo, e só dar um laço de repetição nessas consulta do $stmt pelo dados retornados do seu SQL e gera assim s lista. Sabendo que tem a lista então gere o link de url conforme desejado. em seguida, e só recuperar pelo mês puxando da URL e depois faz outra consulta com os dados do mês e dia referente ao seu desejado.
  6. paulinhosupriano

    exibir na tela nome do link que está dentro do href

    <?php function displayHref($url,$name,$title = null){ $title = (is_null($title)) ? '' : $title; return "<a href='{$url}' title='{$title}'>{$name}</a>"; } echo displayHref('index2.php','aprendiz');
  7. paulinhosupriano

    Proteger código-fonte PHP

    Somente disponibilizando uma API ao Cliente.
  8. paulinhosupriano

    Comissão em vendas PHP

    O meio de recebimento gateway de pagamento ele retorna a uma conta o valor a receber já com todos os descontos necessário ou seja será liberado para você um valor líquido. Você precisa calcular já com os descontos e saber o seu valor líquido para assim tirar a % da venda do valor bruto para repassar ao seu vendedor, ou dependendo de como será os requisitos da sua empresa. - Valor Total pago pelo cliente: R$ 100,00 = TOTALVENDA - Calculo para receber líquido: TOTALVENDA - (% do gateway de pagamento) = VALOR_LIQUIDO - PROCENTAGEM VENDEDOR = % ex: 5% do valor total ou 5% do valor líquido. Sabendo disso você terá o que deverá passar ao vendedor, então você pelo retorno automático do PagSeguro registra o que o vendedor deve receber com datas e disponibiliza um link dentro do Dash(Painel de Administração) para o vendedor solicitar o deposito e informar a conta Banco, Agência, Nome, CPF etc. Você deverá fazer o deposito manual indo ao banco ou transferência como desejar, e depois envia ao vendedor o código de deposito, data, e faz uma atualização no valor a receber do vendedor.
  9. paulinhosupriano

    Como calcular pedágio por fração de 100 kg

    <?php /** * Class calculateToll */ class calculateToll { /** * @var int */ protected $fraction = 100; /** * @var float */ protected $price = 6.23; /** * @var int */ protected $fractionCalculate = 0; /** * calculateToll constructor. * @param int $fractionCalculate * @param float|null $priceDefault */ public function __construct(int $fractionCalculate, float $priceDefault = null) { if(!is_null($priceDefault)){ $this->setPrice($priceDefault); } $this->setFractionCalculate($fractionCalculate); } /** * @param float $price * @return $this */ public function setPrice(float $price){ $this->price = $price; return $this; } /** * @param float $fractionCalculate * @return $this */ public function setFractionCalculate(float $fractionCalculate){ $this->fractionCalculate = $fractionCalculate; return $this; } /** * @param int $fraction * @return $this */ public function setFraction(int $fraction){ $this->fraction = $fraction; return $this; } /** * @return string */ public function display(){ $weight = ceil($this->fractionCalculate/ $this->fraction); $calculateToll = $this->price * $weight; return $this->priceBR($calculateToll); } /** * @param $price * @return string */ private function priceBR($price) { return number_format($price,2,'.',','); } } $calcular = new calculateToll(201); echo "Valor do pedágio: ".$calcular->display(); Poderá mudar o valor de entrada por meio do método, o preço do pedágio e também a fração do calculo ao valor. Deixei os seus valores via default nos atributos, podendo ser abstraído e trocado porque deixei eles protected. Uma função privada para converter em formato BR o preço a ser mostrado via método display.
  10. paulinhosupriano

    Porcentagem em PHP

    No Controller antes de passar os dados para a view. $valor += $valor * 0.1; // +10% se vem do $payment objeto então antes necessita efetuar a adição da porcentagem. Não sabemos como está sua estrutura, então antes de passar os dados para a view(template) será necessário efetuar o calculo.
  11. paulinhosupriano

    Sistema de login com PHP

    Em um sistema de Login, recomendo a utilização de funções, para assim, reutilizar validações em arquivos. Utilizando funções facilitara muito a sua vida. config.php <?php define('HOST','localhost'); define('USER','root'); define('PASS',''); define('DBSA','test'); function connection(){ try { $pdo = new PDO('mysql:host='.HOST.';dbname='.DBSA.';charset=utf8', USER,PASS, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $pdo; } catch(PDOException $e) { throw new \Exception(_("Erro ao conectar". $e->getMessage())); } } functions.php <?php function isMail($mail){ if (filter_var($mail, FILTER_VALIDATE_EMAIL)): return true; endif; return false; } function setMessage($key,$content){ $_SESSION[$key] = $content; } function getMessage($key){ $message = ''; if(isset($_SESSION[$key])): $message = $_SESSION[$key]; unset($_SESSION[$key]); endif; return $message; } function CryptPassword($password){ return password_hash($password,PASSWORD_DEFAULT,['cost' => 12]); } function VerifyPassword($password,$hash){ return ( password_verify($password, $hash) ) ? true : false ; } function Auth($mail,$senha){ if(!isMail($mail)): setMessage('login','O e-mail inválido.'); return false; endif; $sql = "SELECT * from usuarios WHERE email = ? "; $exeQuery = connection()->prepare($sql); $exeQuery->execute([ $mail ]); if($exeQuery->rowCount() == 0 ): setMessage('login','Usuário não encontrado.'); return false; endif; $user = $exeQuery->fetch(\PDO::FETCH_OBJ); if( !VerifyPassword($senha, $user->password) ): setMessage('login','Senha incorreta.'); return false; endif; $_SESSION['userlogin'] = (array)$user; return (array)$user; } function checkAuth($session){ if(!isset($session['email']) ): session_destroy(); return false; endif; if(!isset($session['password']) ): session_destroy(); return false; endif; if(!isMail($session['email'])): session_destroy(); return false; endif; $sql = "SELECT * from usuarios WHERE email = ? and password = ?"; $exeQuery = connection()->prepare($sql); $exeQuery->execute([ $session['email'],$session['password'] ]); if($exeQuery->rowCount() == 0 ): session_destroy(); return false; endif; $user = $exeQuery->fetch(\PDO::FETCH_ASSOC); return $user; } index.php <?php session_start(); require_once('config.php'); require_once('functions.php'); ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8" /> <title>Login Auth</title> </head> <body> <?php $logar = filter_input_array(INPUT_POST,FILTER_DEFAULT); if(isset($logar)): $user = Auth($logar['email'],$logar['senha']); if(!$user): echo getMessage('login'); else: header('Location: painel.php'); endif; endif; ?> <form action="" method="POST"> <input type="text" name="email"> <input type="password" name="senha"> <input type="submit" value="Logar!"/> </form> </body> </html> painel.php <?php session_start(); require_once('config.php'); require_once('functions.php'); $logoff = filter_input(INPUT_GET,'sair',FILTER_VALIDATE_BOOLEAN); if(!isset($_SESSION['userlogin'])){ @session_destroy(); header('Location: index.php'); }elseif(isset($logoff) && $logoff){ @session_destroy(); setMessage('login','Você desconetou com sucesso.'); header('Location: index.php'); }else{ $user = checkAuth($_SESSION['userlogin']); if(!$user){ @session_destroy(); header('Location: index.php'); } } ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8" /> <title>Painel de Administração</title> </head> <body> <h1>Olá <?=$user['nome'];?>!</h1> <a href="?sair=true">Sair</a> </body> </html> SQL: CREATE TABLE `usuarios` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(255) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `password` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
  12. paulinhosupriano

    Carrinho de Compras PHP

    Pode ocorrer de um erro caso seja tamanhos inteiros. Então no lugar de usar um sinal de - coloque #
  13. paulinhosupriano

    Como monitorar os arquivos novos de uma pasta

    Geralmente esses arquivo vem de um retorno chamado de remessa e retorno, alguns arquivos são o mesmo nome quando vem ao seu servidor, se utiliza o CURL para conectar-se ao servidor, então, recomendo a utilização de uma biblioteca para CURL a guzzlehttp. Recomendo também criar sua estrura de recebimento com um padrão ano/mes/dia/* arquivos Sempre recebendo os arquivos enviando de outro servidor em um diretório base. EX: SEFAZ\ano\mes\dia\arquivos...... e você faz um insert no banco de dados com o caminho para recuperação de forma mais eficiente, caso contrário, poderia fazer uma listagem na pasta gerando uma estrutura organizada para você. SEFAZ\ SEFAZ\ANO SEFAZ\ANO\MES SEFAZ\ANO\MES\DIAS Sempre será esse padrão. Comandos para base de conhecimento: DirectoryIterator <?php $it = new DirectoryIterator(__DIR__); foreach ($it as $fileinfo) { if (!$fileinfo->isDot()) var_dump($fileinfo->getFilename()); } Examplo FilesystemIterator: <?php $it = new FilesystemIterator(__DIR__); foreach ($it as $fileinfo) { echo $fileinfo->getFilename() . "\n"; }
  14. paulinhosupriano

    Inserir mais uma variavel em "else" "php"

    Tentando entender sua dúvida, Você deseja exibir: Expirado em: dias Expira Hoje Expirado Expirado X dias <?php $totaldias = $usuario['dia'] - $usuario['uso']; $message = ''; switch($totaldias): case '0': $message = '(expira hoje)'; break; case '1': $message = '(expira amanhã)'; break; case ($totaldias < 0): $message = "expirado em: <b>{$totaldias} dias</b>"; break; default: $message = "você tem: <b>{$totaldias} dias</b>"; break; endswitch; echo "<td align=\"center\">{$message}</td>";
  15. paulinhosupriano

    Dúvida sobre url amigável em php

    Olá amigo, Achou que fazer um sistema de rotas manual não e tão interessante, recomendo a utilização de uma biblioteca para auxiliar no caso um slim pode utilizar a versão 2 para pequenos projetos ou o slim 4 mais atual para grandes projetos. Dependendo do projeto, pode optar em usar um laravel. Achou que o Slim poderá auxiliar nessa tarefa. link documentação do slim 2 https://docs.slimframework.com/start/get-started/ Poderá baixar a biblioteca ou utilizar ele via composer. Siga o padrão do PSR-4
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.