Jump to content

paulinhosupriano

Members
  • Content count

    672
  • 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

2559 profile views
  1. paulinhosupriano

    Proteger código-fonte PHP

    Somente disponibilizando uma API ao Cliente.
  2. 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.
  3. 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.
  4. 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.
  5. 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;
  6. paulinhosupriano

    Carrinho de Compras PHP

    Pode ocorrer de um erro caso seja tamanhos inteiros. Então no lugar de usar um sinal de - coloque #
  7. 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"; }
  8. 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>";
  9. 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
  10. paulinhosupriano

    Erro 406 ao cadastrar e ou editar

    Ocorre muito em API REST sobre os erros no caso o seu especifico segue um link sobre o assunto: https://airbrake.io/blog/http-errors/406-not-acceptable
  11. paulinhosupriano

    Substituir array por array com preg_replace

    Olá usuario181474618518, Bom, entendi o que desejava fazer, então, criei um script referente ao que desejava. Como foi o meu pensamento para chegar a esse resultado. 1 - Criar uma função para resolver o problema podendo reutilizar em outras áreas. 2- ter 3 parâmetros para utilizar a função, 1 o array de menu, o conteúdo em string(texto) e um array de caracteres não importantes. Criação da função: Os passos: 1 - Verificar se existe os caracteres a serem removidos do conteúdo. 2 - criar um array através do conteúdo, carácter escolhido ESPAÇO. 3 - Percorrer os o arrMenu e o conteúdo fazendo a comparação se o valor do menu e igual a cada item gerado do conteúdo. 4 - gerar a lista UL>LI caso exista o menu list. 5 - Remover os itens duplicados do arrayMenu 6 - Gera a lista 7 - Retornar a lista Segue o script abaixo: Observação: Esses itens abaixo, e para ser personalizado com a url e como deseja mostrar cada item de menu. $url = '#'; $list = $list; <?php $from = array( 0 => "Laranja", 1 => "Azul", 2 => "Vermelho", 3 => "Verde", 4 => "Black" ); $conteudo = "Meu conteúdo Filmes Laranja e Verde. Blackout."; $menuslist = listCategoryMenu($from,$conteudo, [ '.',',' ]); echo $menuslist; function listCategoryMenu(array $arrMenu, string $contents, array $arrRemove){ $contents = $contents; $arrMenuList = null; if(is_array($arrRemove) && sizeof($arrRemove) > 0 ): $contents = str_replace($arrRemove,'',$contents); endif; $contents = explode(' ',$contents); foreach($arrMenu as $keys => $values): foreach($contents as $content): if($values == $content): $arrMenuList[] = $content; endif; endforeach; endforeach; $html = null; if(is_array($arrMenuList) && sizeof($arrMenuList) > 0 ): $arrMenuList = array_unique($arrMenuList); $html .= '<ul>'; foreach($arrMenuList as $list): $url = '#'; $list = $list; $html .= sprintf('<li><a href="%s">%s</a></li>',$url,$list); endforeach; $html .= '</ul>'; endif; return $html; }
  12. paulinhosupriano

    sistema com erro de cep.

    Olá, o webservice url: "https://codigospostais.appspot.com/cp7?codigo=" + cep, está com problemas, recomendo a utilização do webservice https://viacep.com.br/ da uma olhadinha, poderá resolver o seu problema.
  13. paulinhosupriano

    Contador com erro

    Boa tarde, Achou que o nome meninos não seria tão cordial, um obrigado dev's, ou somente obrigado seria cordial. 1- Recomendo incluir as funções em um arquivo separado, exemplo: functions.php funcoes.php nome_do_arquivo_de_funcoes.php 2 - Poderá incluir ou requerer o arquivo em qualquer outro arquivo de sua estrutura. usando o include, require ou ate mesmo um include_once e require_once a diferença recomendo o estudo sobre. 3 - Para chamar a função seria exemplo: functions.php <?php function ConnectionDB(){ $link = mysqli_connect('localhost', 'root', '', 'cursodeveraofortaleza'); return $link; } function contandoUsuarios($user_id){ $conn = ConnectionDB(); $sql = "SELECT * FROM users WHERE users_id = $user_id "; if ($result = mysqli_query($conn, $sql)) { if (mysqli_num_rows($result) > 0 ) { return mysqli_num_rows($result); } return '0'; }else{ return 'Erro no SQL....'; } } <?php // requerindo o arquivo functions.php require_once('functions.php'); echo contandoUsuarios(5); echo contandoUsuarios(intval($_POST['user_id'])); Obs: A função contandoUsuarios($parametro) dependendo da base de dados sempre vai retornar 1 usuário. porque vai depender de como está a sua estrutura da tabela e o que deseja retornar. Se queres todos os usuários então o SQL interno da função em questão deveria ser outra. Lembre-se utilizar o SQL sempre vai depender de sua base de dados BANCO- TABELAS, das informações contidas e da regra de negocio envolvida nela.
  14. paulinhosupriano

    Contador com erro

    Olá! Primeiro, os nomes das funções não está correto, não poderá utilizar o sinal -(menos) em nome de função, então recomendo utilizar o _ (underline). Segundo, o nome das variáveis também segue o mesmo padrão acima, não poderá utilizar o sinal de -(menos) o recomendável e a utilização do _(underline). Terceiro, a utilização do ['$contaenfermeiras'] não está sendo encontrado por não ser passado via parâmetros por motivo de ações dentro de funções. Quarto, não recomendo a utilização de globais dentro das funções. Segue alguns exemplo para melhorar seus conhecimentos na linguagem PHP function ConnectionDB(){ $link = mysqli_connect('localhost', 'root', '', 'danco_de_dados'); return $link; } function contandoUsuarios($user_id){ $conn = ConnectionDB(); $sql = "SELECT * FROM users WHERE users_id = $user_id "; if ($result = mysqli_query($conn, $sql)) { if (mysqli_num_rows($result) > 0 ) { return mysqli_num_rows($result); } return '0'; }else{ return 'Erro no SQL....'; } } Preste atenção no SQL, precisa ser referente ao que deseja na consulta e com os campos de sua tabela. O script completo: observação: e um demo para ter como base e não referente a sua tabela porque não conheço a sua regra de negocio. <?php function ConnectionDB(){ $link = mysqli_connect('localhost', 'root', '', 'cursodeveraofortaleza'); return $link; } function contandoUsuarios($user_id){ $conn = ConnectionDB(); $sql = "SELECT * FROM users WHERE users_id = $user_id "; if ($result = mysqli_query($conn, $sql)) { if (mysqli_num_rows($result) > 0 ) { return mysqli_num_rows($result); } return '0'; }else{ return 'Erro no SQL....'; } }
  15. paulinhosupriano

    exibir ocorrência contida na string, caso exista

    Seguindo um padrão, poderá converter em ARRAY e verificar pela cor a ser procurada. ficando o código: <?php $cores = ('verde,amarelo,azul,cinza,preto'); $cores = explode(',',$cores); $procuraCor = 'azul'; if(in_array($procuraCor,$cores)){ echo 'Existe valor: ' . $procuraCor; }else{ echo 'Não existe valor: '.$procuraCor; }
×

Important Information

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