Jump to content
Fórum Script Brasil
  • 0

Problema com a função PHP mail()


papamikeloko
 Share

Question

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.-][email protected][\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: [email protected]');
                            
                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 to comment
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...