Player De Música Em PHP

Nas matérias anteriores falamos sobre vários assuntos relacionados ao PHP, tais como: Carrinho de Compras, Sistema de Votações, Notícias, entre vários outros assuntos interessantes.

Hoje gostaria de implementar nosso Blog com uma matéria prática, porém, objetiva, principalmente para quem gosta de música!

Já pensou em montar um sistema onde você possa inserir suas músicas e tocar através de qualquer computador?

Através deste sistema você terá como fazer isso…

E mais: Como fazemos em todas as nossas matérias, em anexo temos disponível os ficheiros para que tu possa estudar e testar a matéria que estamos lhe explicando.

Estrutura De Pastas Do Player De Música Em PHP

Como alguns já sabem, gosto de focar os sistemas que desenvolvo de forma limpa, prática e organizada.

Por este motivo, apresentamos abaixo a estrutura utilizada nas pastas deste Sistema:

estrutura pastas

Criando As Tabelas Na Base De Dados MySQL

Antes de partirmos para a programação, abra o ficheiro script-sql.txt (disponível em anexo) e cole seu conteúdo no Programa utilizado para gerenciamento da base de dados.

Em nossas matérias utilizamos como padrão o MySQLFront. Caso tu também esteja utilizando este programa, clique em SQL Editor e cole o conteúdo do script (conforme imagem abaixo).

Carregando  Informações no BD

Script de Conexão Ao MySQL

Tendo as pastas já criadas e as tabelas da base de dados geradas, você poderá dar início à programação.

Crie o ficheiro CONFIG.PHP e coloque dentro da pasta CONFIG.

Neste ficheiro você deverá disponibilizar o script a seguir:


<?
$database = "localhost:3306"; // SERVIDOR E PORTA UTILIZADA
$dbname   = "tutorial"; // BASE DE DADOS
$usuario  = "root"; // USUÁRIO DO MYSQL
$dbsenha  = ""; // SENHA DO MYSQL

$conexao=mysql_connect ($database, $usuario, $dbsenha);
if($conexao){
      if (mysql_select_db($dbname, $conexao)){ print "";
      }else{ print "Não foi possível selecionar o Banco de Dados"; }
}else{ print "Erro ao conectar o MySQL"; }
?>

OBS.: Veja que ao acessar o Servidor, estamos definindo também o número da Porta padrão do MySQL.

Caso a Porta utilizada não seja a 3306, efetue a alteração devida!

Usando o Menu Gerencial Do Player De Música Em PHP

O Menu Gerencial será o local onde você poderá gerenciar este Sistema!

Acompanhe abaixo alguns exemplos das páginas principais onde estaremos manipulando as informações:

index.php:

A página index.php apesar de ter uma aparência simples, é de fundamental importância para este Sistema.

Somente através dela teremos acesso ao Menu Gerencial!

Independente do endereço que você disponibilize no site, para ter acesso a esta área, insira a seguir o diretório ADMIN.

Exemplo: http://www.seusite.com/admin/

Ao acessar este diretório, o Sistema pedirá os dados de acesso.

Insira as informações abaixo (conforme imagem a seguir):

Login: teste@teste.com
Senha: 123456

Acessando o Menu  Gerencial

autenticao.rotinas.php:

Esta será a página onde faremos todo o gerenciamento de usuários, isto é: Diremos ao Sistema quem deve ou não ter acesso à Área Gerencial.

Bem… estamos disponibilizando um script simples de acesso, porém, caso seja de seu interesse, você poderá melhorar este código.

—– Linha 02 e 03 —–


session_start();
include("../config/conexao.php");

Este é o trecho mais importante do código, pois se você não tiver este conteúdo em seu código, ele simplesmente não vai registrar a sessão, nem permitir seu acesso à base de dados.

—– Linha 06 à Linha 08 —–


$cliente_username = $_POST['usuario'];
$cliente_password = $_POST['senha'];
$enviado          = $_POST['enviado'];

Através das linhas acima você receberá as variáveis com o nome do usuário, senha de acesso e o status (neste caso, utilizaremos a condição “enviado” para reforçar um pouco mais a segurança).

—– Linha 10 à Linha 29 —–


if ($enviado == "posted"){

if (!isset($cliente_username) or !isset($cliente_password)) { echo "Erro!";  exit; }
if (empty($cliente_username) or empty($cliente_password)) { echo "Dados inválidos!"; exit; }

$query = "select * from tbl_usuarios where email = '$cliente_username' and senha =

'$cliente_password'";
$result = mysql_query($query);
$number = mysql_num_rows($result);

if ($number==0) { ?&gt;//
//  }
mysql_close($conexao);

}

Nas linhas acima o script fará uma validação completa, verificando se o usuário e a senha informada existem.

Antes disso, ele só fará a leitura se a variável “enviado” (exemplo anterior) tiver o valor “posted”.

Caso este valor (que será passado através do método POST) não seja o informado, ele sequer fará a leitura no demais.

Nas linhas a seguir (após ele validar a variável “$enviado” o script fará uma série de verificações, finalizando ao registrar as sessões para o ID e NOME do Usuário selecionado. Além disso ele fará seu direcionamento à página principal.php.

principal.php:

Esta será a página principal do sistema, onde teremos acesso às demais a serem gerenciadas (conforme você pode ver na imagem a seguir).

PÁGINA PRINCIPAL

OBS.: Apesar de também estar disponível no Sistema e no ficheiro em anexo, para não tomar muito seu tempo, falaremos nesta matéria apenas alguns detalhes do Sistema.

Certamente os comentários disponíveis nesta matéria sanarão qualquer dúvida que você tenha quanto aos demais arquivos.

—– Linha 02 à Linha 11 —–


session_start();
if (empty($_SESSION['usuario_id'])){
echo "Acesso negado!";
exit;
}else{
include('config/conexao.php');

$usuario_id   = $_SESSION['usuario_id'];
$usuario_nome = $_SESSION['usuario_nome'];
}

Neste trecho do código fonte faremos uma validação!

Se o ID e NOME do usuário tiverem em uso nesta sessão, ele deverá lhe dar acesso, caso não esteja em uso ele deverá restringir o acesso.

Fará acesso também ao script CONEXAO.PHP (responsável pela conexão ao banco de dados).

Após isto, o Sistema fará algumas verificações simples neste script, só atentando para o botão sair (onde ele deverá direcionar seu acesso ao script LOGOUT.PHP – responsável pela exclusão da sessão).

player_cadastrar.php:

Esta será a página responsável pelo cadastro da música (conforme você pode ver na imagem disponível abaixo).

CADASTRANDO UMA  MÚSICA

Como você pode ver, é uma página de cadastro, porém, receberá além das informações de cadastro o ficheiro com extensão .mp3 (extensão mais usada para músicas).

script_player.php:

Trata-se de um script exclusivo que deverá receber o conteúdo enviado pelo formulário, enviando parte dele ao banco de dados e a música ao diretório “musica”, devendo também excluir o conteúdo cadastrado quando necessário.

player_listar.php:

Através desta página você poderá de forma prática e simples listar todas as músicas cadastradas, podendo ativar, desativar ou excluir a qualquer momento (conforme a imagem a seguir).

LISTAR MÚSICAS  CADASTRADAS

OBS.: Caso a música esteja ativa, ela aparecerá em sua cor normal (preta). As músicas inativas aparecerão na cor vermelha, facilitando seu gerenciamento.

Página Externa

Este será o local onde você ou os internautas poderão verificar o conteúdo anteriormente cadastrado no menu gerencial.

Dividimos este conteúdo em 3 scripts:

index.php:

Através do código a seguir, você conseguirá direcionar o internauta à página inicial do Player

(conforme código e imagem a seguir):



.:: WEBMASTER.PT :: PLAYER DE MÚSICA ::.
<script>// <![CDATA[
  function Abrir_Pagina(URL,Configuracao) {

    window.open(URL,'',Configuracao);

  }
// ]]></script>

PLAYER DE MÚSICA
<div>

<a href="Abrir_Pagina('musicas_selecionadas.php','scrollbars=no,width=468,height=260')">
<img src="imagens/01_01.jpg" border="0" alt="" width="221" height="158" /></a></div>

PÁGINA INICIAL DO  SITE

musicas_selecionadas.php:

Através deste script, juntaremos o código em JavaScript disponível no ficheiro “funcoes.js” e o código em PHP disponível na página “radio.php”.

Em um trecho deste código, o sistema chamará a página rádio.php (disponível a seguir).

OBS.: Apesar de não ter muito a ser comentada, nesta página, temos disponível espaço para publicação de banner (conforme imagem a seguir).

RADIO TOCANDO

radio.php:

Para finalizar, vamos comentar como funciona este código:



<ASX version = "3.0">
<!--A simple playlist with entries to be played in sequence.-->
<Title>The Show Title</Title>
<?
include("admin/config/conexao.php");

$query = "select * from tbl_player where status = 1 order by rand()";
$rs = mysql_query($query);

while($row = mysql_fetch_array($rs)){
$titulo_musica = $row['musica'];
?>

<Entry><Ref href = "musicas/<?php echo $titulo_musica; ?>" /></Entry><?}?></ASX>

Este é um ficheiro .ASX responsável pela seleção das músicas.

Veja que em meio ao conteúdo, temos além do INCLUDE (que trará os dados de acesso à base de dados) um SELECT, onde trará o conteúdo da tabela em ordem randomica, porém, com status = 1.

O status 1 são as músicas ativas!

Digamos: Se você tiver várias músicas de diversos gêneros e quiser ouvir apenas as músicas do Kenny G (por exemplo), clica em desativar as demais músicas e o Sistema estará trazendo ao Player apenas as músicas de seu interesse.

Ficamos por aqui em mais uma matéria! Esperamos tê-lo ajudado em algo…

Envie-nos suas dúvidas e dê sugestões para as próximas matérias! Nosso compromisso é lhe ajudar!

Download do Código: Player de Música em PHP

Be Sociable, Share!

38 Comentários

  1. Esta ficando cada vez mais interessante! Gostei muito!
    Não só ensinou a fazer um tocador como deu uma aula de sistema de login!
    Parabéns.

  2. osvaldo fernando

    oy cara escrevo directamente da perola do oceano indico, de Mocambique…. olha gostei muito da aula…. valeu mesmo, aprendi muito…. hy

  3. André Costa

    Cara muito bom seus Artigos, uma verdadeira aula, Parabéns
    Agora estou te seguindo no twitter @_andrelittle_
    Abraços @_andrelittle_

    • Olá André! O blogue tem vários autores. Este tutorial sobre o player de música foi escrito pelo Quemuel! Eu sou o editor e também escrevo. Pode ver o nome do autor na barra lateral do lado direito. Obrigado pelo seu comentário! Um Abraço! Rui Soares

  4. Marcio R

    Ola, baixei o seu codigo e depois de umas alterçoes eu consegui fazer o cadastro e o upload das musicas, porem ao abrir o player ele nao toca as musicas, se tiver alguma dica. Os navegadores usados sao firefox 3.6 e IE 8.0. Grato

    • Rogério

      Marcio, vc conseguir fazer o player tocar as música???
      Estou com o mesmo problema, ainda não consegui fazer o player funcionar!
      Pode me dar uma ajuda?
      Abraços

  5. Mário

    isto não é para quem quer, é só mesmo para quem sabe, muito bom mesmo, parabéns :)

  6. Marcos

    onde eu baixo o ficheiro em anexo script-sql.txt ?

  7. Olá entao tenho algumas duvidas queria saber por que o player não envia a musica pro diretorio pois aqui no meu wamp não está enviando para o diretorio obrigado….

  8. a desculpa não ter colocado meu email pra quem puder me ajudar é adm@twbteam.com.br

  9. Prezados Amigos:

    Gostei muito do player mais tem um detalhe

    Ele anda tocando somente alguns segundos da música, teria algum lugar para se fazer essa alteração?

  10. wesley

    Amigos webmasters, bom dia!
    Vejo aqui os seus scripts prontos, parabéns! É bom saber que existem pessoas que ajudam outros. Não é querendo abusar, mas poderiam me dizer onde estou errando, pois não consigo acessar a página principal, dá semre o erro autorização inexistente/senha inválida ou expirada

  11. Muito bom, mas no Google Chorme não está funcionado.
    Você pode mim ajuda?

  12. kadu39

    Ola sou iniciante em PHP, mas sempre querendo aprender, estou com um problema na construçao do banco de dados , esta dando este erro,,,,, Erro
    consulta SQL:

    — — CRIA A TABELA DE PLAYER —–
    CREATE TABLE `tbl_player` (

    `id_musica` int( 11 ) NOT NULL AUTO_INCREMENT ,
    `titulo_musica` varchar( 150 ) NOT NULL default '',
    `artista_musica` varchar( 150 ) NOT NULL default '',
    `musica` varchar( 255 ) NOT NULL default '',
    `copyright` varchar( 50 ) NOT NULL default '',
    `status` varchar( 10 ) NOT NULL default '',
    PRIMARY KEY ( `id_musica` ) );

    Mensagens do MySQL :

    #1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '—– CRIA A TABELA DE PLAYER —–

    CREATE TABLE `tbl_player` (
    `id_musica' at line 1

    • Gui

      Também tive esse erro, é só tirar as mensagens do script, o script ficará assim:
      CREATE TABLE `tbl_player` (  `id_musica` int(11) NOT NULL auto_increment,  `titulo_musica` varchar(150) NOT NULL default '',  `artista_musica` varchar(150) NOT NULL default '',  `musica` varchar(255) NOT NULL default '',  `copyright` varchar(50) NOT NULL default '',  `status` varchar(10) NOT NULL default '',  PRIMARY KEY  (`id_musica`));
      CREATE TABLE `tbl_usuarios` (  `id` int(11) NOT NULL auto_increment,  `nome` varchar(150) NOT NULL default '',  `email` varchar(150) NOT NULL default '',  `senha` varchar(50) NOT NULL default '',  `status` varchar(10) NOT NULL default '',  PRIMARY KEY  (`id`));
      INSERT INTO `tbl_usuarios` VALUES (1,'Administrador','teste@teste.com','123456','1');

    • Tira os comentarios do sql que funciona!

  13. Rogério Dias

    Retira do script a frase —–CRIA A TABELA DE PLAYER—–

  14. Ricardo

    Galera ficaria mais legal uma barra de estatus do envio do arquivo alguem sabe como colocar? me fale por favor ricardo.udi@hotmail.com o resto está nota 1000

  15. Adão Duque

    Woooww.
    Muito bom.
    Obrigado!!

  16. Só falta funcionar o Player no Google Chrome

  17. prns27

    na boa Rui Soares foi tu que inventou o php e ajax? vai tomar banho
    o cara é um monstro( no bom sentido)

  18. parabens muito bom a explicação. Quem sabe sabe. Rui eu  não tenho muito tempo para fazer um player, qual é o valor que vc cobra para fazer um para minha radio?

  19. pedro

    Boa noite, consigo inserir e listar as músicas mas quando vou a ouvir não dá nada…

    Em nenhum browser… como resolvo os problemas amigo? obrigado

  20. nao roda em google crhome e nem firefox

  21. Ricardo

    Fiz tudo certinho, mas na hora do login, dá erro de autenticação, estou usando o login e senha que mostra no tutorial: login: teste@teste.com senha: 123456.

    Nota: já mudei o login e senha para admin/admin e nada.

    Alguém pode ajudar?

    Obrigado!

  22. Paulo da PCR

    Lembrando que o player só vai funcionar no internet explorer no chrome ja não vai aparecer e sima apenas uma tela vermelha

  23. Charles

    Olá, consegui instalar no meu servidor, mas como eu posso colocar minha senha de administrador?

  24. Bruno

    Porque não funciona no chrome ?? nossa, exelente player, porém esse detalhe está me fazendo desistir.

  25. Bruno

    Oláá, os arquivos até 2Mb vão, mas a partir de 2 Mb, a música não entra na pasta, apenas no banco de dados… o que será que pode ser ?? Obrigado

  26. Rita

    Olá, é possível interligar esse painel com um site em wordpress? Gostaria de suas orientações e instruções.
    Aguardo retorno.

  27. Marllon

    pessoal ta dando erro na autenticação nao sei o que possa ser

  28. Edson

    Fiz o download dos arquivos, mas não consegui fazer o sistema funcionar, por favor, podem me ajudar?

  29. Lucas

    Olá poderia me ajuda ? fiz tudo como no tutorial mas quando tento me logar aparece a mensagem " Autorização inexistente/Senha invalida ou expirada " pode me ajudar ??

  30. Carlos

    Escrevo de Angola. Tua dica foi muito útil pra um projecto que estava a desenvolver. Precisava mesmo disso e você apareceu na hora certa. Valeu mesmo.

Participa! Comenta...