Jump to content
Fórum Script Brasil

laio

Membros
  • Content Count

    14
  • Joined

  • Last visited

Community Reputation

0 Neutro

About laio

  1. laio

    Formatação de Data

    Eu acabei de testar aqui, acho que o problema é você colocar o "M" maiúsculo. Quanto coloca maiúsculo aparece Oct, quando coloca minusculo aparece 10. Outro script que também funciona é esse. <?php setlocale(LC_TIME, 'pt_BR', 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese'); date_default_timezone_set('America/Sao_Paulo'); echo strftime('%d %B %Y', strtotime('today')); ?> nesse caso vai aparecer: 26 outubro 2017
  2. laio

    Formatação de Data

    Esse é o script para pegar a data e jogar na variável $data <?php date_default_timezone_set('America/Sao_Paulo'); $data = date('d/m/Y'); ?> Depois, onde você quiser mostrar a data você tem q dar um echo na variável $data <?php echo $data; ?>
  3. laio

    Formatação de Data

    quando eu preciso usar data eu pego assim: <?php date_default_timezone_set('America/Sao_Paulo'); $data = date('d/m/Y'); ?>
  4. Aproveitando o tópico, gostaria de fazer uma pergunta sobre segurança de arquivos. Se eu tenho um site (PHP) de video aula por exemplo e eu libero o video somente para um determinado usuario. Ex: Tabela usuarios: user_id: 1 login: usuario1 liberacao: 1 (0 = não liberado / 1 = liberado) ---- user_id: 2 login: usuario2 liberacao: 1 (0 = não liberado / 1 = liberado) ---- user_id: 3 login: usuario3 liberacao: 0 (0 = não liberado / 1 = liberado) Ai quando a pessoa fazer login no site. eu vou mostrar um vídeo somente para quem tem liberacao = 1. Ex: <?php $sqlInfosUser = ("SELECT * FROM usuarios WHERE user_id = '". $_SESSION['user_id'] ."'"); $queryInfosUser = mysql_query($sqlInfosUser,$conexao); $infosUser = mysql_fetch_array($queryInfosUser); $liberacao = $infosUser['liberacao']; if($liberacao == 0){ //exibe uma imagem com a thumb do vídeo }elseif($liberacao >= 1){ //exibe o video } ?> Esse vídeo estaria no meu servidor dentro da pasta www/videos por ex. Isso é seguro, tendo em vista que eu quero deixar somente alguns usuários verem o conteúdo do vídeo??
  5. Isso serve para eu bloquear uma página, eu quero bloquear acesso direto a um arquivo .mp4
  6. Sim, tem sistema de login...
  7. Galera, preciso "proteger" um arquivo de um servidor. A um tempo atras eu tinha visto isso em um site, mas não me recordo onde foi. Vou tentar ser bem claro no exemplo. No meu servidor tem a pasta: www/arquivos Dentro da pasta arquivos tem um vídeo por exemplo: www/arquivos/video.mp4 ai no banco de dados eu cadastro o nome do vídeo, o autor e uma key para ele. TABELA conteudo: conteudo_id: auto_increment conteudo_autor: autor1 conteudo_nome: video conteudo_key: 1a2B3c (chave aleatória para esse conteúdo) na hora de exibir esse vídeo na pagina do site, era mais ou menos assim: <?php $sqlConteudo = ("SELECT * FROM conteudo WHERE conteudo_autor = 'autor1'"); $queryConteudo = mysql_query($sqlConteudo,$conexao); while($conteudo = mysql_fetch_array($queryConteudo)){ $nome_video = $conteudo['conteudo_nome']; $key_video = $conteudo['conteudo_key']; echo"<video width='1024px' height='768px' controls> <source src='arquivos/$nome_video.mp4?key=$key_video' type='video/mp4'> </video>" } ?> Eu não me recordo se usava .HTACCESS ou só PHP, mas quando a pessoa digitava a url: www.meusite.com/arquivo/video.mp4 o site era redirecionado para o index.php. Era possível acessar o vídeo direto pela URL se digitasse www.meusite.com/arquivo/video.mp4?key=1a2B3c. Se alguém puder ajudar! Obrigado.
  8. Já posso falar que eu te amo?? rsrsrs Agora funcionou perfeitamente!! Muito obrigado pela ajuda!! Quando eu precisar de ter mais de um pacote de créditos eu volto para encher seu saco!! rsrsrs Abraços, OBRIGADO!
  9. Segue o log... atualizaPedido(26,2) atualizaPedido(26,3) if ($status == 3) array ( 'id' => '26', 0 => '26', 'descricao' => 'Pedido de Teste', 1 => 'Pedido de Teste', 'status' => '3', 2 => '3', 'user_name' => 'laioteste', 3 => 'laioteste', ) atualizaCash(,30)
  10. Ficou assim <?php include_once 'config.php'; session_start(); class conecta extends config{ var $pdo; function __construct(){ $this->pdo = new PDO('mysql:host='.$this->host.';dbname='.$this->db, $this->usuario, $this->senha); } function salvarPedido(){ $teste_login = $_SESSION['user_name']; $stmt = $this->pdo->prepare("INSERT INTO pedidos (descricao, status, user_name) VALUES ('Pedido de Teste', 1, '".$teste_login."')"); $stmt->bindValue(":codigo",$codigo); $run = $stmt->execute(); } function atualizaPedido($reference, $status){ $stmt = $this->pdo->prepare("UPDATE pedidos SET status = :status where id = :reference"); $stmt->bindValue(":reference",$reference); $stmt->bindValue(":status",$status); $run = $stmt->execute(); if ($status == 3) { $stmt = $this->pdo->prepare("SELECT * FROM pedidos WHERE id = :reference"); $stmt->bindValue(":reference",$reference); $stmt->execute(); $pedido = $stmt->fetch(); $cash = 30; $this->atualizaCash($pedido->user_name, $cash); } } function atualizaCash ($user_name, $cash) { $stmt = $this->pdo->prepare("UPDATE users SET user_cash = user_cash + :cash WHERE user_name = :user_name"); $stmt->bindValue(":user_name",$user_name); $stmt->bindValue(":cash",$cash); $stmt->execute(); } } ?> Mas não fez o update do user_cash, mesmo assim.
  11. Markus, Rodei o código aqui. E usei o ambiente de testes do pagseguro. Simulei um pagamento, atualizou o status para 3, porém não acrescentou 30 na tabela users em user_cash. Depois de ter rodado uma vez, dei uma conferida e vi que essa linha estava com o nome da coluna errado. $stmt = $this->pdo->prepare("UPDATE users SET cash = cash + :cash WHERE user_name = :user_name"); alterei para: $stmt = $this->pdo->prepare("UPDATE users SET user_cash = user_cash + :cash WHERE user_name = :user_name"); Mas mesmo assim não deu certo...
  12. Quando a pessoa clica em comprar eu salvo o pedido no banco pela função: function salvarPedido(){ $teste_login = $_SESSION['user_name']; $stmt = $this->pdo->prepare("INSERT INTO pedidos (descricao, status, user_name) VALUES ('Pacote 30 créditos', 1, '".$teste_login."')"); $stmt->bindValue(":codigo",$codigo); $run = $stmt->execute(); } Eu não sei muito bem como funciona a API de notificações do pagseguro. Mas sei que quando a pessoa efetua o pagamento automaticamente o status no banco de dados passa a ser 3. function atualizaPedido($reference, $status){ $stmt = $this->pdo->prepare("UPDATE pedidos SET status = :status where id = :reference"); $stmt->bindValue(":reference",$reference); $stmt->bindValue(":status",$status); $run = $stmt->execute(); } quando clica no botão de compra esses são os dados que o pagseguro recebe. <?php $data['token'] ='MEU TOKEN'; $data['email'] = 'MEU EMAIL'; $data['currency'] = 'BRL'; $data['itemId1'] = '1'; $data['itemQuantity1'] = '1'; $data['itemDescription1'] = 'Pacote 30 creditos'; $data['itemAmount1'] = '30.00'; $url = 'https://ws.pagseguro.uol.com.br/v2/checkout'; $data = http_build_query($data); $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); $xml= curl_exec($curl); curl_close($curl); $xml= simplexml_load_string($xml); echo $xml -> code; ?> e me retorna <?php $notificationCode = preg_replace('/[^[:alnum:]-]/','',$_POST["notificationCode"]); $data['token'] ='MEU TOKEN'; $data['email'] = 'MEU EMAIL'; $data = http_build_query($data); $url = 'https://ws.pagseguro.uol.com.br/v3/transactions/notifications/'.$notificationCode.'?'.$data; $curl = curl_init(); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, $url); $xml = curl_exec($curl); curl_close($curl); $xml = simplexml_load_string($xml); $reference = $xml->reference; $status = $xml->status; if($reference && $status){ include_once 'conecta.php'; $conn = new conecta(); $rs_pedido = $conn->consultarPedido($reference); if($rs_pedido){ $conn->atualizaPedido($reference,$status); } } ?> OBS: AS FUNÇÕES FICAM NO ARQUIVO CONECTA.PHP
  13. Galera, sou novo aqui no fórum, acho que estou a área certa. Vamos la: Tenho um servidor de jogos online e estou tentando automatizar a compra e entrega de "cash" pela pagina de compra do site. ( cash o usuário compra para gastar ingame ). Eu já tenho um sistema de cadastro e sistema de login no meu site. A pouco tempo consegui implementar o sistema de pagamentos e notificações do pagseguro no site e achei que poderia deixar a coisa automática. Vou explicar oque eu consegui fazer. Minha pagina de cadastro controla a tabela USERS onde eu guardo os seguintes dados: (vou preencher como se fosse um registro do meu banco) user_id (A.I) = 1 user_name = usuarioteste user_senha = 123456 user_email = [email protected] user_cash = 0 Para registrar as comprar feitas no pagseguro eu uso uma tabela chamada PEDIDOS. Para fazer a compra pelo site, a pessoa tem q estar logada no site, então quando ela clica no botão de compra eu salvo o 'user_name' da tabela USERS junto na tabela PEDIDOS, que fica assim: pedido_id (A.I) = 1 descricao = pacote de 30 cash status = 1 ( status 1 para o pagseguro significa "AGUARDANDO PAGAMENTO" ) user_name = usuarioteste Agora que vem o X da questão. Quando o usuário efetuar o pagamento o pagseguro via API de notificações vai atualizar o status desse pedido para '3' que significa "PAGO". Eu gostaria de fazer um event ou uma trigger para dar um update no 'user_cash' do usuário 'usuarioteste' da tabela USERS e acrescentar 30 assim que o 'status' mudar para '3'. Se alguém puder ajudar, ou tiver uma solução para o meu problema. Só falta isso para eu concluir o projeto. Obrigado!
×
×
  • Create New...