Repositório de código

April 1st, 2009

Fica aqui o meu repositório de  código que pode ser que te ajude a resolver certos problemas.

Este código define na variável “$explorer” o valor “IE” quando estiver a ser usado o internet explorer, e assim pode-se fazer modificações específicas para o IE.

1
2
3
<?php
    if(preg_match('/MSIE/', $_SERVER['HTTP_USER_AGENT'])) $explorer = "IE";
?>

Ao colocar depois do link “?debug” ele mostra o que definimos dentro do if

1
2
3
4
5
6
<?php
if(isset($_REQUEST['debug'])) {
   print_r($_SERVER);  // Mostra tudo o que está dentro do array "$_SERVER"
   // Pode ser adicionado outras coisas
}
?>

Bloquear acessos sem serem nacionais

1
2
3
4
5
6
7
8
9
10
11
<?php
if(!$_SESSION["cc"]) {
        $stream = fopen("http://www.ipdomain.info/cc[".$_SERVER['REMOTE_ADDR']."]", "r");
        if(stream_get_contents($stream) != "pt") {
                fclose($stream);
                exit;
        }
        $_SESSION["cc"] = "pt";
        fclose($stream);
}
?>

Envio de mail através de um formulário html destinado a contactar o dono do site.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
session_start();
$error = 0;
$nome = "";
$email = "";
$telefone = "";
$mensagem = "";
$assunto = "";
if(!empty($_POST)) {
    if(isset($_POST['nome'])) $nome = $_POST['nome'];
    if(isset($_POST['email'])) $email = $_POST['email'];
    if(isset($_POST['telefone'])) $telefone = $_POST['telefone'];
    if(isset($_POST['mensagem'])) $mensagem = $_POST['mensagem'];
    if(isset($_POST['assunto'])) $assunto = $_POST['assunto'];
    if(!preg_match("/^[\_\-a-z0-9]*@[\_\-a-z0-9]*.(.*)$/", $email)) $error = "Email inválido";
    elseif(!isset($_POST['nome'])) $error = "Não definiu nome";
    elseif(!isset($_POST['mensagem'])) $error = "Não escreveu nenhuma mensagem";
    if(!$error) {
        $mail = ""; // Para onde deve ser enviado
        $headers = "From: ".$nome." <".$email.">\r\n";
        $headers.="To: $mail\r\n";
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: text/plain; charset=\"iso-8859-15\"";
        $mensagem = "Telefone: ". $telefone . "\n\nAssunto: ". $assunto ."\nMensagem: " . $mensagem;
        if(mail($mail, "Email enviado através do site", $mensagem, $headers)) {
             $_SESSION['enviado'] = 1;
             header("location: contactos.php");
             exit;
         }
         else $error = "Erro ao enviar mensagem.";
    }
}
if(isset($_SESSION['enviado'])) {
    $error = "Mensagem enviada";
    unset($_SESSION['enviado']);
}
// Variável $error pode ser utilizada para o utilizador saber se a mensagem foi enviada ou apresentou algum erro.
?>
  1. No comments yet.
  1. No trackbacks yet.
Security Code: