Mini Curso de PHP – Sistema de noticias (dica)


1 Estrelas2 Estrelas3 Estrelas4 Estrelas5 Estrelas (5 votos, média: 4.40 de 5)
Loading ... Loading ...

Bom pessoal, estava aqui colocando o sistema de noticias no ar, ou melhor, a parte que já fizemos do sistema de noticias. E lembrei de fazer uma alteração no arquivo banco.php. Neste arquivo informamos os dados para acesso ao banco de dados. Mas, agora preciso deixar o sistema rodando na minha maquina e online. Vou ter um problema: O arquivo banco.php na minha maquina vai ser diferente do arquivo banco.php que vai estar online. Como já tive muitos problemas com isso, eu sempre faço uma meia-gambiarra.

Nesta meia-gambiarra vamos utilizar uma super-global chamada $_SERVER. Esta super-global é um array que contem diversas informações.

Utilizaremos a opção ‘HTTP_HOST’. Esta opção retorna o nome do domínio que o script esta sendo executado. Rode o seguinte script em seu navegador:

  1. <?
  2. echo $_SERVER[‘HTTP_HOST’]; // mais info em: http://br.php.net/manual/pt_BR/reserved.variables.server.php
  3. ?>

Perceba que ele vai imprimir: localhost

No meu caso, se eu rodar aqui no site, será impresso: www.marcelosabadinil.com.br

Então fiz algumas mudanças no arquivo banco.php. Veja abaixo com oficou o fonte:

  1. <?
  2. if($_SERVER["HTTP_HOST"] == "localhost"){ // aqui se o script rodar em localhost
  3.     $host = ‘localhost’; // HOST para conexão
  4.     $user = ‘root’; // usuário
  5.     $pass = ; // senha
  6.     $db   = ‘sistema_noticias’;
  7. } else { // se rodar em outro servidor, no meu caso é o marcelosabadini.com.br, vc pode colocar um ELSE IF aqui caso seu script rode em mais de dois servidores heehehehe… é meio improvavel, mas…
  8.     $host = ‘mysql.marcelosabadini.com.br’; // HOST para conexão
  9.     $user = ‘XXXXXXXX’; // usuário
  10.     $pass = ‘XXXXXXXX’; // senha
  11.     $db   = ‘nome_do_banco’;
  12. }
  13. # ===– Aqui ele tenta efetuar a conexão com o banco de dados
  14. $con = mysql_connect($host, $user, $pass);
  15.  
  16. # ===— Se a conexão der certo
  17. if($con){
  18.     # ===— Seleciona base de dados
  19.     mysql_select_db($db);
  20. } else {
  21.     echo ‘OPS… acho que ocorreu algum erro, veja o erro abaixo:<BR>(‘.mysql_errno().‘) ‘.mysql_error();
  22. }
  23. ?>

Perceba que o primeiro trecho do script é justamente um IF que testa onde o script esta sendo executado. Se for em localhost, então os dados de acesso ao banco de dados são X, caso contrário os dados são Y.

Agora os arquivos que estão no servidor são exatamente idênticos aos arquivos da minha maquina, eu posso dar um Syncronize com o Dreamweaver sem me preocupar com o arquivo banco.php.

Bom, essa é mais uma dica que deixo para vocês. Espero que gostem.

  1. 2 Comentários to “Mini Curso de PHP – Sistema de noticias (dica)”

  2. Eu costumo definir uma constante no início do script, assim é só dar um IF na constante em qualquer parte do código.

    define(‘LOCALHOST’, ($_SERVER['SERVER_ADDR'] == ’127.0.0.1′));

    Abraços…

    ReplyReply

    Por Marcelo (3 comments) em 25/01/2009

  3. Olá Marcelo tudo bom?

    Com certeza essa forma é super interessante e eu recomendo(é basicamente assim que eu a utilizo)!

    Mas, eu faço isso em uma função.

    Se alguem que ler isto não entender a linha postada pelo meu chará, por favor deixe um comentário!!

    Abraços!

    ReplyReply

    Por Marcelo Sabadini (109 comments) em 25/01/2009

Coloque um Comentário

Links de comentários deveriam estar livres de nofollow.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes