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>';
}
$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>';
}
<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>
Pergunta
papamikeloko
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.