Mostrando postagens com marcador php. Mostrar todas as postagens
Mostrando postagens com marcador php. Mostrar todas as postagens

Vaga Programador PHP

Empresa:
InPhoenex

Experiência de pelo menos 1 ano.

Conhecimentos em:

- Metodologias de Testes
- Ferramentas de Testes
- Engenharia de Software
- Programação Orientada a Objetos
- Com perfil investigativo

Salário: entre R$ 1.000,00 a R$ 2.500,00 inicial, dependendo da experiência

Interessados enviar currículo para silvano@inphonex.com com pretensão salarial.

Vaga Programador PHP

Conhecimento e experiência:
- PHP
- Ajax / JS
- SQL
- HTML / CSS

Desejável:

- PHPUnit
- Selenium
- Symfony (1.1)
- PHPDoctrine
- XP / Scrum
- MySql
- JQuery
- Linux, configuração e manutenção de ambiente de desenvolvimento

O ambiente de trabalho é ótimo:

- trabalhamos com Scrum
- temos tempo para escrever teste de software para tudo o que fazemos.
- fazemos refactoring e pensamos constantemente a arquitetura
- não ficamos apagando incêndio o tempo todo
- não ficamos mudando de prioridade o tempo todo.
- boas máquinas
- dois monitores pra cada um
- sem stress

Horário: 8:00-12:00 13:00-17:00, segunda a sexta.

Forma de contratação:

- CLT
- salário de 2.5k
- plano de saúde.

Aos interessados, enviar currículo para o email: bruno@gradua.net

Gerar senha no PHP

Provavelmente vocês algum dia já esqueceram a senha de acesso a algum site, e precisaram clicar naquele famoso link "Recuperar Senha".

E quando clicamos, é solicitado o e-mail utilizado dirante o cadastro, para que seja enviada uma nova senha, para nosso e-mail, e esta senha, normalmente não é a senha que cadastramos, isto porque, o sistema teve que reiniciar sua senha e gerar uma nova senha, já que você a esqueceu.

Por motivos de segurança os sites guardam as senhas em banco de dados criptografada (usando MD5, crypt, etc).

Neste exemplo, veremos como utilizar o PHP[bb] para gerar uma senha aleatória, randômica, em nosso site.

NOTA: no código abaixo, estarei utilizando a numeração nas linhas apenas para melhor visualização e explicação do código. Não digitem estes números de linhas em seu código.

1. <?php

2.

3. $CaracteresAceitos = 'abcdxywzABCDZYWZ0123456789';

4.

5. $max = strlen($CaracteresAceitos)-1;

6.

7. $password = null;

8.

9. for($i=0; $i < 8; $i++) {

10.

11. $password .= $CaracteresAceitos{mt_rand(0, $max)};

12.

13. }

14.

15. echo $password;

16.

17. ?>



Vamos a explicação:

Linha 1:

Abrimos a TAG do PHP

Linha 3:

Criamos uma variável de nome $CaracteresAceitos que irá armazenar letras e números necessários para gerar nossa senha.

Linha 5:

Criamos a variável $max e utilizamos a função "strlen" para contar quantos caracteres a variável $CaracteresAceitos tem.

Linha 7:

Criamos a variável $password e atribuímos a ela o valor null

Linha 9:

Criamos um loop para que nossa senha tenha o tamanho máximo de 8 caracteres

Linha 11:

Concatenamos (.=) a variável $CaracteresAceitos em nossa variável $password, e utilizamos a função mt_rand() para gerar uma senha aleatória, baseada no conteúdo da variável $CaracteresAceitos

Linha 13:

Fechamos a chave do loop

Linha 15:

Utilizamos o echo para exibir o novo valor da variável $password, gerada de forma randômica

Linha 17:

Fechamos a TAG do PHP.

Créditos: Oberaldo Bull

Posted by Programador ASP

Criando RSS 2.0 (Really Simple Syndication) com PHP e MySQL

Definição de RSS segundo a Wikipédia: "RSS é um subconjunto de 'dialectos' XML que servem para agregar conteúdo ou 'Web syndication', podendo ser acedido mediante programas ou sites agregadores. É usado principalmente em sites de notícias e blogs."


1º Passo: Copie o comando SQL abaixo e cole no seu console MySQL:

create database rss;

use rss;

create table noticias (


not_id int(6) not null auto_increment,


not_titulo varchar(60) not null,


not_texto text not null,


not_data date not null,


not_hora time not null,


constraint primary key(not_id)

);


2º Passo: Crie um arquivo PHP chamado Rss.class.php.



3º Passo: Edite o arquivo recém-criado e insira o seguinte código:

<?php

class Rss

{


#Declaracao de variaveis


private $conexao = null;




private $servidor;


private $usuario;


private $senha;


private $alias;




/**


* Construtor


*/


public function __construct()


{


#Dados para conexao com o banco de dados


$this- >servidor = "localhost";


$this- >usuario = "root";


$this- >senha = "vertrigo";


$this- >alias = "rss";




#Efetua a conexao com o banco e seleciona a base de dados


$this- >conexao = mysql_connect($this->servidor, $this->usuario, $this->senha);


if ($this- >conexao)


{


mysql_select_db($this- >alias, $this->conexao);


}


}




/**


* Gera o RSS 2.0


*


* @param String $titulo titulo do rss


*


* @param String $link url do site


*


* @param String $descricao descricao do rss


*


* @param String $tabela tabela do banco de dados que será puxada as informacoes


*


* @param String $campo campo da tabela pelo qual sera ordenado, de forma decrescente, o rss


*


* @param String $destino url de destino das noticias - Ex: http://www.site.com.br/noticia?id=


*


* @return void


*/


public function rss($titulo, $link, $descricao, $tabela, $campo, $destino)


{


#Seleciona os dados no banco de dados


$sql = "SELECT * FROM $tabela ORDER BY $campo DESC;";


$res = mysql_query($sql);




#Cria a variavel $xml com o codigo xml necessario para criar o RSS


$xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";


$xml .= "<rss version=\"2.0\">";


$xml .= "<channel>";


$xml .= "<title>$titulo</title>";


$xml .= "<link>$link</link>";


$xml .= "<description>$descricao</description>";


$xml .= "<language>pt-br</language>";




#Verifica se o numero de linhas resultantes da query eh maior do que zero


if (mysql_numrows($res) > 0)


{


# "Quebra" a matriz


while ($dados = mysql_fetch_array($res))


{


$xml .= "<item>";


$xml .= "<title>$dados[1]</title>";


$xml .= "<link>$destino$dados[0]</link>";


$xml .= "</item>";


}


}




$xml .= "</channel>";


$xml .= "</rss>";




#Retorna o valor da variavel $xml


return $xml;


}

}

?>


4º Passo: Crie um arquivo chamado index.php, no mesmo diretório que o Rss.class.php, e insira o seguinte código:

<?php

require_once("Rss.class.php"); //chama o arquivo

$obj_rss = new Rss(); //instancia a classe

echo $obj_rss->rss("Exemplo de RSS 2.0", "http://www.seusite.com.br", "Últimas notícias", "noticias", "not_id", "http://www.seusite.com.br/noticia.php?id="); //escreve o valor retornado do metodo

?>


5º Passo: Basta inserir registros no banco de dados, acessar o arquivo index.php e pronto! Você já terá seu script RSS a disposição! Inseri dois registros no banco de dados, como exemplo, e obtive o seguinte resultado:





Créditos para Tiago Hillebrandt


Posted by Programador ASP

Funções para array PHP

Essas funções permitem a interação e manipulação de arrays de várias formas. Arrays são essenciais para armazenar, gerenciar, operar sobre um conjunto de variáveis.

Arrays simples e multidimensionais (matrizes) são suportados, e podem ser criados pelo usuário ou por outras funções. Existem diversas funções específicas para banco de dados com o intuito de preencher arrays com os dados retornados em consultas, e vários outros tipos de funções também retornam arrays.

» Função array() - Permite a criação dinâmica de um array.


$fruta = array('banana', 'tomate', 'mamão');

$favorito = array('animal' => 'cachorro', 'carro' => 'stilo');

$planExcel =
array(

array('1 Célula da 1 Linha', '2 célula da 1 linha'),

array('1 Célula da 1 Linha', '2 célula da 1 linha'),

);

» Função count() - Informa quantos elementos determinado o array possui.

echo count($fruta);

Resultado da função: 3

» Função sizeof() - Idêntica à count, retornará um valor inteiro contendo o número de elementos
de um array.


echo sizeof($fruta);

Resultado da função: 3

» Função reset() - Você pode pensar: "apaga o array". Cuidado, essa é uma função que parece, mas não é.

Na verdade, sua função é colocar o índice para o primeiro elemento do array e retornar o valor desse elemento.


echo reset($fruta);

Resultado da função: banana

» Função end() - Faz exatamente o inverso da função reset, colocando o índice para o último elemento do array e retornando o valor deste.


echo end($fruta);

Resultado da função: mamão

» Função prev() - A partir da posicao do indice, desloca-se para o elemento anterior e retorna valor deste.

echo prev($fruta);

» Função next() - A partir da posição do índice, avança para o próximo elemento e retorna valor deste. Caso você esteja no último elemento e utilize esta função, o resultado será vazio.

echo next($fruta);

Resultado: mamao

» Função pos() - Retorna o conteudo do elemento atual do array.

echo pos($fruta);

Resultado: mamao

» Função key() - Retorna o indice do elemento atual do array

echo key($fruta);

Resultado: 2

» Função each() - Cria um novo array com apenas o elemento posicionado no array informado

$cesta = each($fruta);

echo pos($fruta);

Resultado: mamao

» Função shuffle - Essa funcao "mistura" aleatoriamente o array, trocando as posicoes de seus elementos.

shuffle($fruta);

echo $fruta [0] . "|" . $fruta[1] . "|" . $fruta[2];
Resultado: Array Original: banana/tomate/mamao

Depois da funcao: tomate/banana/mamao

» Funcao sort() - Coloca os elementos em ordem crescente.

sort($fruta);

echo $fruta [0]. "|" . $fruta[1] . "|" . $fruta[2];

Resultado: Array original: banana/tomate/mamao

Depois: banana/mamao/tomate

» Função rsort() - Coloca os elementos em ordem decrescente.

rsort($fruta);

echo $fruta [0]. "|" . $fruta[1] . "|" . $fruta[2];

Resultado: Array original: banana/tomate/mamao
Depois: tomate/mamao/banana

Validar e-mail com ASP

Agora validação de email em asp com expressão regular!

O retorno é booleano (true ou false)

<%
'-----------------------------------------------------
'Funcao: IsEmail(strEmail)
'Sinopse: Verifica se o valor passado é um Email válido
'Parametro: strEmail
'Retorno: Booleano
'-----------------------------------------------------
Function IsEmail(strEmail)
Set regEx = New RegExp ' Cria o Objeto Expressão
regEx.IgnoreCase = True ' Sensitivo ou não
regEx.Global = True ' Não sei exatamente o que faz

'Caracteres Excluidos
regEx.Pattern = "[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1"
ResultadoHum = RegEx.Test(strEmail)
'Caracteres validos
regEx.Pattern = "@[\w\-]+\."
ResultadoDois = RegEx.Test(strEmail)
'Caracteres de fim
regEx.Pattern = "\.[a-zA-Z]{2,3}$"
ResultadoTres = RegEx.Test(strEmail)
Set regEx = Nothing

If Not (ResultadoHum) And ResultadoDois And ResultadoTres Then
IsEmail = True
Else
IsEmail = False
End If
End Function

'EXEMPLO DE CHAMADA
Response.Write IsEmail("email@provedor.com.br")
%>

Fonte: Codigo Fonte : Gabriel Fróes

posted by Programador ASP

Validar e-mail com PHP

<?php


   
function valida_email($endereco){

      
$pattern "^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-]+\.[a-zA-Z0-9\-\.]+$";

     
      if (
eregi($pattern$endereco)){

         return 
true;
      }
      else {
         return 
false;
      }   
   }
?>   

 <html>
   <body> 
      <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="emailForm">
        Email: <input type="text" name="email"><br/>
        <input type="submit" name="submitemail">
      </form>          

       <?php
         
if (isset($_POST['submitemail']))
         {

            if (
valida_email($_POST['email'])){

                echo 
"O email: ".$_POST['email']." é válido! ";

            }
            else{

                echo 
"O email: ".$_POST['email']." não é válido! ";

            }
         }
       
?>
    </body> 

 </html> 


Nesse código implementamos a função valida_email(). Uma vez implementada, essa função poderá ser chamada posteriormente no código. Essa função espera um parâmetro, que está representado por '$endereco' no código. Esse parâmetro será o endereço de e-mail que desejamos validar. Ao receber o parâmetro, ela o joga para a função ereg(), que pesquisa em '$endereco' para ver se encontra a expressão que lhe foi passada primeiramente. O que passamos para ereg() nesse caso foi:

^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-]+\.[a-zA-Z0-9\-\.]+$

Vamos explicar cada parte dessa expressão:

(1) ^[a-zA-Z0-9_\-\.]+ significa que ereg() deve procurar em '$endereco' algo que "inicie com pelo menos uma letra (de a até z e de A até Z), um número (de 0 até 9), underline (_), hífen (\-) ou ponto (\.) e posteriormente utilize, no máximo, uma combinação disso".

(2) @ significa que deve-se localizar um literal "@".

(3) [a-zA-Z0-9_\-]+ significa que deve-se localizar algo que contenha caracteres alfanuméricos, hífens ou underlines.

(4) \. procura por um ".".

(5) [a-zA-Z0-9\-\.]+$ procura no restante do endereço letras, números, hífens e pontos até o final da string.

A função valida_email() então retorna "true" se ereg() encontrar o que busca e o e-mail for, portanto, válido. Se o e-mail for inválido, valida_email() retornará "false".

Na parte seguinte do código, chamamos a função valida_email() dentro de um if() para verificar se o endereço contido em '$email' é válido. Não abordei aqui a forma como o valor de '$email' lhe foi atribuído, mas usualmente isso seria feito através de um formulário. A função valida_email() recebe o valor de '$email' (que assume o papel de '$endereco') e faz a verificação. Se o valor retornado for "true" escreve-se na tela "O e-mail é válido!", mas se for "false" escreve-se "O e-mail não é válido!".

Para entendermos bem o que está acontecendo, façamos uma simulação. Para isso, faremos uma atribuição direta para '$email'. Podemos, por exemplo, substituir as linhas 11 e 12 do nosso código pelo seguinte:

$email = "teste_.-._01@servidor_-_01.com.br";

» Nesse caso, teste_.-._01@servidor_-_01.com.br é aprovado em (1) que encontra o que procura em teste_.-._01, é aprovado em (2) que encontra @, é aprovado em (3) que encontra o que procura em servidor_-_01, é aprovado em (4) que encontra . e é finalmente aprovado em (5) que encontra o que procura em com.br. Portanto, nesse caso, valida_email() retorna "true".

Agora, substituamos as linhas 11 e 12 por:

$email = "teste@a2*.";

» Nesse segundo caso, teste@a2 *. é aprovado em (1) que encontra o que procura em teste, é aprovado em (2) que encontra @, mas é reprovado em (3) que encontrou * que não procurava. A pesquisa pára aqui, mas caso ela continuasse, teste@a2*. seria aprovado em (4) que encontra . mas seria novamente reprovado em (5) que não possui mais string onde procurar. Portanto, valida_email() retorna "false".

OBS: ereg() retornará "false" somente se encontrar um caractere que não estava procurando (como no caso do *) ou se não encontrar nenhum dos caracteres que estava procurando. O fato de 'teste' não possuir números ou hífens não faz com que ele seja reprovado em (1).

Pronto! Agora você poderá reduzir consideravelmente os e-mails inválidos informados por usuários aos seus formulários, tendo em vista que é impossível criar um sistema que barre 100% dos e-mails inválidos. E lembre-se: tenha cuidado ao tornar as coisas mais restritivas, uma vez que uma função de validação que rejeita 1% dos dados válidos é muito mais irritante que uma que permite 10% de dados inválidos.

Fonte: Plugmasters : Michel Franscisco

Posted by Programador PHP

Testar a igualdade de strings - PHP

Com o PHP temos a possibilidade de testar a igualdade de strings de duas maneiras, com a função strcmp ou com a função strcasecmp. Vejamos alguns exemplos usando elas para fazer isso e como é o funcionamento delas. Testar a igualdade de strings considerando maiúsculas e minúsculas:
<?
$palavra1 = "Programar";
$palavra2 = "PROGRAMAR";

if(strcmp($palavra1, $palavra2) == 0)
echo "As duas palavras são iguais";
else
echo "As duas palavras são diferentes";
?>

Testar a igualdade de strings desconsiderando maiúsculas e minúsculas:

<?
$palavra1 = "Programar";
$palavra2 = "PROGRAMAR";

if(strcasecmp($palavra1, $palavra2) == 0)
echo "As duas palavras são iguais";
?>

Fonte: htmlstaff

Busca dinâmica interagindo AJAX, PHP e MySQL

E ai pessoal! Vou ensinar como fazer uma busca dinâmica interagindo AJAX, PHP e MySQL.

Bom, vamos lá:

1º passo: Antes de iniciarmos, é preciso criar a tabela "cliente" no nosso banco de dados "teste". A tabela conterá os campos: id, nome, cidade, uf. O campo id será inteiro e também nossa chave primária, os campos nome (por onde efetuaremos a consulta) e cidade serão varchar(50) e o campo uf será char(2) e conterá a sigla do estado.


CREATE TABLE cliente (
id int(6) unsigned NOT NULL default '0',
nome varchar(50) NOT NULL default '',
cidade varchar(50) NOT NULL default '',
uf char(2) NOT NULL default '',
PRIMARY KEY (id)
);


2º passo: Será a criação da página "index.html", que conterá o campo de busca e a chamada para a função ajax.




<html>
<head>
<title>Busca Dinamica</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script src="script.js"></script>

</head>
<body>
<table width="657" border="0" bgcolor="#f7f7f7">
<tr>
<td align="center" bgcolor="#CCCCCC"><strong><font color="#FF0000" size="1" face="Verdana, Arial, Helvetica, sans-serif">&lt;- Busca Dinamica -&gt;</font></strong></td>
</tr>
<tr>
<td><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Digite aki o nome do cliente</strong></font>:
<!-- NOTE Q A CADA TECLA PRESSIONADA É CHAMADA A FUNÇÃO PESQUISA PASSANDO O QUE O USUARIO TEM DIGITADO ATÉ O MOMENTO -->
<input type="text" name="nome" onKeyUp="carregaAjax('pagina', 'busca_nome.php?valor=' + this.value)" onKeyDown="carregaAjax('pagina', 'busca_nome.php?valor=' + this.value)"></td>
</tr>
<tr>
<td>
<!-- AQUI SERÁ APRESENTADO O RESULTADO DA BUSCA DINÂMICA.. OU SEJA OS NOMES -->
<div id="pagina"></div></td>
</tr>
</table>
</body>
</html>


3º passo: Vamos agora construir o nosso arquivo "busca_nome.php" que conectará no banco e efetuará uma busca simples usando SQL.




<?php
if(!empty($_GET["valor"])){
// O campo valor conterá o que o usuário digitou até o momento
//Conecta ao banco, colocar parametros ip, usuario, senha
$conexao=mysql_connect("localhost","root","root");
//Seleciona o banco de dados que vai usar
mysql_select_db("teste");
// Executa a instrução SELECT passando o que o usuário digitou
$sql="select * from cliente where nome like '$_GET[valor]%'";
$resultado=mysql_query($sql) or die (mysql_error());
//Verifica a quantidade de registros retornados
$linhas=mysql_num_rows($resultado);
if($linhas>0){
// Executa um LOOP para mostrar os nomes das pessoas
// Vale lembrar que todos esses resultados serao mostrados dentro da pagina index.html dentro da DIV pagina
while($pegar=mysql_fetch_array($resultado))
echo "$pegar[nome] <br />";
}
}
?>


4º passo: A construção do nosso "script.js" que conterá as funções da metodologia AJAX.



function openAjax() {
var Ajax;
try {Ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers mais populares, como: Firefox, Safari, dentre outros.
}catch(ee){
try {Ajax = new ActiveXObject("Msxml2.XMLHTTP"); // Para o IE da MS
}catch(e){
try {Ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS
}catch(e){Ajax = false;}
}
}
return Ajax;
}


function carregaAjax(div, getURL) {
document.getElementById(div).style.display = "block";
if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
var exibeResultado = document.getElementById(div); // div que exibirá o resultado.
var Ajax = openAjax(); // Inicia o Ajax.
Ajax.open("GET", getURL, true); // fazendo a requisição
Ajax.onreadystatechange = function(){
if(Ajax.readyState == 1) { // Quando estiver carregando, exibe: carregando...
exibeResultado.innerHTML = "<div>Carregando</div>";
}
if(Ajax.readyState == 4) { // Quando estiver tudo pronto.
if(Ajax.status == 200) {
var resultado = Ajax.responseText; // Coloca o retornado pelo Ajax nessa variável
resultado = resultado.replace(/\+/g,""); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
//resultado = resultado.replace(/ã/g,"a");
resultado = unescape(resultado); // Resolve o problema dos acentos
exibeResultado.innerHTML = resultado;
} else {
exibeResultado.innerHTML = "Por favor, tente novamente!";
}
}
}
Ajax.send(null); // submete
}
}



Veja alguns exemplos nos sites a seguir:

www.aramacan.com.br
www.smt.saobernardo.sp.gov.br

Conectar PHP + MySQL

mysql_connect



(PHP 3, PHP 4, PHP 5)


mysql_connect - Abre uma conexão com um servidor MySQL


Descrição


resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]]]] )

Abre ou reutiliza uma conexão com um servidor MySQL.




Parâmetros




server


O servidor MySQL. Também pode incluir um número de porta, exemplo "servidor:porta" ou um caminho para um socket local, exemplo ":/caminho/para/socket" para o servidor local(localhost).


Se a diretiva do PHP mysql.default_host não estiver definida(padrão), então o valor padrão é 'localhost:3306'



username


O nome de usuário. O valor padrão é o nome do usuário que é o proprietário do processo do servidor. Por exemplo: root



password


A senha. O valor padrão é uma senha vazia.



new_link


Se uma segunda chamada é feita a mysql_connect() com os mesmos argumentos, não é estabelecida uma nova conexão, mas ao invés, o identificador da conexão que já esta aberta é retornado. O parâmetro new_link modifica este funcionamento e faz mysql_connect() sempre abrir uma nova conexão, mesmo que mysql_connect() seja chamado antes com os mesmos parâmetros.



client_flags


O parâmetro client_flags pode ser uma combinação das seguintes constantes: MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE ou MYSQL_CLIENT_INTERACTIVE. Leia a seção sobre Tabela 2 para maiores informações.







Valores de retorno


Retorna um identificador de conexão MySQL em caso de sucesso, ou FALSE em caso de falha.




Exemplos











Exemplo 1. Exemplo mysql_connect()








<?php

$link
= mysql_connect('localhost' , 'mysql_user', 'mysql_password'
);

if (!
$link
) {

die(
'Não foi possível conectar: ' . mysql_error
());

}

echo
'Conexão bem sucedida'
;

mysql_close
( $link
);

?>










Exemplo 2. Exemplo mysql_connect() usando a a sintaxe servidor: porta








<?php

// nós conectamos com example.com na porta 3307

$link
= mysql_connect ('example.com:3307' , 'mysql_user', 'mysql_password'
);

if (!
$link
) {

die(
'Não foi possível conectar: ' . mysql_error
());

}
echo
'Conexão bem sucedida'
;

mysql_close( $link
);

// nós conectamos com localhost na porta 3307

$link
= mysql_connect ('127.0.0.1:3307', 'mysql_user', 'mysql_password'
);

if (!
$link
) {

die(
'Não foi possível conectar: ' . mysql_error
());

}

echo
'Conexão bem sucedida'
;

mysql_close
( $link
);

?>



Instalando Apache + MySQL + PHP 5 no Windows

Lendo em grupos de discussão, fóruns, etc, percebi que o pessoal tem várias dificuldades e ou problemas para conseguir instalar e configurar o "WAMP" (Windows + Apache + MySQL + PHP).

1. Download dos itens necessários

Primeiro, faça o download dos programas a serem usados.

Quanto ao Apache, usaremos o Apache 1.3.*, visto que na documentação do PHP existe a seguinte recomendação: "Não use Apache 2.0 e PHP em um sistema de produção, seja no Unix ou no Windows" (http://www.php.net/manual/pt_BR/install.apache2.php).

- Apache: http://mirrors.uol.com.br/pub/apache/httpd/binaries/win32/apache_1.3.31-win32-x86-no_src.exe

- MySQL 4.1.8: http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-4.1.8-win-noinstall.zip/from/http://www.linorg.usp.br/mysql/

- PHP 5.0.3: http://br2.php.net/get/php-5.0.3-Win32.zip/from/this/mirror

2. Instalação

- Execute a instalação do Apache e o instale com as configurações padrões. Se quiser, pode escolher outro diretório para a instalação.

- Extraia o MySQL em uma pasta qualquer. Recomendo dentro da pasta onde vocó instalou o Apache. Ex: C:\Arquivos de Programas\Apache Group\Apache\mysql

- Extraia o PHP 5 na pasta C:\php5

3. Configuração do PHP

Vá para a pasta c:\php5 e copie o arquivo php5ts.dll para a seguinte pasta, de acordo com o seu Windows:

- c:\windows\system (em Windows 9x/Me)

- c:\windows\system32 (em WindowsXP)

- c:\winnt\system32 (para Windows NT/2000)

Copie também o arquivo c:\php5\libmysql.dll para umas das pastas ditas acima, de acordo com o Windows em uso. Esse arquivo é necessário para o funcionamento do MySQL no PHP.

Ainda no c:\php5, renomeie o arquivo "php.ini-dist" para "php.ini" e abra-o. Procure a linha extension_dir = "./" e a altere para extension_dir = "c:/php5/ext/", ó o diretório onde ficam as extensões do php (MySQL, Curl, GD, etc). Agora, localize a linha ;extension=php_mysql.dll e tire o ; do início dela. Se quiser também, já aproveite e faça o mesmo na linha ;extension=php_gd2.dll, caso queira a biblioteca GD para a manipulação de imagens. Salve as alterações e mova o "php.ini" para a pasta:

- c:\windows (em Windows 9x/Me/XP)

- c:\winnt (para Windows NT/2000)

4. Configuração do Apache

Vá para a pasta onde você instalou o Apache e abra o arquivo conf/httpd.conf em qualquer editor de texto. (Ex: Bloco de Notas).

1º) Localize a linha #LoadModule unique_id_module modules/mod_unique_id.so e logo abaixo dela adicione:

LoadModule php5_module "c:/php5/php5apache.dll"

2º) Localize a linha AddModule mod_setenvif.c e logo abaixo, adicione:

AddModule mod_php5.c

3º) Localize AddType application/x-tar .tgz e logo abaixo, adicione:

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

4º) Localize:

<IfModule mod_dir.c>

DirectoryIndex index.html

</IfModule>

E logo ao lado do index.html adicione:

index.php default.php main.php

5. Configuração do MySQL

Não hà nada para se configurar no MySQL, você só deve iniciar o mesmo. Vá para a pasta que instalou o MySQL, então abra o bin/mysqld.exe, iniciando o servidor do MySQL.

Lembre-se que sempre você terá de iniciar o MySQL. Se não quiser ir na pasta toda vez que iniciar o computador, crie um atalho para o bin/mysqld.exe e coloque no "Iniciar, Programas, Inicializar (ou Iniciar, de acordo com o windows)".

6. Falta pouco!

Agora, vá em "Iniciar, Programas, Apache HTTP Server, Control Apache Server, Restart", para reinicializar o Apache com as alterações feitas. Pronto! Agora você pode tem PHP5 + MySQL em seu Windows!.

Para efetuar um teste, crie um arquivo chamado phpinfo.php, com o conteúdo:

<? phpinfo(); ?> e o coloque na pasta htdocs dentro da pasta do Apache. Abra seu navegador e digite http://localhost/phpinfo.php. Se a página abrir com as informações do PHP, significa que tudo deu certo.

Observações: Lembrando que nos caminhos que mostrei, o C:\ deve ser substituído pela letra do HD em que está seu Windows e onde foram instalados os programas. Uso o C:\ no artigo, pois é a letra que é normalmente usada.

Caso queira register_globals no PHP, abra o c:\windows\php.ini, localize a linha "register_globals = Off" e arrume para "register_globals = On". Veja mais aqui: http://www.php.net/manual/pt_BR/security.registerglobals.php

Primeiro post

Olá a todos Já tentei várias vezes manter um blog, mas é dificil arrumar tempo nessa vida. Mas vamos ver se agora eu consigo...rsrs...vamos lá...Meu nome é Leonardo, tenho 21 anos e sou programador web. Me formei numa escola técnica muito bem conceituada em Santo andré, minha cidade natal, em processamento de dados. Depois fiquei um tempo ocioso...................tá...muito tempo, tipo um ano e pouquinho , o mercado de trabalho é terrivel pra quem está começando. Mas blz, até ai quase todo mundo passa por isso. Passei por muitos bicos, de lava-rapido até treinador de cães, até conseguir um emprego na área com um fotografo que precisava de serviços de tratamento digital de imagens. Com ele fiquei um ano e meio entre tratamento de imagens e desenvolvimento de alguns sites, que me ajudaram muito a entender o PHP. Depois dessa oportunidade, consegui uma vaga de programador web em uma das melhores produtoras web do país, a lumina1. Na lumina1 fui contratado para fazer manutenção do site da gol linhas aereas, era insano, manutenção atrás de manutenção, pedidos totalmente loucos para ontem...rsrs...mas a manutenção de gol não era nada perto da natura, para a natura a agencia parava. Mas era muito bom, gostava do ritmo maluco daquele lugar e das pessoas que trabalham ou trabalhavam lá. Um salve pra todas!!! Agora com ganhos melhores e condiçoes de trabalho nos padrões legais :) ...presto serviço para uma das maiores revistas do país se tratando de meio ambiente, a revista meio ambiente industrial. Sou o responsável por toda a parte de internet, de newsletter até o desenvolvimento dos sites. Aqui o ambiente de trabalho é ótimo, sempre tem uma ou outra que tira do sério, mas onde não tem??? Consigo viajar aqui, é muito bom, meu nível de programação subiu muito depois que entrei na revista, aprendi até uma linguagem nova, o ASP. Tem sido ótimo fazer parte dessa empresa. Bom, quero tentar sempre neste espaço colocar alguns códigos para ajudar outros programadores iniciantes em PHP e ASP. Mandem emails caso tenham dúvidas Abraços Léo