Arquivo

Arquivo de dezembro, 2007

Bug no ORKUT

14, dezembro, 2007 Rafael Sem comentários

orkut
Talvez muitos ja ouviram falar ou até ja descobriram também mas eu vim compartilhar um bug que achei no orkut.
Como sabemos é permitido comentar em HTML na pagina de recados dos contatos amigos e com isso há diversas maneiras de fazer arte e uma delas eu descobri é que você trava a página do usuário colocando um embed. Seguinte o codigo é

<embed src=”http://www.orkut.com/GLogin.aspx?cmd=logout” />
com isso irá carregar a página de logout fazendo com que o usuário precise de logar a cada vez que o browser ler esse codigo. Faça um teste e confira você mesmo, copie o codigo e cole na pagina de recados dos amigos.

Categories: Tecnologia - Info Tags:

Paginação com PHP

12, dezembro, 2007 Rafael Sem comentários

Vou explicar
uma maneira simples e fácil de fazer uma paginação
no php usando banco mysql.

A consulta no mysql é
feita de forma que o LIMIT é quem define onde vai começar
e quantos registros eu quero a partir do momento que começou a
listar.

Ex: $sql= “Select * from Tabela LIMIT 4,10″;
No exemplo acima ele vai mostrar os resultados da 4 pagina definindo que
cada pagina tem 10 registros.

Bem isso é o básico agora vamos detalhar o codigo completo:

//Esta linha define que a variavel pagina pode vir
em GET ou POST que ele vai puxar de qualquer forma

$pagina = (empty($_POST['pagina']))?$_GET['pagina']:$_POST['pagina'];

//Aqui vai definir o total de registros que eu quero
por página e vai verificar se a variavel $pagina vinher vazia então
ele vai setar como valor=1 ou seja se não vinher nada ele define
a pagina padrão como 1.

$total = “20″; // número de registros
por página
if (
empty($pagina)) {
$pc = “1″;
} else {
$pc = $pagina;
}

//uma vez que sempre o php tem como pagina inical a 0 então vamos
dizer que $pagina é sempre igual o valor que recebeu menos 1

$inicio = $pc – 1;

// definindo a partir de que ponto começa
a consulta ou seja ele pega a pagina que recebeu e multiplica pelo total
de registros que foi limitado por página e assim saberá
a partir de onde começar a consulta

$inicio = $inicio * $total;

//Aqui ele faz a consulta com o limite de páginas
que a gente ja definiu acima e preste atenção no código
pois nele ta detalhando a partir de onde começa e quantos valores
quero exibir

$limite = mysql_query(“select * from Tabela
LIMIT $inicio,$total”)
or die (“Erro no SQL:” .mysql_error());

//Aqui vc vai saber o total de páginas para
caso queira fazer uma paginação com numeros tipow [1][2][3]
então vc vai precisar saber o total de paginas e isso e simples
vc so precisa saber quantos registros existem sem limitar por total e
dividi-los pelo total limite que vc definiu por página

$tr = mysql_query(“Select * from Tabela”);
$tr = mysql_num_rows($tr); //total de registros
$TotalPagina = $tr / $total;
$tp = floor($tp)
; //como nem sempre o valor
é exato e as vezes vem 3.7 ou 2.5 vamos arredonda-lo com a função
floor.

Bem
agora ja temos toda a consulta LIMITANDO registros por pagina e paginando-os
de acordo com o total de páginas, basta agora criar os botoes anterior
e próximo.


//Aqui ele vai definir que $anterior significa o
numero de paginas -1 e proxima o numero de paginas +1

$anterior = $pc -1;
$proximo = $pc +1;


//Então ele vai verificar se $pc for maior que 1 ele vai exibir
o botão próxima e se $pc for menor que ou igual ao total
de páginas ele mostra o botão anterior.

if
($pc>1) {
print (“<a href=’{$_SERVER['PHP_SELF']}?pagina=$anterior’>[Anterior]</a>”);
}
if ($pc<=$tp) {
print (“<a href=’{$_SERVER['PHP_SELF']}?pagina=$proximo’>[Proxima]</a>”);
}

//e para exibir o total de paginas vc vai usar a
função for, que não precisa nem eu explicar o seu
funcionamento pois ela propria se auto detalha, caso queira mais informações

http://php.net/for

for ($i = 0; $i <= $tp; $i++) {
$num = $i+1;
print(“<a href=’{$_SERVER['PHP_SELF']}?pagina=$num’>>[$num]</a>”);
}

Espero ter ajudado
a quem queria aprender paginação.

Categories: Php + Mysql Tags:
Navigation »