PHP
Tudo sobre programação em PHP.
segunda-feira, 19 de dezembro de 2011
sexta-feira, 4 de novembro de 2011
timezone data
date_default_timezone_set('America/Sao_Paulo');
php set timezone
Marcadores:
set timezone,
timezone
pega a extensão do arquivo anexo
function extensao($arquivo){
$pedaco = explode(".", $arquivo);
$tam = strlen($pedaco[1]);
switch ($tam){
case 3:
$extensao = substr($arquivo,-3);
break;
case 4:
$extensao = substr($arquivo,-4);
break;
case 5:
$extensao = substr($arquivo,-5);
break;
default:
$extensao = NULL;
}
return $extensao;
}
segunda-feira, 31 de outubro de 2011
cache de cookie e session
Definir o tempo de cache antes do session_start();
/* Define o limitador de cache para 'private' */
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
/* Define o limite de tempo do cache em 540 minutos */
session_cache_expire(540);
$cache_expire = session_cache_expire();
/* Inicia a sessão */
// session_start();
// echo "O limitador de cache esta definido agora como $cache_limiter
";
";
// echo "As sessões em cache irão expirar em $cache_expire minutos";
segunda-feira, 26 de setembro de 2011
html form input
title="(11) 5555-5555" placeholder="(11) 5555-5555" autofocus="autofocus" tabindex="1"
title -> serve para deixar escrito um exemplo no formulário
placeholder -> serve para deixar escrito um exemplo no formulário
autofocus -> serve para assim que carregar a página, deixar o foco no primeiro campo
tabindex -> serve para usar como guia para usar TAB
quarta-feira, 21 de setembro de 2011
quinta-feira, 25 de agosto de 2011
quarta-feira, 27 de julho de 2011
terça-feira, 24 de maio de 2011
quinta-feira, 7 de abril de 2011
evitar erros MySQL
$query = mysql_query(" SELECT * FROM tabela WHERE `tipo` LIKE '".$tipo."' ") or die(mysql_error()) ;
muito importante usar or die(mysql_error()) ;
muito importante usar or die(mysql_error()) ;
Marcadores:
dicas php
sexta-feira, 4 de março de 2011
terça-feira, 1 de março de 2011
include ou include_once
A única diferença de include ou include_once é a seguinte.
Se eu der o include de 1 header.php na página...
e logo depois der outro vez include no header.php
O PHP vai dar erro de 2 header definidos.
Ou então, se eu pego a variável $hora_atual no include hora.php. E num outro include no rodapé, sem querer, faço o include hora.php. a hora vai mudar.
Se eu usar o include_once() ele ignora se a página já foi chamada anteriormente.
Se eu der o include de 1 header.php na página...
e logo depois der outro vez include no header.php
O PHP vai dar erro de 2 header definidos.
Ou então, se eu pego a variável $hora_atual no include hora.php. E num outro include no rodapé, sem querer, faço o include hora.php. a hora vai mudar.
Se eu usar o include_once() ele ignora se a página já foi chamada anteriormente.
Marcadores:
dicas php,
include,
include_once
quinta-feira, 28 de outubro de 2010
segurança php
no inicio do código colocar:
se o arquivo atual é igual a "config.php" continua a ler o código, senão mostra tela de erro.
se o arquivo atual é igual a "config.php" continua a ler o código, senão mostra tela de erro.
if (basename($_SERVER["PHP_SELF"]) == "config.php")
header ("location: index.php");
segunda-feira, 27 de setembro de 2010
domingo, 26 de setembro de 2010
função simples
<?php
function writeName($fname)
{
echo $fname . " Refsnes.<br />";
}
echo "My name is ";
writeName("Kai Jim");
echo "My sister's name is ";
writeName("Hege");
echo "My brother's name is ";
writeName("Stale");
?>
function writeName($fname)
{
echo $fname . " Refsnes.<br />";
}
echo "My name is ";
writeName("Kai Jim");
echo "My sister's name is ";
writeName("Hege");
echo "My brother's name is ";
writeName("Stale");
?>
quinta-feira, 23 de setembro de 2010
cakephp
Consegui rodar o primeiro script em cakephp.
O que eu fiz:
Instalei o cakephp pelo modo simples, copiei e colei.
Configurei o banco de dados.
Dei permissão as pastas.
Mudei os arquivos:
app/config/database.php
app/controllers/pagina.php
app/models/pagina.php
app/views/pagina/pagina/index.ctp
O que eu fiz:
Instalei o cakephp pelo modo simples, copiei e colei.
Configurei o banco de dados.
Dei permissão as pastas.
Mudei os arquivos:
app/config/database.php
app/controllers/pagina.php
app/models/pagina.php
app/views/pagina/pagina/index.ctp
Marcadores:
cakephp
sexta-feira, 20 de agosto de 2010
relembrar e aplicar os que não deu
para relembrar
e fazer os que não foi feito antes por não saber como completar.
visitar do 0 os scripts de sites e fóruns de php.
e fazer os que não foi feito antes por não saber como completar.
visitar do 0 os scripts de sites e fóruns de php.
Marcadores:
relembrar
quinta-feira, 5 de agosto de 2010
o mínimo do código php
<?php // topo ; ?> br>
<?php //require ; ?> br>
<?php // busca templates ; ?> br>
<?php // conexão ?> br>
<?php // busca ?> br>
<?php // mostra ?> br>
<?php // limpa temporarios ?> br>
<?php // fecha conexão ?> br>
<?php // redireciona ?> br>
<?php //require ; ?> br>
<?php // busca templates ; ?> br>
<?php // conexão ?> br>
<?php // busca ?> br>
<?php // mostra ?> br>
<?php // limpa temporarios ?> br>
<?php // fecha conexão ?> br>
<?php // redireciona ?> br>
quarta-feira, 28 de julho de 2010
redirecionamento com tempo
<?php
function redirecionar($url, $tempo)
{
$url = str_replace('&', '&', $url);
if($tempo > 0)
{
header("Refresh: $tempo; URL=$url");
}
else
{
@ob_flush();
@ob_end_clean();
header("Location: $url");
exit;
}
}
?>
Para usar é só seguir o exemplo:
<?php
function redirecionar($url, $tempo)
{
$url = str_replace('&', '&', $url);
if($tempo > 0)
{
header("Refresh: $tempo; URL=$url");
}
else
{
@ob_flush();
@ob_end_clean();
header("Location: $url");
exit;
}
}
?>
Para usar é só seguir o exemplo:
<?php
redirecionar('login.php'); // Redireciona imediatamente
redirecionar('login.php', 10); // Redireciona depois de 10 seg
?>
Marcadores:
redirecionamento
sexta-feira, 2 de julho de 2010
oscommerce template
Como mudar o template oscommerce
- substituir todos arquivos e pastas
- entrar na pasta instalar e seguir os passos
http://info.macross.com.br/oscommerce/tutorial-alterando-o-template-do-oscommerce/
- substituir todos arquivos e pastas
- entrar na pasta instalar e seguir os passos
http://info.macross.com.br/oscommerce/tutorial-alterando-o-template-do-oscommerce/
Marcadores:
oscommerce
quarta-feira, 30 de junho de 2010
site com dicas para desenvolvedor uolhost
http://blog.uolhost.com.br/category/desenvolvedores/
Marcadores:
dicas
quinta-feira, 24 de junho de 2010
css dicas
para adicionar em todas as páginas de 1 vez:
body {
padding:0;
margin:0;
background:url(images/bg.jpg) 0 0 repeat-x #1C1C1C}
body, td, input, textarea{
font:normal 11px Tahoma, Arial;
color:#636363;
line-height:14px;
vertical-align:top;
padding:0px;
}
select {
font:normal 10px Tahoma, Arial;
vertical-align:middle}
img {border:0px;}
quarta-feira, 23 de junho de 2010
código php velho antigo obsoleto
obsoleto em php
em vez de usar:
if (session_is_registered('login')) {
é melhor usar:
if (isset($_SESSION['login'])) {
em vez de usar:
if (session_is_registered('login')) {
é melhor usar:
if (isset($_SESSION['login'])) {
terça-feira, 22 de junho de 2010
msn dentro do site online
para colocar o msn dentro do site:
http://settings.messenger.live.com/applications/WebSettings.aspx
para entrar com o e-mail da empresa no msn:
https://accountservices.passport.net/reg.srf?fid=RegCredOnlyEASI&ru=https://accountservices.passport.net/ppnetworkhome.srf%3Fvv%3D450%26lc%3D1046&cru=https://accountservices.passport.net/ppnetworkhome.srf%3fvv%3d450%26lc%3d1046&sl=1&vv=800&mkt=PT-BR&lc=1046
http://settings.messenger.live.com/applications/WebSettings.aspx
para entrar com o e-mail da empresa no msn:
https://accountservices.passport.net/reg.srf?fid=RegCredOnlyEASI&ru=https://accountservices.passport.net/ppnetworkhome.srf%3Fvv%3D450%26lc%3D1046&cru=https://accountservices.passport.net/ppnetworkhome.srf%3fvv%3d450%26lc%3d1046&sl=1&vv=800&mkt=PT-BR&lc=1046
quinta-feira, 10 de junho de 2010
data no php
http://blog.hboaventura.com/php-usando-a-classe-datetime-para-manipular-datas/
Marcadores:
data
resume texto - limita caractete - sem cortar palavra - resumo
<?php
function limitaCaracteres($texto, $limite) {
$texto = strip_tags($texto);
$trecho = substr($texto, 0, $limite);
if (strlen($trecho) < strlen($texto)) {
$trecho = substr($trecho, 0, strrpos($trecho, " ") + 1) . " ...";
}
return $trecho;
}
?>
<?php
echo limitaCaracteres("O texto tem limite de caracteres e não corta a palavra no meio teste. teste",64 );
?>
function limitaCaracteres($texto, $limite) {
$texto = strip_tags($texto);
$trecho = substr($texto, 0, $limite);
if (strlen($trecho) < strlen($texto)) {
$trecho = substr($trecho, 0, strrpos($trecho, " ") + 1) . " ...";
}
return $trecho;
}
?>
<?php
echo limitaCaracteres("O texto tem limite de caracteres e não corta a palavra no meio teste. teste",64 );
?>
contar quantos caracteres tem string
<?php
$numCaracteres = strlen("Frase de exemplo");
echo $numCaracteres;
?>
$numCaracteres = strlen("Frase de exemplo");
echo $numCaracteres;
?>
Marcadores:
string
contar quantos caracteres tem string
<?php
$aString = str_split("Aqui vai a frase inteira");
$numCaracteres = count($aString);
echo $numCaracteres;
?>
$aString = str_split("Aqui vai a frase inteira");
$numCaracteres = count($aString);
echo $numCaracteres;
?>
upload
form.html
<form id="form" name="form" method="post" action="upload.php.php" enctype="multipart/form-data">
<table width="402" border="0" align="center" cellpadding="0" cellspacing="0" class="texto12">
<tr>
<td align="left">Foto:</td>
</tr>
<tr>
<td align="left"><input name="arquivo" type="file" class="texto12" id="arquivo" size="50" /></td>
</tr>
<tr>
<td align="center"><input name="Submit" type="submit" class="texto12" value="Cadastrar peça" /></td>
</tr>
</table>
</form>
config.php
<?php
$limitar_ext = "sim" ; // sim ou nao
$extensoes_validas = array(".jpg", ".jpeg") ;
$caminho_absoluto = "G:\InetPub\site\www\empresa\produtos" ; // as barras são invertidas mesmo \
$limitar_tamanho = "sim" ; // sim ou nao
$tamanho_bytes = "20000000000000" ; // 3 megas
$sobrescrever = "sim" ; // sim ou nao
?>
upload.php
<?php
require("config.php") ;
$nome_arquivo = $_FILES['arquivo']['name'] ;
$tamanho_arquivo = $_FILES['arquivo']['size'] ;
$arquivo_temporario = $_FILES['arquivo']['tmp_name'] ;
/*
echo "$nome_arquivo";
echo "
";
echo "$tamanho_arquivo";
echo "
";
echo "$arquivo_temporario";
echo "
";
echo "$limitar_ext";
*/
if (!empty($nome_arquivo))
{
if ($sobrescrever == "nao" && file_exists("$camiho_absoluto/$nome_arquivo"))
die("Arquivo já existe.");
if (($limitar_tamanho == "sim") && ($tamanho_arquivo > $tamanho_bytes))
die("Arquivo deve ter no máximo 3 megas.");
$ext = strrchr($nome_arquivo,'.');
if ($limitar_ext == "sim" && !in_array($ext,$extensoes_validas))
die("A foto tem que ser JPG.");
if(move_uploaded_file($arquivo_temporario, "$caminho_absoluto/$nome_arquivo"))
{
echo "O upload do arquivo ".$nome_arquivo." foi concluído com sucesso - foto: ".$foto1."";
}
else
echo "Erro";
}
else
die("selecione");
?>
<form id="form" name="form" method="post" action="upload.php.php" enctype="multipart/form-data">
<table width="402" border="0" align="center" cellpadding="0" cellspacing="0" class="texto12">
<tr>
<td align="left">Foto:</td>
</tr>
<tr>
<td align="left"><input name="arquivo" type="file" class="texto12" id="arquivo" size="50" /></td>
</tr>
<tr>
<td align="center"><input name="Submit" type="submit" class="texto12" value="Cadastrar peça" /></td>
</tr>
</table>
</form>
config.php
<?php
$limitar_ext = "sim" ; // sim ou nao
$extensoes_validas = array(".jpg", ".jpeg") ;
$caminho_absoluto = "G:\InetPub\site\www\empresa\produtos" ; // as barras são invertidas mesmo \
$limitar_tamanho = "sim" ; // sim ou nao
$tamanho_bytes = "20000000000000" ; // 3 megas
$sobrescrever = "sim" ; // sim ou nao
?>
upload.php
<?php
require("config.php") ;
$nome_arquivo = $_FILES['arquivo']['name'] ;
$tamanho_arquivo = $_FILES['arquivo']['size'] ;
$arquivo_temporario = $_FILES['arquivo']['tmp_name'] ;
/*
echo "$nome_arquivo";
echo "
";
echo "$tamanho_arquivo";
echo "
";
echo "$arquivo_temporario";
echo "
";
echo "$limitar_ext";
*/
if (!empty($nome_arquivo))
{
if ($sobrescrever == "nao" && file_exists("$camiho_absoluto/$nome_arquivo"))
die("Arquivo já existe.");
if (($limitar_tamanho == "sim") && ($tamanho_arquivo > $tamanho_bytes))
die("Arquivo deve ter no máximo 3 megas.");
$ext = strrchr($nome_arquivo,'.');
if ($limitar_ext == "sim" && !in_array($ext,$extensoes_validas))
die("A foto tem que ser JPG.");
if(move_uploaded_file($arquivo_temporario, "$caminho_absoluto/$nome_arquivo"))
{
echo "O upload do arquivo ".$nome_arquivo." foi concluído com sucesso - foto: ".$foto1."";
}
else
echo "Erro";
}
else
die("selecione");
?>
Marcadores:
upload
terça-feira, 8 de junho de 2010
substr php
<?php
$rest = substr("abcdef", -1); // retorna "f"
$rest = substr("abcdef", -2); // retorna "ef"
$rest = substr("abcdef", -3, 1); // retorna "d"
?>
$rest = substr("abcdef", -1); // retorna "f"
$rest = substr("abcdef", -2); // retorna "ef"
$rest = substr("abcdef", -3, 1); // retorna "d"
?>
segunda-feira, 7 de junho de 2010
desfragmentador
http://www.infologico.com/2010/01/os-melhores-desfragmentadores-de-disco.html
Marcadores:
desfragmentador
instalando wampserver
www.wampserver.com
para instalar, basta colocar a mesma senha nesses 2 lugares:
wamp/app/phpmyadmin/config.inc.php
na linha 16
$cfg['Servers'][$i]['password'] = 'senha';
e no phpmyadmin
clicar em privilégios
mudar a senha do usuário root para a mesma que usou no config.inc.php
para instalar, basta colocar a mesma senha nesses 2 lugares:
wamp/app/phpmyadmin/config.inc.php
na linha 16
$cfg['Servers'][$i]['password'] = 'senha';
e no phpmyadmin
clicar em privilégios
mudar a senha do usuário root para a mesma que usou no config.inc.php
Marcadores:
wamp
domingo, 30 de maio de 2010
quarta-feira, 26 de maio de 2010
select sql
Para enviar ou excluir mais de um registro de uma vez só com array é só usar o in ().
DELETE FROM `tabela` WHERE `id` IN (7,9,15)
testar mais exemplos depois
.
.
Marcadores:
sql
sexta-feira, 21 de maio de 2010
link para wiki livros
http://pt.wikibooks.org/w/index.php?title=Especial:Pesquisar&search=web&go=Ir
Marcadores:
livros
quinta-feira, 20 de maio de 2010
css dicas simples
http://revolucao.etc.br/archives/as-dicas-de-css-que-voce-nao-deve-deixar-de-saber/
Marcadores:
css
quarta-feira, 19 de maio de 2010
proteção php
<?php
$pages = array(
'index.html',
'page2.html',
'page3.html'
);
if (in_array($page, $pages)) {
include($page);
} else {
die("Boa tentativa.");
}
?>
Essa proteção serve para não incluir arquivo via get
$pages = array(
'index.html',
'page2.html',
'page3.html'
);
if (in_array($page, $pages)) {
include($page);
} else {
die("Boa tentativa.");
}
?>
Essa proteção serve para não incluir arquivo via get
mensagem de erro
error_function.php
<?php
function error_function($var, $tipo)
{
$width = 400; /* comprimento em pixels do box de erro */
$font_size = 12; /* tamanho da fonte do box de erro */
$borda = 2; /* grossura da borda do box de erro */
$corError = '#FEEAE2'; /* cor [alerta] da mensagem do box de erro */
$corOk = '#E1F0FF'; /* cor [sucesso] da mensagem do box de erro */
$font_family = 'Verdana, Arial'; /* tipo da fonte do box de erro */
/* A variável $estilo concatena as strings de estilo css com as variáveis informadas */
$estilo .='
<style type="text/css">
.erro_style_0 {
font-family: '.$font_family.';
font-size: '.$font_size.'px;
font-weight: bolder;
color: #000000;
background-color: '.$corError.';
border: '.$borda.'px dotted #CC0000;
padding:10px;
display:block;
width: '.$width.'px;
}
.erro_style_1 {
font-family: '.$font_family.';
font-size: '.$font_size.'px;
font-weight: bolder;
color: #000000;
background-color: '.$corOk.';
border: '.$borda.'px dotted #0000CC;
padding:10px;
display:block;
width: '.$width.'px;
}
</style>';
/* A variável $estilo concatena as strings de estilo css com as variáveis informadas */
$estilo .= '<span class="erro_style_'.$tipo.'">';
$estilo .= $var;
$estilo .= '</span>';
/* imprime a variável com a formatação do erro informado */
echo $estilo;
}
?>
BD_errors.php
<?php
/* variaveis com as frases de erro */
$ERROR_SENHA1 = "Erro! Preencha o Campo Senha...";
$ERROR_SENHA2 = "Erro! O Campo Senha deve ter no mínimo 4 caracteres...";
$ERROR_SENHA3 = "Erro! O Campo Senha deve ter no máximo 8 caracteres...";
$ERROR_LOGIN1 = "Erro! Preencha o Campo Login...";
$ERROR_LOGIN_E_SENHA = "Erro! Preencha os Campos Login & Senha...";
$MSG_SUCESSO1 = "OK! Validação Realizada com Sucesso!";
?>
index.php
<?php
/* Inclusão do arquivo responsável pela função */
include "error_function.php";
/* Inclusão da biblioteca de variaveis de erro */
include "BD_errors.php";
/* Simule aqui se a entrada de dados e veja como funciona! */
$login = "admin"; /* altere esse valor para vazio pra testar */
$senha = "1234"; /* altere esse valor para vazio, 3 ou 9 digitos pra testar*/
if (empty($senha) && empty($login)) {
/* verifica se os campos senha E login estão vazios - em caso afirmativo retorna o erro */
error_function($ERROR_LOGIN_E_SENHA,0);
} elseif (empty($senha)) {
/* verifica se o campo senha esta vazio - em caso afirmativo retorna o erro */
error_function($ERROR_SENHA1,0);
} elseif (strlen($senha) < 4) {
/* verifica se o campo senha é menor que 4 - em caso afirmativo retorna o erro */
error_function($ERROR_SENHA2,0);
} elseif (strlen($senha) > 8) {
/* verifica se o campo senha é maior 8 - em caso afirmativo retorna o erro */
error_function($ERROR_SENHA3,0);
} elseif (empty($login)) {
/* verifica se o campo login esta vazio - em caso afirmativo retorna o erro */
error_function($ERROR_LOGIN1,0);
} else {
error_function($MSG_SUCESSO1,1);
}
?>
fonte: http://www.phpbrasil.com/artigo/OqY8UDpXDr_/padronizando-mensagens-de-erro
<?php
function error_function($var, $tipo)
{
$width = 400; /* comprimento em pixels do box de erro */
$font_size = 12; /* tamanho da fonte do box de erro */
$borda = 2; /* grossura da borda do box de erro */
$corError = '#FEEAE2'; /* cor [alerta] da mensagem do box de erro */
$corOk = '#E1F0FF'; /* cor [sucesso] da mensagem do box de erro */
$font_family = 'Verdana, Arial'; /* tipo da fonte do box de erro */
/* A variável $estilo concatena as strings de estilo css com as variáveis informadas */
$estilo .='
<style type="text/css">
.erro_style_0 {
font-family: '.$font_family.';
font-size: '.$font_size.'px;
font-weight: bolder;
color: #000000;
background-color: '.$corError.';
border: '.$borda.'px dotted #CC0000;
padding:10px;
display:block;
width: '.$width.'px;
}
.erro_style_1 {
font-family: '.$font_family.';
font-size: '.$font_size.'px;
font-weight: bolder;
color: #000000;
background-color: '.$corOk.';
border: '.$borda.'px dotted #0000CC;
padding:10px;
display:block;
width: '.$width.'px;
}
</style>';
/* A variável $estilo concatena as strings de estilo css com as variáveis informadas */
$estilo .= '<span class="erro_style_'.$tipo.'">';
$estilo .= $var;
$estilo .= '</span>';
/* imprime a variável com a formatação do erro informado */
echo $estilo;
}
?>
BD_errors.php
<?php
/* variaveis com as frases de erro */
$ERROR_SENHA1 = "Erro! Preencha o Campo Senha...";
$ERROR_SENHA2 = "Erro! O Campo Senha deve ter no mínimo 4 caracteres...";
$ERROR_SENHA3 = "Erro! O Campo Senha deve ter no máximo 8 caracteres...";
$ERROR_LOGIN1 = "Erro! Preencha o Campo Login...";
$ERROR_LOGIN_E_SENHA = "Erro! Preencha os Campos Login & Senha...";
$MSG_SUCESSO1 = "OK! Validação Realizada com Sucesso!";
?>
index.php
<?php
/* Inclusão do arquivo responsável pela função */
include "error_function.php";
/* Inclusão da biblioteca de variaveis de erro */
include "BD_errors.php";
/* Simule aqui se a entrada de dados e veja como funciona! */
$login = "admin"; /* altere esse valor para vazio pra testar */
$senha = "1234"; /* altere esse valor para vazio, 3 ou 9 digitos pra testar*/
if (empty($senha) && empty($login)) {
/* verifica se os campos senha E login estão vazios - em caso afirmativo retorna o erro */
error_function($ERROR_LOGIN_E_SENHA,0);
} elseif (empty($senha)) {
/* verifica se o campo senha esta vazio - em caso afirmativo retorna o erro */
error_function($ERROR_SENHA1,0);
} elseif (strlen($senha) < 4) {
/* verifica se o campo senha é menor que 4 - em caso afirmativo retorna o erro */
error_function($ERROR_SENHA2,0);
} elseif (strlen($senha) > 8) {
/* verifica se o campo senha é maior 8 - em caso afirmativo retorna o erro */
error_function($ERROR_SENHA3,0);
} elseif (empty($login)) {
/* verifica se o campo login esta vazio - em caso afirmativo retorna o erro */
error_function($ERROR_LOGIN1,0);
} else {
error_function($MSG_SUCESSO1,1);
}
?>
fonte: http://www.phpbrasil.com/artigo/OqY8UDpXDr_/padronizando-mensagens-de-erro
data no php
<?php
$hoje = date("d/m/Y"); // Pego a Data de Hoje no formato brasileiro.
$vencimento = $hoje; // Seto $vencimento como $hoje para adicionar 15 dias na linha abaixo.
$data = explode("/", $vencimento); // Divido a data pela '/' para colocar na função mktime.
$expira = date("d/m/Y", mktime(0, 0, 0, $data[1], $data[0]+15, $data[2])); // Adiciono 15 dias para data de expiração
echo "Hoje é dia: ";
echo $hoje."<br>"; // Mostro na Tela a data de de hoje.
echo "<br>";
echo "+ 15 dias = ";
echo "<br>";
echo "<br>";
echo $expira; // Mostro na Tela a data de expiração com acréscimo de 15 dias.
?>
Hoje é dia: 20/05/2010
+ 15 dias =
04/06/2010
$hoje = date("d/m/Y"); // Pego a Data de Hoje no formato brasileiro.
$vencimento = $hoje; // Seto $vencimento como $hoje para adicionar 15 dias na linha abaixo.
$data = explode("/", $vencimento); // Divido a data pela '/' para colocar na função mktime.
$expira = date("d/m/Y", mktime(0, 0, 0, $data[1], $data[0]+15, $data[2])); // Adiciono 15 dias para data de expiração
echo "Hoje é dia: ";
echo $hoje."<br>"; // Mostro na Tela a data de de hoje.
echo "<br>";
echo "+ 15 dias = ";
echo "<br>";
echo "<br>";
echo $expira; // Mostro na Tela a data de expiração com acréscimo de 15 dias.
?>
Hoje é dia: 20/05/2010
+ 15 dias =
04/06/2010
terça-feira, 18 de maio de 2010
Meta Tags
Tag Name
Example(s)
Description
Author
<META NAME="AUTHOR" CONTENT="Tex Texin">
The author's name.
cache-control
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
HTTP 1.1. Allowed values = PUBLIC | PRIVATE | NO-CACHE | NO-STORE.
Public - may be cached in public shared caches
Private - may only be cached in private cache
no-Cache - may not be cached
no-Store - may be cached but not archived
The directive CACHE-CONTROL:NO-CACHE indicates cached information should not be used and instead requests should be forwarded to the origin server. This directive has the same semantics as the PRAGMA:NO-CACHE.
Clients SHOULD include both PRAGMA:NO-CACHE and CACHE-CONTROL:NO-CACHE when a no-cache request is sent to a server not known to be HTTP/1.1 compliant.
Also see EXPIRES.
Note: It may be better to specify cache commands in HTTP than in META statements, where they can influence more than the browser, but proxies and other intermediaries that may cache information.
Content-Language
<META HTTP-EQUIV="CONTENT-LANGUAGE" CONTENT="en-US,fr">
Declares the primary natural language(s) of the document. May be used by search engines to categorize by language.
CONTENT-TYPE
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-8">
The HTTP content type may be extended to give the character set. It is recommended to always use this tag and to specify the charset.
Copyright
<META NAME="COPYRIGHT" CONTENT="© 2004 Tex Texin">
A copyright statement.
DESCRIPTION
<META NAME="DESCRIPTION" CONTENT="...summary of web page...">
The text can be used when printing a summary of the document. The text should not contain any formatting information. Used by some search engines to describe your document. Particularly important if your document has very little text, is a frameset, or has extensive scripts at the top.
EXPIRES
<META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 22 Jul 2002 11:12:01 GMT">
The date and time after which the document should be considered expired. An illegal EXPIRES date, e.g. "0", is interpreted as "now". Setting EXPIRES to 0 may thus be used to force a modification check at each visit.
Web robots may delete expired documents from a search engine, or schedule a revisit.
HTTP 1.1 (RFC 2068) specifies that all HTTP date/time stamps MUST be generated in Greenwich Mean Time (GMT) and in RFC 1123 format.
RFC 1123 format = wkday "," SP date SP time SP "GMT"
wkday = (Mon, Tue, Wed, Thu, Fri, Sat, Sun)
date = 2DIGIT SP month SP 4DIGIT ; day month year (e.g., 02 Jun 1982)
time = 2DIGIT ":" 2DIGIT ":" 2DIGIT ; 00:00:00 - 23:59:59
month = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)
Keywords
<META NAME="KEYWORDS" CONTENT="sex, drugs, rock & roll">
The keywords are used by some search engines to index your document in addition to words from the title and document body. Typically used for synonyms and alternates of title words. Consider adding frequent misspellings. e.g. heirarchy, hierarchy.
PRAGMA NO-CACHE
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
This directive indicates cached information should not be used and instead requests should be forwarded to the origin server. This directive has the same semantics as the CACHE-CONTROL:NO-CACHE directive and is provided for backwards compatibility with HTTP/1.0.
Clients SHOULD include both PRAGMA:NO-CACHE and CACHE-CONTROL:NO-CACHE when a no-cache request is sent to a server not known to be HTTP/1.1 compliant.
HTTP/1.1 clients SHOULD NOT send the PRAGMA request-header. HTTP/1.1 caches SHOULD treat "PRAGMA:NO-CACHE" as if the client had sent "CACHE-CONTROL:NO-CACHE".
Also see EXPIRES.
Refresh
<META HTTP-EQUIV="REFRESH" CONTENT="15;URL=http://www.I18nGuy.com/index.html">
Specifies a delay in seconds before the browser automatically reloads the document. Optionally, specifies an alternative URL to load, making this command useful for redirecting browsers to other pages.
ROBOTS
<META NAME="ROBOTS" CONTENT="ALL">
<META NAME="ROBOTS" CONTENT="INDEX,NOFOLLOW">
<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">
<META NAME="ROBOTS" CONTENT="NONE">
CONTENT="ALL | NONE | NOINDEX | INDEX| NOFOLLOW | FOLLOW | NOARCHIVE"
default = empty = "ALL"
"NONE" = "NOINDEX, NOFOLLOW"
The CONTENT field is a comma separated list:
INDEX: search engine robots should include this page.
FOLLOW: robots should follow links from this page to other pages.
NOINDEX: links can be explored, although the page is not indexed.
NOFOLLOW: the page can be indexed, but no links are explored.
NONE: robots can ignore the page.
NOARCHIVE: Google uses this to prevent archiving of the page. See http://www.google.com/bot.html
GOOGLEBOT
<META NAME="GOOGLEBOT" CONTENT="NOARCHIVE">
In addition to the ROBOTS META Command above, Google supports a GOOGLEBOT command. With it, you can tell Google that you do not want the page archived, but allow other search engines to do so. If you specify this command, Google will not save the page and the page will be unavailable via its cache.
See Google's FAQ.
Example(s)
Description
Author
<META NAME="AUTHOR" CONTENT="Tex Texin">
The author's name.
cache-control
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
HTTP 1.1. Allowed values = PUBLIC | PRIVATE | NO-CACHE | NO-STORE.
Public - may be cached in public shared caches
Private - may only be cached in private cache
no-Cache - may not be cached
no-Store - may be cached but not archived
The directive CACHE-CONTROL:NO-CACHE indicates cached information should not be used and instead requests should be forwarded to the origin server. This directive has the same semantics as the PRAGMA:NO-CACHE.
Clients SHOULD include both PRAGMA:NO-CACHE and CACHE-CONTROL:NO-CACHE when a no-cache request is sent to a server not known to be HTTP/1.1 compliant.
Also see EXPIRES.
Note: It may be better to specify cache commands in HTTP than in META statements, where they can influence more than the browser, but proxies and other intermediaries that may cache information.
Content-Language
<META HTTP-EQUIV="CONTENT-LANGUAGE" CONTENT="en-US,fr">
Declares the primary natural language(s) of the document. May be used by search engines to categorize by language.
CONTENT-TYPE
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-8">
The HTTP content type may be extended to give the character set. It is recommended to always use this tag and to specify the charset.
Copyright
<META NAME="COPYRIGHT" CONTENT="© 2004 Tex Texin">
A copyright statement.
DESCRIPTION
<META NAME="DESCRIPTION" CONTENT="...summary of web page...">
The text can be used when printing a summary of the document. The text should not contain any formatting information. Used by some search engines to describe your document. Particularly important if your document has very little text, is a frameset, or has extensive scripts at the top.
EXPIRES
<META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 22 Jul 2002 11:12:01 GMT">
The date and time after which the document should be considered expired. An illegal EXPIRES date, e.g. "0", is interpreted as "now". Setting EXPIRES to 0 may thus be used to force a modification check at each visit.
Web robots may delete expired documents from a search engine, or schedule a revisit.
HTTP 1.1 (RFC 2068) specifies that all HTTP date/time stamps MUST be generated in Greenwich Mean Time (GMT) and in RFC 1123 format.
RFC 1123 format = wkday "," SP date SP time SP "GMT"
wkday = (Mon, Tue, Wed, Thu, Fri, Sat, Sun)
date = 2DIGIT SP month SP 4DIGIT ; day month year (e.g., 02 Jun 1982)
time = 2DIGIT ":" 2DIGIT ":" 2DIGIT ; 00:00:00 - 23:59:59
month = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)
Keywords
<META NAME="KEYWORDS" CONTENT="sex, drugs, rock & roll">
The keywords are used by some search engines to index your document in addition to words from the title and document body. Typically used for synonyms and alternates of title words. Consider adding frequent misspellings. e.g. heirarchy, hierarchy.
PRAGMA NO-CACHE
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
This directive indicates cached information should not be used and instead requests should be forwarded to the origin server. This directive has the same semantics as the CACHE-CONTROL:NO-CACHE directive and is provided for backwards compatibility with HTTP/1.0.
Clients SHOULD include both PRAGMA:NO-CACHE and CACHE-CONTROL:NO-CACHE when a no-cache request is sent to a server not known to be HTTP/1.1 compliant.
HTTP/1.1 clients SHOULD NOT send the PRAGMA request-header. HTTP/1.1 caches SHOULD treat "PRAGMA:NO-CACHE" as if the client had sent "CACHE-CONTROL:NO-CACHE".
Also see EXPIRES.
Refresh
<META HTTP-EQUIV="REFRESH" CONTENT="15;URL=http://www.I18nGuy.com/index.html">
Specifies a delay in seconds before the browser automatically reloads the document. Optionally, specifies an alternative URL to load, making this command useful for redirecting browsers to other pages.
ROBOTS
<META NAME="ROBOTS" CONTENT="ALL">
<META NAME="ROBOTS" CONTENT="INDEX,NOFOLLOW">
<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">
<META NAME="ROBOTS" CONTENT="NONE">
CONTENT="ALL | NONE | NOINDEX | INDEX| NOFOLLOW | FOLLOW | NOARCHIVE"
default = empty = "ALL"
"NONE" = "NOINDEX, NOFOLLOW"
The CONTENT field is a comma separated list:
INDEX: search engine robots should include this page.
FOLLOW: robots should follow links from this page to other pages.
NOINDEX: links can be explored, although the page is not indexed.
NOFOLLOW: the page can be indexed, but no links are explored.
NONE: robots can ignore the page.
NOARCHIVE: Google uses this to prevent archiving of the page. See http://www.google.com/bot.html
GOOGLEBOT
<META NAME="GOOGLEBOT" CONTENT="NOARCHIVE">
In addition to the ROBOTS META Command above, Google supports a GOOGLEBOT command. With it, you can tell Google that you do not want the page archived, but allow other search engines to do so. If you specify this command, Google will not save the page and the page will be unavailable via its cache.
See Google's FAQ.
Marcadores:
meta tag
css 3
Many exciting new functions and features are being thought up for CSS3. We will try and showcase some of them on this page, when they get implemented in either Firefox, Konqueror, Opera or Safari/Webkit.
Here they are:
Borders
border-color
border-image
border-radius
box-shadow
Backgrounds
background-origin and background-clip
background-size
multiple backgrounds
Color
HSL colors
HSLA colors
opacity
RGBA colors
Text effects
text-shadow
text-overflow
word-wrap
User-interface
box-sizing
resize
outline
nav-top, nav-right, nav-bottom, nav-left
Selectors
attribute selectorsBasic box model
overflow-x, overflow-y
Generated Content
content
Other modules
media queries
multi-column layout
Web fonts
speech
Here they are:
Borders
border-color
border-image
border-radius
box-shadow
Backgrounds
background-origin and background-clip
background-size
multiple backgrounds
Color
HSL colors
HSLA colors
opacity
RGBA colors
Text effects
text-shadow
text-overflow
word-wrap
User-interface
box-sizing
resize
outline
nav-top, nav-right, nav-bottom, nav-left
Selectors
attribute selectorsBasic box model
overflow-x, overflow-y
Generated Content
content
Other modules
media queries
multi-column layout
Web fonts
speech
Marcadores:
css3
quarta-feira, 12 de maio de 2010
botão topo devagar
pesquisar tambem como criar o efeito do botão topo que quando clica, vai subindo bem devagar.
interag.net
interag.net
Marcadores:
topo
formulário
tentar colocar no formulário a tag title para aparecer quando coloca o mouse em cima
igual ao site: interag.net
no contato
Marcadores:
form
quarta-feira, 28 de abril de 2010
ADM - editar - página que edita o cadastro
Edita o cadastro:
<?php
session_start();
$id_materia = $_POST['id_materia']; // vem pelo campo input type hidden
$campo_01 = $_POST['campo_01'];
$campo_02 = $_POST['campo_02'];
$campo_03 = $_POST['campo_03'];
$data = date("d/m/Y");
$hora = date("H:i:s");
// o código do config.php está em algum outro post
// o código do funcao.php está em algum outro post
require("config.php");
require("funcao.php");
conexao_mysql($host,$user,$pass,$database);
$update = mysql_query("UPDATE `tabela` SET
campo_1='$campo_01',
campo_2='$campo_02',
campo_3='$campo_03',
data='$data',
hora='$hora'
WHERE id ='$id_materia'");
header ("Location:proxima_pagina.php");
?>
<?php
session_start();
$id_materia = $_POST['id_materia']; // vem pelo campo input type hidden
$campo_01 = $_POST['campo_01'];
$campo_02 = $_POST['campo_02'];
$campo_03 = $_POST['campo_03'];
$data = date("d/m/Y");
$hora = date("H:i:s");
// o código do config.php está em algum outro post
// o código do funcao.php está em algum outro post
require("config.php");
require("funcao.php");
conexao_mysql($host,$user,$pass,$database);
$update = mysql_query("UPDATE `tabela` SET
campo_1='$campo_01',
campo_2='$campo_02',
campo_3='$campo_03',
data='$data',
hora='$hora'
WHERE id ='$id_materia'");
header ("Location:proxima_pagina.php");
?>
Marcadores:
banco de dados,
editar
ADM - lista editar - página que escolhe se edita ou exclui cadastros
Página inicial para excluir ou editar ou cadastrar novo formulário.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<link href="css.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table width="800" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="800" align="center" valign="middle">
<span><strong>
Matérias </strong></span>
<br />
<br />
<a href="materia_cadastrar.php">Clique aqui para cadastrar matéria</a><br />
<br />
<?php
require("config.php");
// require("config_wamp.php"); // as informações do wamp são diferentes do servidor
require("funcao.php");
conexao_mysql($host,$user,$pass,$database);
?>
<?php
$bloco = $_GET["pagina"]; // informação do número da página a buscar
$limite = "3"; // número de itens na página
if($bloco == ""){
$inicio = "0";
}else{
$inicio = $bloco;
}
$mostrapag1 = $inicio + 1;
$mostrapag = $inicio + $limite;
$resultado2 = mysql_query("SELECT * FROM `tabela` ORDER BY id DESC");
$total2 = mysql_num_rows($resultado2);
$resultado1 = mysql_query("SELECT * FROM `tabela` ORDER BY id DESC LIMIT $inicio, $limite");
$total1 = mysql_num_rows($resultado1);
?>
<center>
<br />
<span class="texto12">Foram encontrados <b>
<?php echo $total2 ?>
</b> matérias cadastradas.<br />
Resultado de <b>
<?php echo $mostrapag1 ?>
</b> a <b>
<?php echo $mostrapag ?>
</b> nesta página.</span><br />
<br />
</center>
<table width="700" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="45" height="25" align="center" bgcolor="#D7D7D7">Código</td>
<td width="10" bgcolor="#D7D7D7"> </td>
<td width="340" align="left" bgcolor="#D7D7D7">Campo 01</td>
<td width="10" bgcolor="#D7D7D7"> </td>
<td width="55" align="left" bgcolor="#D7D7D7">Campo 02</td>
<td width="10" bgcolor="#D7D7D7"> </td>
<td width="90" align="left" bgcolor="#D7D7D7">Ação (Editar - Excluir)</td>
<td width="10" bgcolor="#D7D7D7"> </td>
<td width="70" align="left" bgcolor="#D7D7D7">Data</td>
<td width="10" align="left" bgcolor="#D7D7D7"> </td>
<td width="50" align="left" bgcolor="#D7D7D7">Hora</td>
</tr>
</table>
<?php
while($row = mysql_fetch_array($resultado1)) {
$id_materia = $row['id'];
$campo_01 = $row['campo_01'];
$campo_02 = $row['campo_02'];
$campo_03 = $row['campo_03'];
$data = $row['data'];
$hora = $row['hora'];
?>
<table width="700" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="45" height="25" align="center" bgcolor="#e7e7e7"><?php echo $id_materia ; ?></td>
<td width="10" bgcolor="#e7e7e7"> </td>
<td width="340" align="left" bgcolor="#e7e7e7"><?php echo $campo_01 ; ?></td>
<td width="10" bgcolor="#e7e7e7"> </td>
<td width="55" align="left" bgcolor="#e7e7e7"><?php echo $campo_02 ; ?></td>
<td width="10" bgcolor="#e7e7e7"> </td>
<td width="90" align="left" bgcolor="#e7e7e7">
<a href="materia_editar.php?materia=<?php echo $id_materia ; ?>" target="_top" class="texto12">Editar</a> -
<a href="materia_excluir.php?materia=<?php echo $id_materia ; ?>" target="_top" class="texto12">Excluir</a></td>
<td width="10" bgcolor="#e7e7e7"> </td>
<td width="70" align="left" bgcolor="#e7e7e7"><?php echo $data ; ?></td>
<td width="10" align="left" bgcolor="#e7e7e7"> </td>
<td width="50" align="left" bgcolor="#e7e7e7"><?php echo $hora ; ?></td>
</tr>
<tr>
<td colspan="11" height="1" align="right" bgcolor="#d7d7d7"></td>
</tr>
</table>
<?php
}
?>
<br />
<table width="568" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="278" align="right">
<?php
if ($inicio < 1){
print('');
}else{
$cap2 = $inicio - $limite;
print('<strong><a href="materia.php?pagina='.$cap2.'">Página anterior</a></strong>');
}
?> </td>
<td width="12" height="25"></td>
<td width="278" align="left">
<?php
$soma = $inicio + $limite;
if ($total2 > $soma){
print('<strong><a href="materia.php?pagina='.$soma.'">Próximo página</a></strong>');
}
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<link href="css.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table width="800" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="800" align="center" valign="middle">
<span><strong>
Matérias </strong></span>
<br />
<br />
<a href="materia_cadastrar.php">Clique aqui para cadastrar matéria</a><br />
<br />
<?php
require("config.php");
// require("config_wamp.php"); // as informações do wamp são diferentes do servidor
require("funcao.php");
conexao_mysql($host,$user,$pass,$database);
?>
<?php
$bloco = $_GET["pagina"]; // informação do número da página a buscar
$limite = "3"; // número de itens na página
if($bloco == ""){
$inicio = "0";
}else{
$inicio = $bloco;
}
$mostrapag1 = $inicio + 1;
$mostrapag = $inicio + $limite;
$resultado2 = mysql_query("SELECT * FROM `tabela` ORDER BY id DESC");
$total2 = mysql_num_rows($resultado2);
$resultado1 = mysql_query("SELECT * FROM `tabela` ORDER BY id DESC LIMIT $inicio, $limite");
$total1 = mysql_num_rows($resultado1);
?>
<center>
<br />
<span class="texto12">Foram encontrados <b>
<?php echo $total2 ?>
</b> matérias cadastradas.<br />
Resultado de <b>
<?php echo $mostrapag1 ?>
</b> a <b>
<?php echo $mostrapag ?>
</b> nesta página.</span><br />
<br />
</center>
<table width="700" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="45" height="25" align="center" bgcolor="#D7D7D7">Código</td>
<td width="10" bgcolor="#D7D7D7"> </td>
<td width="340" align="left" bgcolor="#D7D7D7">Campo 01</td>
<td width="10" bgcolor="#D7D7D7"> </td>
<td width="55" align="left" bgcolor="#D7D7D7">Campo 02</td>
<td width="10" bgcolor="#D7D7D7"> </td>
<td width="90" align="left" bgcolor="#D7D7D7">Ação (Editar - Excluir)</td>
<td width="10" bgcolor="#D7D7D7"> </td>
<td width="70" align="left" bgcolor="#D7D7D7">Data</td>
<td width="10" align="left" bgcolor="#D7D7D7"> </td>
<td width="50" align="left" bgcolor="#D7D7D7">Hora</td>
</tr>
</table>
<?php
while($row = mysql_fetch_array($resultado1)) {
$id_materia = $row['id'];
$campo_01 = $row['campo_01'];
$campo_02 = $row['campo_02'];
$campo_03 = $row['campo_03'];
$data = $row['data'];
$hora = $row['hora'];
?>
<table width="700" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="45" height="25" align="center" bgcolor="#e7e7e7"><?php echo $id_materia ; ?></td>
<td width="10" bgcolor="#e7e7e7"> </td>
<td width="340" align="left" bgcolor="#e7e7e7"><?php echo $campo_01 ; ?></td>
<td width="10" bgcolor="#e7e7e7"> </td>
<td width="55" align="left" bgcolor="#e7e7e7"><?php echo $campo_02 ; ?></td>
<td width="10" bgcolor="#e7e7e7"> </td>
<td width="90" align="left" bgcolor="#e7e7e7">
<a href="materia_editar.php?materia=<?php echo $id_materia ; ?>" target="_top" class="texto12">Editar</a> -
<a href="materia_excluir.php?materia=<?php echo $id_materia ; ?>" target="_top" class="texto12">Excluir</a></td>
<td width="10" bgcolor="#e7e7e7"> </td>
<td width="70" align="left" bgcolor="#e7e7e7"><?php echo $data ; ?></td>
<td width="10" align="left" bgcolor="#e7e7e7"> </td>
<td width="50" align="left" bgcolor="#e7e7e7"><?php echo $hora ; ?></td>
</tr>
<tr>
<td colspan="11" height="1" align="right" bgcolor="#d7d7d7"></td>
</tr>
</table>
<?php
}
?>
<br />
<table width="568" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="278" align="right">
<?php
if ($inicio < 1){
print('');
}else{
$cap2 = $inicio - $limite;
print('<strong><a href="materia.php?pagina='.$cap2.'">Página anterior</a></strong>');
}
?> </td>
<td width="12" height="25"></td>
<td width="278" align="left">
<?php
$soma = $inicio + $limite;
if ($total2 > $soma){
print('<strong><a href="materia.php?pagina='.$soma.'">Próximo página</a></strong>');
}
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
Marcadores:
banco de dados,
editar,
excluir
ADM - cadastra - página que cadastra o formulario
Como cadastrar informações vindas de formulário php no banco de dados mysql.
palavras chave: cadastrar, inserir, banco de dados.
<?php
session_start();
// require("funcoes.php"); // serve para diminuir a foto
$campo = $_POST['campo'];
$data = date("d/m/Y");
$hora = date("H:i:s");
$ver = "sim";
// ############################################################################################################################
// ARQUIVO 1
// ############################################################################################################################
// alterar apenas dimensões da imagem, pasta onde será inserida e nome da foto e do thumb.
class Upload
{
var $arquivo = "";
var $erro = array ( "0" => "upload executado com sucesso!",
"1" => "O arquivo é maior que o permitido pelo Servidor",
"2" => "O arquivo é maior que o permitido pelo formulario",
"3" => "O upload do arquivo foi feito parcialmente",
"4" => "Não foi feito o upload do arquivo"
);
function Verifica_Upload()
{
$this->arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE;
if(!is_uploaded_file($this->arquivo['tmp_name'])) {
return false;
}
$get = getimagesize($this->arquivo['tmp_name']);
if($get["mime"] != "image/jpeg")
{
echo "<span style="color: white; border: solid 1px; background: red;">Essa foto nao é uma imagem valida</span>";
exit;
}
return true;
}
function Envia_Arquivo()
{
if($this->Verifica_Upload()) {
$this->gera_fotos();
return true;
} else {
echo "<br><span style="color: white; border: solid 1px; background: red;">".$this->erro[$this->arquivo['error']]."</span>";
}
}
function gera_fotos()
{
$diretorio = "../produtos/";
$diretorio2 = "../produtos/";
// gera um número randomico entre 1 e 1000 para adicionar no fim do nome da foto
$num = mt_rand(1, 10);
$nome_foto = date("dmYHis").$num."1.jpg";
$nome_thumb = date("dmYHis").$num."1.jpg";
$_SESSION ["session_1"] = $nome_foto;
//determino uma resolução maxima e se a imagem for maior ela sera reduzida
reduz_imagem($this->arquivo['tmp_name'], 500, 375, $diretorio.$nome_foto);
//passo o tamanho da thumbnail
reduz_imagem($this->arquivo['tmp_name'], 120, 90, $diretorio2.$nome_thumb);
echo "<span style="color: white; border: solid 1px; background: blue;">".$this->erro[$this->arquivo['error']]."</span>";
}
}
$upload = new Upload();
$upload->Envia_Arquivo();
$foto1 = $_SESSION['session_1']; // serve para passar o nome da foto para outra pagina se precisar.
//$foto1 = "foto.jpg";
require("config.php");
require("funcao.php");
conexao_mysql($host,$user,$pass,$database);
/*
// aqui esta o codigo da pagina config.php
<?php
$host = "localhost"; // endereço ou ip do phpmyadmin
$user = "usuario"; // usuário do banco de dados
$pass = "senha"; // senha do usuário do banco de dados
$database = "nomebancodedados"; // nome do banco de dados
?>
*/
/*
<?php
// aqui esta o conteúdo da página funcao.php
//// funcao que realiza a conexao com o banco de dados ////
function conexao_mysql($host,$user,$pass,$database){
global $host, $user, $pass, $database;
//verifica se as variaveis (host,user,pass,db_super_news) estao setadas
if(isset($host) and isset($user) and isset($pass) and isset($database)){
//realiza a conexao com o banco de dados
$conexao = mysql_connect($host, $user, $pass);
//checa se a conexao foi bem sucedida
if(!$conexao){
print("<font color='#FF0000'>Error!! Impossível conectar-se ao MYSQL.</font>");
exit();
}
//verifica e seleciona o banco de dados
if(!@mysql_select_db($database, $conexao)){
print("<font color='#FF0000'>Error!! Impossível selecionar o banco de dados $database" . mysql_error() . '</font>');
exit();
}
}else{
print("<font color='#FF0000'>Error!! Alguma(s) da(s) variáveis (host, user, pass, db_super_news), não está atribuída!!</font>");
}
}
//Formata a data do banco de dados MYSQL (ex.: 2004-02-08 22:56:30) para uma mais
//convencional (ex.: 08 de Fevereiro de 2004 - 22h 56min).
function formatData($data)
{
$dia = substr($data, 8, 2);
$mes = substr($data, 5, 2);
switch ($mes) {
case 1:
$newmes = "Janeiro";
break;
case 2:
$newmes = "Fevereiro";
break;
case 3:
$newmes = "Março";
break;
case 4:
$newmes = "Abril";
break;
case 5:
$newmes = "Maio";
break;
case 6:
$newmes = "Junho";
break;
case 7:
$newmes = "Julho";
break;
case 8:
$newmes = "Agosto";
break;
case 9:
$newmes = "Setembro";
break;
case 10:
$newmes = "Outubro";
break;
case 11:
$newmes = "Novembro";
break;
case 12:
$newmes = "Dezembro";
break;
}
$ano = substr($data, 0, 4);
$novadata = $dia . ' de ' . $newmes . ' de ' . $ano;
$novahora = $novadata . ' - ' . substr($data, 11, 2) . 'h' . substr($data, 14, 2) . 'min';
$datahora = $novahora;
return $datahora;
}
?>
*/
$resultado = mysql_query("INSERT into `tabela` (
campo,
data,
hora
) VALUES (
'$campo',
'$data',
'$hora'
)");
unset($_SESSION["session_1"]);
session_unregister($_SESSION["session_1"]);
header ("Location:nomeproximapagina.php");
?>
palavras chave: cadastrar, inserir, banco de dados.
<?php
session_start();
// require("funcoes.php"); // serve para diminuir a foto
$campo = $_POST['campo'];
$data = date("d/m/Y");
$hora = date("H:i:s");
$ver = "sim";
// ############################################################################################################################
// ARQUIVO 1
// ############################################################################################################################
// alterar apenas dimensões da imagem, pasta onde será inserida e nome da foto e do thumb.
class Upload
{
var $arquivo = "";
var $erro = array ( "0" => "upload executado com sucesso!",
"1" => "O arquivo é maior que o permitido pelo Servidor",
"2" => "O arquivo é maior que o permitido pelo formulario",
"3" => "O upload do arquivo foi feito parcialmente",
"4" => "Não foi feito o upload do arquivo"
);
function Verifica_Upload()
{
$this->arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE;
if(!is_uploaded_file($this->arquivo['tmp_name'])) {
return false;
}
$get = getimagesize($this->arquivo['tmp_name']);
if($get["mime"] != "image/jpeg")
{
echo "<span style="color: white; border: solid 1px; background: red;">Essa foto nao é uma imagem valida</span>";
exit;
}
return true;
}
function Envia_Arquivo()
{
if($this->Verifica_Upload()) {
$this->gera_fotos();
return true;
} else {
echo "<br><span style="color: white; border: solid 1px; background: red;">".$this->erro[$this->arquivo['error']]."</span>";
}
}
function gera_fotos()
{
$diretorio = "../produtos/";
$diretorio2 = "../produtos/";
// gera um número randomico entre 1 e 1000 para adicionar no fim do nome da foto
$num = mt_rand(1, 10);
$nome_foto = date("dmYHis").$num."1.jpg";
$nome_thumb = date("dmYHis").$num."1.jpg";
$_SESSION ["session_1"] = $nome_foto;
//determino uma resolução maxima e se a imagem for maior ela sera reduzida
reduz_imagem($this->arquivo['tmp_name'], 500, 375, $diretorio.$nome_foto);
//passo o tamanho da thumbnail
reduz_imagem($this->arquivo['tmp_name'], 120, 90, $diretorio2.$nome_thumb);
echo "<span style="color: white; border: solid 1px; background: blue;">".$this->erro[$this->arquivo['error']]."</span>";
}
}
$upload = new Upload();
$upload->Envia_Arquivo();
$foto1 = $_SESSION['session_1']; // serve para passar o nome da foto para outra pagina se precisar.
//$foto1 = "foto.jpg";
require("config.php");
require("funcao.php");
conexao_mysql($host,$user,$pass,$database);
/*
// aqui esta o codigo da pagina config.php
<?php
$host = "localhost"; // endereço ou ip do phpmyadmin
$user = "usuario"; // usuário do banco de dados
$pass = "senha"; // senha do usuário do banco de dados
$database = "nomebancodedados"; // nome do banco de dados
?>
*/
/*
<?php
// aqui esta o conteúdo da página funcao.php
//// funcao que realiza a conexao com o banco de dados ////
function conexao_mysql($host,$user,$pass,$database){
global $host, $user, $pass, $database;
//verifica se as variaveis (host,user,pass,db_super_news) estao setadas
if(isset($host) and isset($user) and isset($pass) and isset($database)){
//realiza a conexao com o banco de dados
$conexao = mysql_connect($host, $user, $pass);
//checa se a conexao foi bem sucedida
if(!$conexao){
print("<font color='#FF0000'>Error!! Impossível conectar-se ao MYSQL.</font>");
exit();
}
//verifica e seleciona o banco de dados
if(!@mysql_select_db($database, $conexao)){
print("<font color='#FF0000'>Error!! Impossível selecionar o banco de dados $database" . mysql_error() . '</font>');
exit();
}
}else{
print("<font color='#FF0000'>Error!! Alguma(s) da(s) variáveis (host, user, pass, db_super_news), não está atribuída!!</font>");
}
}
//Formata a data do banco de dados MYSQL (ex.: 2004-02-08 22:56:30) para uma mais
//convencional (ex.: 08 de Fevereiro de 2004 - 22h 56min).
function formatData($data)
{
$dia = substr($data, 8, 2);
$mes = substr($data, 5, 2);
switch ($mes) {
case 1:
$newmes = "Janeiro";
break;
case 2:
$newmes = "Fevereiro";
break;
case 3:
$newmes = "Março";
break;
case 4:
$newmes = "Abril";
break;
case 5:
$newmes = "Maio";
break;
case 6:
$newmes = "Junho";
break;
case 7:
$newmes = "Julho";
break;
case 8:
$newmes = "Agosto";
break;
case 9:
$newmes = "Setembro";
break;
case 10:
$newmes = "Outubro";
break;
case 11:
$newmes = "Novembro";
break;
case 12:
$newmes = "Dezembro";
break;
}
$ano = substr($data, 0, 4);
$novadata = $dia . ' de ' . $newmes . ' de ' . $ano;
$novahora = $novadata . ' - ' . substr($data, 11, 2) . 'h' . substr($data, 14, 2) . 'min';
$datahora = $novahora;
return $datahora;
}
?>
*/
$resultado = mysql_query("INSERT into `tabela` (
campo,
data,
hora
) VALUES (
'$campo',
'$data',
'$hora'
)");
unset($_SESSION["session_1"]);
session_unregister($_SESSION["session_1"]);
header ("Location:nomeproximapagina.php");
?>
Marcadores:
banco de dados,
cadastrar,
inserir,
mysql
mostra div com mouseover no link
Teste de javascript que mostra conteúdo de div escondida quando coloca o mouse sobre link.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<script type="text/javascript" language="JavaScript">
var cX = 0; var cY = 0; var rX = 0; var rY = 0;
function UpdateCursorPosition(e){ cX = e.pageX; cY = e.pageY;}
function UpdateCursorPositionDocAll(e){ cX = event.clientX; cY = event.clientY;}
if(document.all) { document.onmousemove = UpdateCursorPositionDocAll; }
else { document.onmousemove = UpdateCursorPosition; }
function AssignPosition(d) {
if(self.pageYOffset) {
rX = self.pageXOffset;
rY = self.pageYOffset;
}
else if(document.documentElement && document.documentElement.scrollTop) {
rX = document.documentElement.scrollLeft;
rY = document.documentElement.scrollTop;
}
else if(document.body) {
rX = document.body.scrollLeft;
rY = document.body.scrollTop;
}
if(document.all) {
cX += rX;
cY += rY;
}
d.style.left = (cX+10) + "px";
d.style.top = (cY+10) + "px";
}
function HideContent(d) {
if(d.length < 1) { return; }
document.getElementById(d).style.display = "none";
}
function ShowContent(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
dd.style.display = "block";
}
function ReverseContentDisplay(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
if(dd.style.display == "none") { dd.style.display = "block"; }
else { dd.style.display = "none"; }
}
//-->
</script>
<br />
<br />
<br />
<a
onmousemove="ShowContent('olhovivo'); return true;"
onmouseover="ShowContent('olhovivo'); return true;"
onmouseout="HideContent('olhovivo'); return true;"
href="javascript:ShowContent('olhovivo')">
produto 1
</a>
<br />
<br />
produto 2
<br />
<br />
<a
onmousemove="ShowContent('olhovivo'); return true;"
onmouseover="ShowContent('olhovivo'); return true;"
onmouseout="HideContent('olhovivo'); return true;"
href="javascript:ShowContent('olhovivo')">
produto 3
</a>
<div
id="olhovivo"
style="display:none;
position:absolute;
border-style: solid;
background-color: white;
padding: 20px;">
<center>
<font face="Arial, Helvetica, sans-serif" size="2" color="#999999">
Este produto faz parte da
<br />
campanha OLHOVIVO da Eurofarma.
</font>
</center>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<script type="text/javascript" language="JavaScript">
var cX = 0; var cY = 0; var rX = 0; var rY = 0;
function UpdateCursorPosition(e){ cX = e.pageX; cY = e.pageY;}
function UpdateCursorPositionDocAll(e){ cX = event.clientX; cY = event.clientY;}
if(document.all) { document.onmousemove = UpdateCursorPositionDocAll; }
else { document.onmousemove = UpdateCursorPosition; }
function AssignPosition(d) {
if(self.pageYOffset) {
rX = self.pageXOffset;
rY = self.pageYOffset;
}
else if(document.documentElement && document.documentElement.scrollTop) {
rX = document.documentElement.scrollLeft;
rY = document.documentElement.scrollTop;
}
else if(document.body) {
rX = document.body.scrollLeft;
rY = document.body.scrollTop;
}
if(document.all) {
cX += rX;
cY += rY;
}
d.style.left = (cX+10) + "px";
d.style.top = (cY+10) + "px";
}
function HideContent(d) {
if(d.length < 1) { return; }
document.getElementById(d).style.display = "none";
}
function ShowContent(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
dd.style.display = "block";
}
function ReverseContentDisplay(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
if(dd.style.display == "none") { dd.style.display = "block"; }
else { dd.style.display = "none"; }
}
//-->
</script>
<br />
<br />
<br />
<a
onmousemove="ShowContent('olhovivo'); return true;"
onmouseover="ShowContent('olhovivo'); return true;"
onmouseout="HideContent('olhovivo'); return true;"
href="javascript:ShowContent('olhovivo')">
produto 1
</a>
<br />
<br />
produto 2
<br />
<br />
<a
onmousemove="ShowContent('olhovivo'); return true;"
onmouseover="ShowContent('olhovivo'); return true;"
onmouseout="HideContent('olhovivo'); return true;"
href="javascript:ShowContent('olhovivo')">
produto 3
</a>
<div
id="olhovivo"
style="display:none;
position:absolute;
border-style: solid;
background-color: white;
padding: 20px;">
<center>
<font face="Arial, Helvetica, sans-serif" size="2" color="#999999">
Este produto faz parte da
<br />
campanha OLHOVIVO da Eurofarma.
</font>
</center>
</div>
</body>
</html>
Marcadores:
div escondida,
javascript
quarta-feira, 25 de novembro de 2009
passar informações via get
errado:
$produto = $_GET['id'];
certo:
$produto = (int)$_GET['id'];
$produto = $_GET['id'];
certo:
$produto = (int)$_GET['id'];
Marcadores:
get
segunda-feira, 23 de novembro de 2009
login com MD5
MD5 simples
[code=PHP]
$string = 'Something';
$hash = md5($string);
echo $hash;
?>
[/code]
MD5 com salt
[code=PHP]
$string = 'something';
$salt = 's+(_a*';
$hash = md5($string.$salt);
?>
[/code]
hash = md5 ( ( password + salt ) + salt )
[code=PHP]
$string = 'Something';
$hash = md5($string);
echo $hash;
?>
[/code]
MD5 com salt
[code=PHP]
$string = 'something';
$salt = 's+(_a*';
$hash = md5($string.$salt);
?>
[/code]
hash = md5 ( ( password + salt ) + salt )
terça-feira, 17 de novembro de 2009
como postar código html correto
http://blogcrowds.com/resources/parse_html.php
Marcadores:
codigo correto
upload
<pre>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input name="file" id="file" type="file">
<input name="submit" value="Submit" type="submit">
</form>
</pre>
<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "
";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "
";
echo "Type: " . $_FILES["file"]["type"] . "
";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
?>
restrição
<?php
{
echo "Error: " . $_FILES["file"]["error"] . "
";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "
";
echo "Type: " . $_FILES["file"]["type"] . "
";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
}
else
{
echo "Invalid file";
}
?>
<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input name="file" id="file" type="file">
<input name="submit" value="Submit" type="submit">
</form>
</pre>
<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "
";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "
";
echo "Type: " . $_FILES["file"]["type"] . "
";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
?>
restrição
<?php
{
echo "Error: " . $_FILES["file"]["error"] . "
";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "
";
echo "Type: " . $_FILES["file"]["type"] . "
";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
}
else
{
echo "Invalid file";
}
?>
<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>
Marcadores:
upload
função simples
php
function writeName($fname)
{
echo $fname . " Refsnes.
";
}
echo "My name is ";
writeName("Kai Jim");
echo "My sister's name is ";
writeName("Hege");
echo "My brother's name is ";
writeName("Stale");
?>
Output:
My name is Kai Jim Refsnes.
My sister's name is Hege Refsnes.
My brother's name is Stale Refsnes.
Marcadores:
função
for
php
for ($i=1; $i<=5; $i++)
{
echo "The number is " . $i . "
";
}
?>
Output:
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5
operadores lógicos
Logical Operators
Operator Description Example
&& and x=6
y=3
(x < 10 && y > 1) returns true
|| or x=6
y=3
(x==5 || y==5) returns false
! not x=6
y=3
!(x==y) returns true
Marcadores:
operadores lógicos
abre e fecha conexão
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM Persons");
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName'];
echo "
";
}
mysql_close($con);
?>
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM Persons");
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName'];
echo "
";
}
mysql_close($con);
?>
Marcadores:
conexão
sexta-feira, 13 de novembro de 2009
função sleep do PHP
sleep (60);
para ele pausar o script por 60 segundos..
ele continua automaticamente...
para ele pausar o script por 60 segundos..
ele continua automaticamente...
segunda-feira, 19 de outubro de 2009
explode
// Example 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
// Example 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *
?>
Marcadores:
explode
domingo, 20 de setembro de 2009
Principais comandos MySQL
Vamos lá:
| Comandos | Descrição |
| mysql_affected_rows | Retorna o número de linhas afetadas por uma consulta |
| mysql_close | Fecha a conexão com o banco de dados MySQL |
| mysql_connect | Abre a conexão com um banco de dados MySQL |
| mysql_create_db | Cria um banco de dados MySQL |
| mysql_data_seek | Move o ponteiro interno de uma consulta |
| mysql_db_query | Envia uma consulta MySQL para o banco de dados |
| mysql_drop_db | Exclui um banco de dados MySQL |
| mysql_errno | Retorna o número do erro da última chamada MySQL |
| mysql_error | Retorna a mensagem de erro da última chamada MySQL |
| mysql_fetch_array | Retorna o resultado de uma consulta como array |
| mysql_fetch_field | Retorna informações sobre um campo da consulta (objeto ) |
| mysql_fetch_lengths | Retorna o tamanho máximo de cada campo em uma consulta |
| mysql_fetch_object | Retorna uma linha da consulta como um objeto |
| mysql_fetch_row | Retorna uma linha da consulta como um array |
| mysql_field_name | Retorna o nome de um campo da consulta |
| mysql_field_seek | Posiciona o ponteiro para um campo específico da consulta |
| mysql_field_table | Retorna o nome da tabela à qual o campo pertence |
| mysql_field_type | Retorna o tipo de dado do campo |
| mysql_field_flags | Retorna os flags associados a um campo da consulta |
| mysql_field_len | Retorna o tamanho de um campo da consulta |
| mysql_free_result | Libera os recursos alocados a uma consulta |
| mysql_insert_id | Retorna o ID da última cláusula INSERT executada |
| mysql_list_fields | Relação de campos de uma consulta |
| mysql_list_dbs | Lista os Bancos de Dados disponíveis no Sevidor |
| mysql_list_tables | Lista as tabelas existentes em um Banco de Dados MySQL |
| mysql_num_fields | Retorna o número de campos de uma consulta |
| mysql_num_rows | Retorna o número de linhas de uma consulta |
| mysql_pconnect | Estabelece uma conexão persistente com o Banco de Dados |
| mysql_query | Envia uma consulta SQL ao Banco de Dados MySQL |
| mysql_result | Retorna os dados de uma consulta |
| mysql_select_db | Seleciona um Banco de Dados MySQL |
| mysql_tablename | Retorna o nome da Tabela de um campo. |
Marcadores:
mysql
quinta-feira, 12 de fevereiro de 2009
mostrar erro na coxexão mysql
Este arquivo conecta um banco de dados MySQL - Servidor = localhost
$dbname="teste"; // Indique o nome do banco de dados que será aberto
$usuario=" "; // Indique o nome do usuário que tem acesso
$password=" "; // Indique a senha do usuário
//1º passo - Conecta ao servidor MySQL
if(!($id = mysql_connect("localhost",$usuario,$password)))
{
echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.";
exit;
}
//2º passo - Seleciona o Banco de Dados
if(!($con=mysql_select_db($dbname,$id))) {
echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.";
exit;
}
?>
$dbname="teste"; // Indique o nome do banco de dados que será aberto
$usuario=" "; // Indique o nome do usuário que tem acesso
$password=" "; // Indique a senha do usuário
//1º passo - Conecta ao servidor MySQL
if(!($id = mysql_connect("localhost",$usuario,$password)))
{
echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.";
exit;
}
//2º passo - Seleciona o Banco de Dados
if(!($con=mysql_select_db($dbname,$id))) {
echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.";
exit;
}
?>
segunda-feira, 9 de fevereiro de 2009
mostrar erro de query (select)
if (!$result) {
die('Invalid query: ' . mysql_error());
}
Exemplo:
= mysql_query('SELECT * WHERE 1=1');
if (!$result) {
die('Invalid query: ' . mysql_error());
}
terça-feira, 6 de janeiro de 2009
gerar um número aleatório
$num = mt_rand(1, 1000);
echo $num ;
não sei se funciona em todas as versões de php
echo $num ;
não sei se funciona em todas as versões de php
Marcadores:
gerar randomico
sábado, 3 de janeiro de 2009
links uteis
http://www.phpavancado.net
http://www.oficinadanet.com.br/area/6/javascript
pesquisar sobre smarty e zend framework
http://www.oficinadanet.com.br/area/6/javascript
pesquisar sobre smarty e zend framework
sexta-feira, 2 de janeiro de 2009
scripts para galeria de fotos
http://www.smashingmagazine.com/2007/05/18/30-best-solutions-for-image-galleries-slideshows-lightboxes/
Marcadores:
galeria de fotos
links úteis
http://www.oficinadanet.com.br/artigo/976/manipulacao_de_arquivos_no_php
Marcadores:
dicas
selecionar comum entre 2 tabelas
http://www.oficinadanet.com.br/artigo/786/mysql_consulta_com_duas_tabelas
Hoje vou demonstrar como fazer uma consulta utilizando duas tabelas, as tabelas são:
- ESTADO ----
| estado_id |
| estado |
-------------
- CIDADE ----
| cidade_id |
| estado_id |
| cidade |
-------------
Estas são as tabelas, vamos selecionar o nome e o id das duas.
SELECT c.cidade_id, c.cidade, e.estado_id, e.estado
FROM cidade c
INNER JOIN estado e
ON e.estado_id = c.estado_id
Esta consulta é uma das formas mais otimizadas de retornar o resultado acima solicitado. Ele ira pesquisar em cidade dizendo que é obrigatória a relação com estado, ou seja, a cidade deverá conter um estado relacionado.
Podemos fazer a mesma consulta sem a obrigatoriedade da cidade conter o estado, fazendo a troca de INNER JOIN por LEFT JOIN.
Na próxima coluna estarei publicando as diferenças entre INNER, LEFT e RIGHT JOIN.
Hoje vou demonstrar como fazer uma consulta utilizando duas tabelas, as tabelas são:
- ESTADO ----
| estado_id |
| estado |
-------------
- CIDADE ----
| cidade_id |
| estado_id |
| cidade |
-------------
Estas são as tabelas, vamos selecionar o nome e o id das duas.
SELECT c.cidade_id, c.cidade, e.estado_id, e.estado
FROM cidade c
INNER JOIN estado e
ON e.estado_id = c.estado_id
Esta consulta é uma das formas mais otimizadas de retornar o resultado acima solicitado. Ele ira pesquisar em cidade dizendo que é obrigatória a relação com estado, ou seja, a cidade deverá conter um estado relacionado.
Podemos fazer a mesma consulta sem a obrigatoriedade da cidade conter o estado, fazendo a troca de INNER JOIN por LEFT JOIN.
Na próxima coluna estarei publicando as diferenças entre INNER, LEFT e RIGHT JOIN.
segunda-feira, 15 de dezembro de 2008
quarta-feira, 10 de dezembro de 2008
select em 2 tabelas
"
SELECT
a.campo1,
a.campo2,
a.campo3,
b.campo001,
b.campo002
FROM
tabela1 a,
tabela001 b
WHERE
(a.campo1 NOT LIKE '' AND
(a.campo2='CHEVROLET' AND
(a.capo3='sim' AND
(b.campo001 = 'sim' AND
b.campo001 = a.campo1))))
ORDER BY RAND()"
SELECT
a.campo1,
a.campo2,
a.campo3,
b.campo001,
b.campo002
FROM
tabela1 a,
tabela001 b
WHERE
(a.campo1 NOT LIKE '' AND
(a.campo2='CHEVROLET' AND
(a.capo3='sim' AND
(b.campo001 = 'sim' AND
b.campo001 = a.campo1))))
ORDER BY RAND()"
sexta-feira, 5 de dezembro de 2008
limpar form simples
$item = "Zak's Laptop";
$escaped_item = mysql_escape_string($item);
printf ("String escapada: %s\n", $escaped_item);
Marcadores:
proteger sql injection
quarta-feira, 3 de dezembro de 2008
útil para trabalhos em andamento
http://www.criarweb.com/artigos/193.php
http://www.criarweb.com/artigos/481.php
http://www.criarweb.com/artigos/454.php
http://www.criarweb.com/artigos/186.php
http://www.criarweb.com/artigos/180.php
http://www.criarweb.com/artigos/177.php
http://www.criarweb.com/artigos/176.php
http://www.criarweb.com/artigos/174.php
http://www.criarweb.com/artigos/481.php
http://www.criarweb.com/artigos/454.php
http://www.criarweb.com/artigos/186.php
http://www.criarweb.com/artigos/180.php
http://www.criarweb.com/artigos/177.php
http://www.criarweb.com/artigos/176.php
http://www.criarweb.com/artigos/174.php
Marcadores:
artigos úteis
login de múltiplos usuários
http://www.criarweb.com/artigos/autenticacao-php-para-multiplos-usuarios-mysql.html
Marcadores:
multiplo login
criarweb - manual completo
no site http://www.criarweb.com/php/ tem vários artigos explicando o PHP desde iniciante até PHP5.
Marcadores:
dicas php
terça-feira, 2 de dezembro de 2008
sql injection
para limpar o código basta usar
$item = "Zak's Laptop";
$escaped_item = mysql_escape_string($item);
printf ("String escapada: %s\n", $escaped_item);
Marcadores:
segurança php
solução para método GET
primeiro vc define uma senha e encripta a informação a ser passada
index.php
depois vc desencripta a informação passada via get com a mesma senha
editar.php
index.php
//Esta página esta passando os parâmetros criptografados pelo GET.
function get_rnd_iv($iv_len)
{
$iv = '';
while ($iv_len-- > 0) {
$iv .= chr(mt_rand() & 0xff);
}
return $iv;
}
function md5_encrypt($plain_text, $password, $iv_len = 16)
{
$plain_text .= "x13";
$n = strlen($plain_text);
if ($n % 16) $plain_text .= str_repeat("{TEXTO}", 16 - ($n % 16));
$i = 0;
$enc_text = get_rnd_iv($iv_len);
$iv = substr($password ^ $enc_text, 0, 512);
while ($i < $n) { $block = substr($plain_text, $i, 16) ^ pack('H*', md5($iv)); $enc_text .= $block; $iv = substr($block . $iv, 0, 512) ^ $password; $i += 16; } return base64_encode($enc_text); } $con = new ConexaoMysql(); $result = $con->sql("SELECT * FROM clientes");
$dados = mysql_fetch_array($result);
$linhas = mysql_num_rows($result);
$ini = 0;
while ($linhas > $ini)
{
echo "";
$id = $dados['id'];
$password = "123";
$id_cript = md5_encrypt($id, $password);
echo "Cliente";
echo "Editar";
echo "";
$dados = mysql_fetch_array($result);
$ini++;
}
?>
depois vc desencripta a informação passada via get com a mesma senha
editar.php
//Essa página recebe os parâmetros criptografados e tem a função de "decriptografar" os dados recebidos
$id_cript = $_GET['oi'];
$password = "123";
function md5_decrypt($enc_text, $password, $iv_len = 16)
{
$enc_text = base64_decode($enc_text);
$n = strlen($enc_text);
$i = $iv_len;
$plain_text = '';
$iv = substr($password ^ substr($enc_text, 0, $iv_len), 0, 512);
while ($i < $n) { $block = substr($enc_text, $i, 16); $plain_text .= $block ^ pack('H*', md5($iv)); $iv = substr($block . $iv, 0, 512) ^ $password; $i += 16; } return preg_replace('/\x13\x00*$/', '', $plain_text); } $id = md5_decrypt($id_cript, $password); $con = new ConexaoMysql(); $result = $con->sql("SELECT * FROM clientes WHERE id = '$id'");
$dados = mysql_fetch_array($result);
$nome = $dados['nome'];
?>
Marcadores:
segurança php
dicas segurança PHP
não usar o método GET para informações importantes
sempre que usar GET, limpar os dados transferidos
sempre que usar UPLOAD, conferir se os arquivos são seguros
sempre que usar GET, limpar os dados transferidos
sempre que usar UPLOAD, conferir se os arquivos são seguros
Sempre que for gravar um arquivo via upload, tenha certeza do tipo de arquivo que está gravando. Por exemplo, um arquivo de imagem pode ser simplesmente tratado usando uma validação de tipos.
Exemplo:
Exemplo:
function type_up()
{//Verifica se o mime-type do arquivo de imagem
if(!eregi("^image/(pjpeg|jpeg|png|gif|bmp)$", $this->arquivo["type"])){
return 0;
}else{
return 1;
}
}
{//Verifica se o mime-type do arquivo de imagem
if(!eregi("^image/(pjpeg|jpeg|png|gif|bmp)$", $this->arquivo["type"])){
return 0;
}else{
return 1;
}
}
Marcadores:
segurança php
global register
como trabalhar com global register = off
quando o global esta off - o php não sabe o que é $cod - tem de especificar exatamente o caminho:
$cod = $_GET['cod'] //tipo get
$cod = $_POST['cod'] //tipo post
$cod = $_SESSION['cod'] //tipo session
$cod = $_COOKIE['cod'] //tipo cookie
quando o global esta off - o php não sabe o que é $cod - tem de especificar exatamente o caminho:
$cod = $_GET['cod'] //tipo get
$cod = $_POST['cod'] //tipo post
$cod = $_SESSION['cod'] //tipo session
$cod = $_COOKIE['cod'] //tipo cookie
Marcadores:
global register
segunda-feira, 3 de novembro de 2008
diferença no SELECT
SELECT campo1, campo2 FROM tabela WHERE cod = 1
SELECT campo1, campo2 FROM tabela WHERE nome = 'fulano de tal'
SELECT campo1, campo2 FROM tabela WHERE nome = 'fulano de tal'
quando é número inteiro não precisa de aspas
Marcadores:
dicas
terça-feira, 7 de outubro de 2008
select com filtro
criar select com filtro usando OR e AND
$resultado2 = mysql_query("SELECT * FROM `tabela` WHERE (campo1='$session_nome' OR campo2='$session_nome' OR campo3='$session_nome') AND outrocampo LIKE 'teste' ORDER BY id DESC");
terça-feira, 30 de setembro de 2008
php classes
http://www.phpclasses.org/browse/package/2630.html
estudar php classes
Marcadores:
php classes
sábado, 20 de setembro de 2008
preenchendo o meta corretamente
Segundo o site criarweb. A forma correta de preencher o META de um site é:
http://www.criarweb.com/gen_meta/
http://www.criarweb.com/gen_meta/
Marcadores:
meta
sexta-feira, 19 de setembro de 2008
if simples
if($advogado3 != ""){
$virgula2 = ", ";
}else{
$virgula2 = "";
}
if completo
header('Content-type: text/html; charset=UTF-8') ;
$d = date("D");
if ($d == "Fri"){
echo "Hoje é sexta-feira!";
}elseif ($d == "Sat"){
echo "Hoje é sábado!";
}elseif ($d == "Sun"){
echo "Hoje é domingo!";
}else{
echo "Tenha um bom dia!";
}
$virgula2 = ", ";
}else{
$virgula2 = "";
}
if completo
header('Content-type: text/html; charset=UTF-8') ;
$d = date("D");
if ($d == "Fri"){
echo "Hoje é sexta-feira!";
}elseif ($d == "Sat"){
echo "Hoje é sábado!";
}elseif ($d == "Sun"){
echo "Hoje é domingo!";
}else{
echo "Tenha um bom dia!";
}
Marcadores:
if
Assinar:
Postagens (Atom)