PUBLICIDADE
Este código tem nota
9

Autor

vinimgsp

Vinicius Oliveira Costa

membro deste fevereiro de 2009

Compartilhe e guarde

  • Rec6
  • StumbleUpon
  • ueba
  • linkk
  • dihitt
  • linkloko
  • linkto
  • Technorati
  • Simpy
  • del.icio.us
  • Faves: Fave It!

PUBLICIDADE

Enquete

Como você fará para aprender HTML5 / CSS3?

Indicador de páginas em PHP


Um ótimo indicador de páginas desenvolvido em PHP que também inclui a opção de ser avisado por e-mail quando alguém indicar alguma página do seu website.

Obs.: Notem que ele indica exatamente a página que o usuário está visitando. Ex: Se ele estiver na HOME e clicar em "indicar" , ele estará indicando o link completo da HOME, ou se ele estiver em uma foto, na página de galeria e indicar tal foto, também estará indicando o link completo da foto.

Funciona perfeitamente e inclui algumas anotações no arquivo Leia-me!

Abraços! Esta foi minha primeira contribuição.
Página index.php
-----------------------------

<?php
$string = $_SERVER['QUERY_STRING'];
?>
<html> 
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Compartilhando</title>
<script language="javascript">
<!--

function reset() {
document.form.name.value="";
document.form.email.value="";
document.form.friendmail1.value="";
document.form.friendmail2.value="";
document.form.friendmail3.value="";
}

function validate() {

if (document.form.name.value.length==0) {
alert("Digite seu nome!");
document.form.name.focus();
return false;
}

if (document.form.email.value.indexOf('@', 0) == -1) {
                alert("Por favor digite o seu e-mail!");
                document.form.email.focus();
                return false;
        }

if (document.form.amigo1.value.length==0) {
alert("Digite o e-mail de ao menos 1 Amigo!");
document.form.amigo1.focus();
return false;
}

document.form.submit()
return true;
}

//-->
</script>
<style type="text/css">
#link {
display:none
}
.style1 {
	color: #3399FF;
	font-weight: bold;
	font-size: 14px;
}
.style2 {
	color: #FF6600;
	font-weight: bold;
	font-size: 18px;
	font-family: Arial, Helvetica, sans-serif;
}
.style3 {
	color: #999999;
	font-weight: bold;
	font-size: 16px;
}
.style4 {
	color: #FF0000;
	font-weight: bold;
}
</style>
</head>
<body onLoad="reset()" topmargin="0" leftmargin="0"> 
<center>
</center>
<table width="450" cellpadding="0" cellspacing="0" align="center"> 
<tr valign="top"> 
<td valign="middle" align="center"> 
<p class="style2"><img src="amigos.jpg" width="58" height="58"></p>
<p class="style2">Compartilhe esta p&aacute;gina com seus amigos!</p>
<form name="form" action="indica.php" method="post" onSubmit="return checkfields()"> 
<div align="center">
<center>
<table width="318" border="0" cellpadding="10" cellspacing="0">
<tr>
<td> <span class="style1">Seu nome:</span></td>
<td>
<input size="30" name="nome" maxlength="45">
</td>
</tr>
<tr>
<td><span class="style1">Seu e-mail:</span></td>
<td>
<input size="30" name="email" maxlength="45">
</td>
</tr>
<tr>
<td>
<input size="30" name="link" value="<?php echo $string ?>" maxlength="45" id="link">
</td>
</tr>
<td colspan="2">
<p align="center" class="style3">Digite o e-mail dos seus amigos</td>
</tr>
<tr>
<td><span class="style4">Amigo 1</span></td>
<td>
<input size="30" name="amigo1" maxlength="45">
</td>
</tr>
<tr>
<td><span class="style4">Amigo 2</span></td>
<td>
<input size="30" name="amigo2" maxlength="45">
</td>
</tr>
<tr>
<td><span class="style4">Amigo 3</span></td>
<td>
<input size="30" name="amigo3" maxlength="45">
</td>
</tr>
<tr>
<td><span class="style1">Coment&aacute;rio</span></td>
<td>
<textarea name="comentario" cols="30" rows="5"></textarea>
</td>
</tr>
<td colspan="2">
<p align="center">
  <input type="image" src="ok.jpg" class="ok" onClick="return validate();" onMouseOver="this.src='ok-on.jpg'" onMouseOut="this.src='ok.jpg'" />
<p align="center">O e-mail ser&aacute; enviado com seu nome e e-mail.</td>
</tr>
</table>
</center>
</div>
</form>
</td>
</tr> 
<tr valign="top"> 
<td valign="middle" align="center">&nbsp; 

</td>
</tr> 
</table>
</body>
</html>

Página indica.php
-------------------------

<?php

if(count($_POST)) {
# viniciusitaunamg@hotmail.com para duvidas e atualizações
# 

foreach(array('amigo1','amigo2','amigo3','email','nome') as $key) $_POST[$key] = strip_tags($_POST[$key]);
if(!is_secure($_POST)) { die("Protegido contra hackeamento");}

# Esta etapa envia um e-mail para voce avisando quando o form é usado 
# 

// Altere aqui! Especifique seu  endereço de e-mail:
$emailto = "seuemail@email.com"; 

// Altere aqui! Titulo da mensagem 
$esubject = "Uma pagina foi compartilhada"; 

//Altere aqui! Nome do seu site
$seusite = "digite aqui o nome do site"

// Mensagem de cópia - Altere apenas se tiver conhecimento
$emailtext = "
$_POST[nome] ( $_POST[email] ) Compartilhou uma pagina com seus amigos.  

Ele compartilhou a pagina para os seguintes e-mails:

$_POST[amigo1]
$_POST[amigo2]
$_POST[amigo3]

Pagina compartilhada:
$_POST[link]

";

# Sessão de indicação

@mail("$emailto", $esubject, $emailtext, "From: $_POST[email]");

# Esta sessão envia para as pessoas mencionadas no form

// Página de agradecimento após enviar indicação

$obrigado = "obrigado.php"; 

// Escreve o assunto do e-mail - Altere apenas se tiver conhecimento

$tsubject = "$_POST[seusite] - $_POST[nome] indicou esta pagina";

// O texto abaixo vai na mensagem de e-mail 
// Se não tiver conhecimento não mude nenhum item abaixo por favor 

$ttext = "


Comentario de $_POST[nome] ( $_POST[email] ):

$_POST[comentario] 


Veja a pagina: $_POST[link]

O conteudo deste e-mail foi produzido pela equipe do site $_POST[seusite]


";

# Checa e envia para os emails indicados no form
@mail("$_POST[amigo1],$_POST[amigo2],$_POST[amigo3]", $tsubject, $ttext, "FROM: $_POST[email]");

# Pagina que confirma o envio
header("Location: $obrigado");
exit;

}

# Não altere nada no código abaixo

function is_secure($ar) {
$reg = "/(Content-Type|Bcc|MIME-Version|Content-Transfer-Encoding)/i";
if(!is_array($ar)) { return preg_match($reg,$ar);}
$incoming = array_values_recursive($ar);
foreach($incoming as $k=>$v) if(preg_match($reg,$v)) return false;
return true;
}

function array_values_recursive($array) {
$arrayValues = array();
foreach ($array as $key=>$value) {
if (is_scalar($value) || is_resource($value)) {
$arrayValues[] = $value;
$arrayValues[] = $key;
}
elseif (is_array($value)) {
$arrayValues[] = $key;
$arrayValues = array_merge($arrayValues, array_values_recursive($value));
}
}
return $arrayValues;
}
?>

Página de confirmação obrigado.php
-----------------------------------

<?php
$string = $_SERVER['QUERY_STRING'];
?>
<html> 
<head>
<title>Compartilhando!</title>
<style type="text/css">
#link {
display:none
}
.style2 {
	color: #FF6600;
	font-weight: bold;
	font-size: 18px;
	font-family: Arial, Helvetica, sans-serif;
}
.style6 {color: #999999; font-weight: bold; font-size: 18px; font-family: Arial, Helvetica, sans-serif; }
.style7 {color: #FF0000}
.style8 {
	font-size: 14px;
	color: #FF0000;
}

a {
	color: #999999;
	font-weight: bold;
	font-size: 13px;
	font-family: Arial, Helvetica, sans-serif;
}
a:hover {
	color: #FF9933;
	font-weight: bold;
	font-size: 13px;
	font-family: Arial, Helvetica, sans-serif;
}
</style>
</head>
<body onLoad="reset()" topmargin="0" leftmargin="0"> 
<center>
</center>
<table width="450" cellpadding="0" cellspacing="0" align="center"> 
<tr valign="top"> 
<td valign="middle" align="center"> 
<p class="style2"><img src="obrigadofeliz.jpg" width="71" height="71"></p>
<p class="style2">P&aacute;gina compartilhada com sucesso!</p>
<p class="style6">Obrigado por indicar nosso conte&uacute;do. </p>
<a href="#" OnClick="parent.window.close()">X Fechar Janela</a> | <a href="index.php">Fazer nova indica&ccedil;&atilde;o
</p>
</p>
</a></td>
</tr> 
<tr valign="top"> 
<td valign="middle" align="center">&nbsp;</td>
</tr> 
</table>
</body>
</html>

ArquivoTipoTamanhoHits 
Indique.rarArquivo RAR23,7 Kb254Baixar o Arquivo
Sim   Não   Este código foi útil para você?
NotaComentário
8
rlpa comentou em 14/11/2009

Testado

ok.alterado e testado. parabéns pelo exemplo
10
vinimgsp comentou em 9/3/2009

Pequena correção

Galera, postei o artigo e não vi necessidade em atualiza-lo, achei melhor postar um comentário pois a alteração é pequena... No script de validação o campo " form.friendemail1.value="" " troque por form.amigo1.php" e assim por diante. Abraços
Regras:
Os comentários seguem as seguintes regras:
  • Todos os comentários são enviados por membros cadastrados no site.
  • A pontuação de comentários de conteúdo do próprio membro não serão computados.
  • Os comentários serão pré-aprovados, porém a equipe do site revisará o conteúdo de todos os comentários podendo ser invalidados (inclusive a pontuação).
  • Os comentários precisam ter, obrigatóriamente, coerência sobre o conteúdo que será comentado.
  • O membro que atingir 5 comentários invalidados não poderá mais comentar dentro do site. Com isso o membro não poderá mais ganhar pontos com comentários.
  • Há um limite de 10 comentários por dia para cada membro.
  • Qualquer comentário após ter sido publicado poderá ser retirado através da opção ( denunciar)

Comente

     (ainda não tem cadastro? clique aqui!)


Máximo de 30 caracteres

Máximo de 255 caracteres
 

R&W Consulting - Soluções Web Hospedagem UOL HOST PagSeguro - solução para pagamentos online
© 2006-2009 R&W Informática Ltda. - Todos os direitos reservados.