this source code registration member for processwire :
<script type="text/javascript" src="/site/templates/scripts/register.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#registerform").validate({
debug: false,
rules: {
login_name: {
required: true,
minlength: 6,
remote: "/process/username.php"
},
login_pass: {
required: true,
minlength: 6
},
confirm_pass: {
required: true,
minlength: 6,
equalTo: "#login_pass"
},
email: {
required: true,
email: true,
remote: "/process/emails.php"
}
},
messages: {
login_name: {
required: "Inserisci il tuo username",
minlength: jQuery.format("Inserisci almeno {0} caratteri"),
remote: jQuery.validator.format("Lo username {0} non è disponibile.")
},
login_pass: {
required: "Inserisci la password",
minlength: jQuery.format("Inserisci almeno {0} caratteri")
},
confirm_pass: {
required: "Ripeti la password",
minlength: jQuery.format("Inserisci almeno {0} caratteri"),
equalTo: "Le password non sono uguali"
},
email: {
required: true,
email: "Inserisci una email valida",
remote: jQuery.validator.format("Questa email è già presente nel nostro database.")
},
},
submitHandler: function(form) {
$("#register_submit").attr('value','Attendi...');
$("#register_submit").attr('disabled', 'disabled');
$.post('/process/register.php', $("#registerform").serialize(), function(data) {
if (data=='success'){
var url = "/mioprofilo/";
$(location).attr('href',url);
}else{
$(".span16").prepend(
$(data).hide().fadeIn('slow')
);
$(".error").fadeOut(5000);
$("#register_submit").attr('value','Iscriviti');
$("#register_submit").removeAttr('disabled');
}
});
}
});
});
</script>
<div class="row">
<div class="span16">
<fieldset>
<legend></legend>
<form action='/iscrizione/' method='post' id="registerform">
<div class="clearfix"><label for="login_name">Username</label><div class="input"><input type="text" id="login_name" name="login_name" value="" maxlength="50" /></div></div>
<div class="clearfix"><label for="login_pass">Password</label><div class="input"><input type="password" id="login_pass" name="login_pass" value="" /></div></div>
<div class="clearfix"><label for="confirm_pass">Ripeti password</label><div class="input"><input type="password" name="confirm_pass" value="" /></div></div>
<div class="clearfix"><label for="email">Email</label><div class="input"><input type="text" name="email" id="email" value="" maxlength="40" /></div></div>
<div class="actions">
<input type="submit" value="Iscriviti" class="btn primary" name="register_submit" id="register_submit" />
</div>
</form>
</fieldset>
</div>
</div>
<?php
require_once('../index.php');
require_once('class.tempmail.php');
$input = wire('input');
$sanitizer = wire('sanitizer');
$roles = wire('roles');
if($input->post->register_submit) {
$username = $sanitizer->username($input->post->login_name);
$pass = $input->post->login_pass;
$email = $sanitizer->email($input->post->email);
$u = new User();
$u->name = $username;
$u->pass = $pass;
$u->email = $email;
$u->roles->add($roles->get("guest"));
$u->roles->add($roles->get("utente-basic")); // my custom role
$u->save();
// i add profile picture to every user after registration using 5 different random avatar images.
$pnum = rand(0,5);
$profilephoto = wire('config')->paths->root."site/templates/styles/images/noprofile".$pnum.".jpg";
$u->profilephoto->add($profilephoto);
$u->profilethumb->add($profilephoto);
$u->save();
if (wire('session')->login($username, $pass)){
$array_content[]=array("username", $username);
$array_content[]=array("login", $username);
$array_content[]=array("password", $pass);
$admin_id = "noreply@domain.com";
$user_email = $email;
sendingemail_phpmailer($array_content, "register.html","class.phpmailer.php","Sitename",$admin_id,$user_email,"Welcome to website");
print "success";
}else{
print '<div class="alert-message error">
<p>Errore durante la registrazione. Riprova.</p>
</div>';
}
}
?>