Ir para conteúdo
Fórum Script Brasil
  • 0

Problema com a função PHP mail()


papamikeloko

Pergunta

Meu servidor (uolhost) não aceita configurações no php.ini, e não consigo adaptar esse código pra outra chamada para envio de e-mail, alguém poderia me ajuda/?
register.php

<code>

<?php
require_once ('includes/config.inc.php');
$page_title = 'Cadastro de Usuário';
include ('includes/header.html');

if (isset($_POST['submitted'])) { //

    require_once (MYSQL);
        
    $trimmed = array_map('trim', $_POST);
        
    $fn = $ln = $e = $p = FALSE;
        
    if (preg_match ('/^[A-Z \'.-]{2,20}$/i', $trimmed['first_name'])) {
        $fn = mysqli_real_escape_string ($dbc, $trimmed['first_name']);
    } else {
        echo '<p class="error">Por favor insira seu primeiro nome!</p>';
    }
        
    if (preg_match ('/^[A-Z \'.-]{2,40}$/i', $trimmed['last_name'])) {
        $ln = mysqli_real_escape_string ($dbc, $trimmed['last_name']);
    } else {
        echo '<p class="error">Por favor insira seu segundo nome!</p>';
    }
        
    if (preg_match ('/^[\w.-]+@[\w.-]+\.[A-Za-z]{2,6}$/', $trimmed['email'])) {
        $e = mysqli_real_escape_string ($dbc, $trimmed['email']);
    } else {
        echo '<p class="error">Por favor insira um e-mail válido!</p>';
    }

    /
    if (preg_match ('/^\w{4,20}$/', $trimmed['password1']) ) {
        if ($trimmed['password1'] == $trimmed['password2']) {
            $p = mysqli_real_escape_string ($dbc, $trimmed['password1']);
        } else {
            echo '<p class="error">Sua senha não corresponde com a senha confirmada!</p>';
        }
    } else {
        echo '<p class="error">Por favor, digite uma senha válida!</p>';
    }
    
    if ($fn && $ln && $e && $p) { 
        
        $q = "SELECT user_id FROM users WHERE email='$e'";
        $r = mysqli_query ($dbc, $q) or trigger_error("Consulta: $q\n<br />MySQL Error: " . mysqli_error($dbc));
        
        if (mysqli_num_rows($r) == 0) { 
            
            $a = md5(uniqid(rand(), true));
                    
            $q = "INSERT INTO users (email, pass, first_name, last_name, active, registration_date) VALUES ('$e', SHA1('$p'), '$fn', '$ln', '$a', NOW() )";
            $r = mysqli_query ($dbc, $q) or trigger_error("Consulta: $q\n<br />MySQL Error: " . mysqli_error($dbc));

            if (mysqli_affected_rows($dbc) == 1) { 
            
            
                $body = "Obrigado por se registrar em nosso site. Para ativar sua conta, por favor clique neste link:\n\n";
                $body .= BASE_URL . 'activate.php?x=' . urlencode($e) . "&y=$a";
                mail($trimmed['email'], 'Confirmação de registro', $body, 'From: atendimento@aspomts.com.br');
                            
                echo '<h3>Obrigado por se registar! Um e-mail de confirmação foi enviado para seu endereço. Por favor, clique no link no e-mail, a fim de ativar a sua conta.</h3>';
                include ('includes/footer.html'); 
                exit(); 
                
            } else { 
                echo '<p class="error">Você não pode ser registrado devido a um erro do sistema. Pedimos desculpas por qualquer inconveniente.</p>';
            }
            
        } else { 
            echo '<p class="error">Este endereço de e-mail já foi registrado. Se você esqueceu sua senha, use o link à direita para que sua senha seja enviada para você.</p>';
        }
        
    } else { 
        echo '<p class="error">Por favor, reinserir a senha e tente novamente.</p>';
    }

    mysqli_close($dbc);


?>
    
<h1>Registrar</h1>
<form action="register.php" method="post">
    <fieldset>
    
    <p><b>Primeiro Nome:</b> <input type="text" name="first_name" size="20" maxlength="20" value="<?php if (isset($trimmed['first_name'])) echo $trimmed['first_name']; ?>" /></p>
    
    <p><b>Segundo Nome:</b> <input type="text" name="last_name" size="20" maxlength="40" value="<?php if (isset($trimmed['last_name'])) echo $trimmed['last_name']; ?>" /></p>
    
    <p><b>Endereço de E-mail:</b> <input type="text" name="email" size="30" maxlength="80" value="<?php if (isset($trimmed['email'])) echo $trimmed['email']; ?>" /> </p>
        
    <p><b>Senha:</b> <input type="password" name="password1" size="20" maxlength="20" /> <small>Use somente letras, números, e sublinhado. Deve ter entre 4 e 20 caracteres.</small></p>
    
    <p><b>Confirma Senha:</b> <input type="password" name="password2" size="20" maxlength="20" /></p>
    </fieldset>
    
    <div align="center"><input type="submit" name="submit" value="Registrar" /></div>
    <input type="hidden" name="submitted" value="TRUE" />

</form>

<?php 
include ('includes/footer.html');
?>

</code>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...