• [MOD] Ajax Password / E-Mail Confirmation 5 0 5 1
Currently:  

Author Topic: [MOD] Ajax Password / E-Mail Confirmation  (Read 50714 times)

0 Members and 1 Guest are viewing this topic.

Offline Hoelsch

  • Newbie
  • *
  • Posts: 23
    • View Profile
    • Fotos-von-gestern.de
[MOD] Ajax Password / E-Mail Confirmation
« on: November 09, 2009, 04:22:54 PM »
Deutsch:

Hallo zusammen,

ich suche einen Mod, der dafür sorgt, dass es zusätzlich zu den normalen Feldern bei der Registrierung noch zwei weitere Felder gibt -> E-Mail Bestätigung und Passwort Bestätigung. Das wäre wohl höchstwahrscheinlich nicht so schwierig. Zusätzlich soll aber direkt nach der Eingabe überprüft werden, ob die Eingaben im Feld E-Mail und E-Mail Bestätitung, sowie in Passwort und Passwort Bestätigung übereinstimmen. Und je nachdem, ob das der Fall ist soll ein grüner Haken, oder halt ein rotes Kreuz, oder so was in der Art erscheinen. Das verhindert dann, dass sich die Leute beim Passwort verschreiben und es danach nicht mehr wissen, oder sich bei der Mail Adresse vertippen.

English:

Hi All,

I'm looking for a mod, which ensures that in addition to the normal fields in the registration are still two other fields -> e-mail confirmation and password confirmation. That would be probably not so difficult. In addition it should also be checked directly after the input if the inputs in the blank e-mail and e-mail Bestätitung, as well as password and confirmation password match. And depending on whether this is the case is a green tick, or stop a red cross or something like that appear in the species. This then prevents the people prescribed in the password and not know it then, or make a typing error in the email address.
Sorry for my English - Google translated for me ;-)


Greetz

Hoelsch
« Last Edit: November 10, 2009, 06:36:06 PM by Rembrandt »

Rembrandt

  • Guest
Re: [MOD] Password / E-Mail Confirmation
« Reply #1 on: November 10, 2009, 08:22:41 AM »
Hi!

1.) erstellt eine neue datei mit den namen "verifynotify.js" , erstellt einen neuen ordner im "root" namens "js" , und speichert die datei darunter ab.
ladet euch die beiden "png" bilder aus dem anhang runter und speichert sie in das selbe verzeichniss.


// Multiple onload function created by: Simon Willison
// http://simonwillison.net/2004/May/26/addLoadEvent/
function addLoadEvent(func) {
  var 
oldonload window.onload;
  if (
typeof window.onload != 'function') {
    
window.onload func;
  } 
  else {
    
window.onload = function() {
      if (
oldonload) {
        
oldonload();
      }
      
func();
    }
  }
}

  var 
match_html "<img src=\"js/yes.png\">";
  var 
nomatch_html "<img src=\"js/no.png\">"
 
  
addLoadEvent(function checkPassword() {
    
password_id "password_result";

    
this.password_id password_id;
    
this.match_html match_html;
    
this.nomatch_html nomatch_html;
    
this.checkPassword = function() {
    
// Make sure we don't cause an error
    // for browsers that do not support getElementById
      
if (!this.password_id) { return false; }
      if (!
document.getElementById){ return false; }
      
document.getElementById(this.password_id);
      if (!
r){ return false; }
      if (
document.password_form.user_password.value != "" && document.password_form.user_password.value == document.password_form.user_password_2.value) {
        
r.innerHTML this.match_html;
      }
      else {
        
r.innerHTML this.nomatch_html;
      }
    } 
//check function
  
});
  
  
addLoadEvent(function checkMail() {

    
field_email document.password_form.user_email;
    
field_email2 document.password_form.user_email_2;
    
email_id "email_result";

    
this.email_id email_id;
    
this.match_html match_html;
    
this.nomatch_html nomatch_html;

    
this.checkMail = function() {
      
// Make sure we don't cause an error
      // for browsers that do not support getElementById
      
if (!this.email_id) { return false; }
      if (!
document.getElementById){ return false; }
      
document.getElementById(this.email_id);
      if (!
r){ return false; }
  
      if (
this.field_email.value != "" && this.field_email.value == this.field_email2.value) {
        
r.innerHTML this.match_html;
      }
      else {
        
r.innerHTML this.nomatch_html;
      }
    }  
//check function
  
});



2.) suche in dein templates/register_form.html:
Code: [Select]
<form method="POST" action="{url_register}">und ersetze es mit:
Code: [Select]
<form method="POST" name="password_form"action="{url_register}">
<script type="text/javascript" src="./js/verifynotify.js"></script>

suche:
Code: [Select]
<tr>
  <td class="row2"><b>{lang_password}</b></td>
  <td class="row2">
  <input type="password" name="user_password" size="30" class="input" />
  </td>
</tr>
<tr>
  <td class="row1"><b>{lang_email}</b></td>
  <td class="row1">
  <input type="text" name="user_email" size="30" class="input" value="{user_email}" />
  </td>
</tr>
und ersetze es mit:
Code: [Select]
         <tr>
            <td class="row2"><b>{lang_password}</b></td>
            <td class="row2">
              <input type="password" name="user_password" size="30" class="input" value="" onkeyup="checkPassword()"/>
            </td>
          </tr>
          <tr>
            <td class="row2"><b>{lang_password_confirm}</b></td>
            <td class="row2" style="position:relative;z-index:1">
              <input type="password" name="user_password_2" size="30" class="input" value="" onkeyup="checkPassword()"/>
            <span style="position:absolute;z-index:2" class="row2" id="password_result"> </span>
          </td>
          </tr>
          <tr>
            <td class="row1"><b>{lang_email}</b></td>
            <td class="row1">
              <input type="text" name="user_email" size="30" class="input" value="{user_email}" onkeyup="checkMail()">
            </td>
          </tr>
          <tr>
            <td class="row1"><b>{lang_email_confirm}</b></td>
            <td class="row1" style="position:relative;z-index:1">
              <input type="text" name="user_email_2" size="30" class="input" value="{user_email_2}" onkeyup="checkMail()">
            <span style="position:absolute;z-index:2" class="row1" id="email_result"> </span>
            </td>
          </tr>

3.) suche in der register.php

$user_email 
= (isset($HTTP_POST_VARS['user_email'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['user_email'])) : "";

füge darunter ein:

//################################################################################################  
$user_password_2 = (isset($HTTP_POST_VARS['user_password_2'])) ? trim($HTTP_POST_VARS['user_password_2']) : "";
 
$user_email_2 = (isset($HTTP_POST_VARS['user_email_2'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['user_email_2'])) : "";
//################################################################################################


suche:

if ($user_password == "") {
      
$msg .= (($msg != "") ? "<br />" "").$field_error preg_replace("/".$site_template->start."field_name".$site_template->end."/siU"str_replace(":"""$lang['password']), $lang['field_required']);
      
$error 1;
    }

füge darunter ein:

//###################################################
if ($user_password != $user_password_2) {
      
$msg .= (($msg != "") ? "<br />" "").$lang['password_2'];
      
$error 1;
    }
//####################################################
	
	



suche:

if ($site_db->not_empty($sql)) {
          
$msg .= (($msg != "") ? "<br />" "").$lang['email_exists'];
          
$error 1;
        }

füge darunter ein:

//################################################
	
	
	
	

    
if ($user_email != $user_email_2) {
      
$msg .= (($msg != "") ? "<br />" "").$lang['email_2'];
      
$error 1;
    }
//################################################
	
	
	
	



suche:

"lang_email" => $lang['email'],

füge darunter ein:

//#########################################################
	
	
	

"lang_password_confirm" => $lang['password_confirm'],
"lang_email_confirm" => $lang['email_confirm'],
//##########################################################


4.) suche in der lang/yourlang/main.php:

$lang
['email'] = "E-Mail:";

füge darunter ein:

$lang
['email_2'] = "Die E-Mail Adressen stimmen nicht überein !";
$lang['password_confirm'] = "Passwort wiederholen:";
$lang['password_2'] = "Die Passworter stimmen nicht überein !";


mfg Andi
« Last Edit: October 06, 2010, 07:06:02 PM by Rembrandt »

Offline Hoelsch

  • Newbie
  • *
  • Posts: 23
    • View Profile
    • Fotos-von-gestern.de
Re: Ajax Password / E-Mail Confirmation
« Reply #2 on: November 10, 2009, 02:07:29 PM »
Vielen Dank schon mal für diesen Part Andi. Das klappt wunderbar.

Nun würde ich halt noch ganz gerne so ne schicke Javaüberprüfung haben, die direkt während der Eingabe prüft, ob die Passwörter und Mail Adressen gleich sind, oder nicht. So etwas wie das hier:

http://javascript.internet.com/forms/verify-notify-for-duplicate-fields.html

Oder halt wie oben geschrieben mit nem grünen Haken, oder so. Wenn mir damit jetzt noch jemand behilflich sein könnte wär mein Tag gerettet. Habe mir nämlich inzwischen schon ein paar Mal die register.php und mein Template zerschossen. Und langsam nervt es die Sachen immer wieder aus der Sicherung zu kratzen ;-)

Rembrandt

  • Guest
Re: [MOD] Ajax Password / E-Mail Confirmation
« Reply #3 on: November 10, 2009, 06:31:41 PM »
code update 15.11.2009 21:40h

ich hoffe das jetzt alle zufrieden damit sind. :)

http://www.4homepages.de/forum/index.php?topic=26268.msg142823#msg142823

mfg Andi
« Last Edit: October 06, 2010, 06:46:53 PM by Rembrandt »

Offline Lucifix

  • Hero Member
  • *****
  • Posts: 710
    • View Profile
    • http://www.slo-foto.net
Re: [MOD] Ajax Password / E-Mail Confirmation
« Reply #4 on: November 11, 2009, 09:09:04 AM »
In my gallery I've integrated jQuery plugin: Validation, which isn't so hard to do:

http://bassistance.de/jquery-plugins/jquery-plugin-validation/


You can check how it's working in my gallery:
http://www.slo-foto.net/modules.php?name=Galerija&file=register

Offline Hoelsch

  • Newbie
  • *
  • Posts: 23
    • View Profile
    • Fotos-von-gestern.de
Re: [MOD] Ajax Password / E-Mail Confirmation
« Reply #5 on: November 11, 2009, 02:11:02 PM »
@ Andi:

Das funktioniert leider so nicht. Es kommt leider nicht, dass die Passwörter nicht übereinstimmen. Die beiden Felder sind da, aber es kommt keine Meldung.

Im IE kommt folgende Fehlermeldung:

Details zum Fehler auf der Webseite

Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2)
Zeitstempel: Wed, 11 Nov 2009 13:08:24 UTC


Meldung: 'document.password_form.user_password' ist Null oder kein Objekt
Zeile: 49
Zeichen: 3
Code: 0
URI: http://fotos-von-gestern.de/js/verifynotify.js



Ich habe alles nach Anleitung eingerichtet.


@Lucifix:
Could you please write an instruction how to build it into my page? I can't reach your page for looking into the source code.

Rembrandt

  • Guest
Re: [MOD] Ajax Password / E-Mail Confirmation
« Reply #6 on: November 11, 2009, 06:26:36 PM »
Das funktioniert leider so nicht. ...

sry, hatte etwas vergessen zu posten, in der registerform fehlte etwas, ich habe meinen vorigen post editiert.

mfg Andi

Offline Hoelsch

  • Newbie
  • *
  • Posts: 23
    • View Profile
    • Fotos-von-gestern.de
Re: [MOD] Ajax Password / E-Mail Confirmation
« Reply #7 on: November 11, 2009, 11:07:46 PM »
Juhu! Jetzt funkioniert es!

Eine Sache hätte ich aber noch:

Kann man das Ganze jetzt auch noch für die Mail Adresse umsetzen? Und ich hätte ja so gerne Bilder. So wie bei Lucifix.

Sorry, dass ich so nerve, aber ich bin halt Perfektionist ;-)

Dafür bekommst auch nochmal ein Thank You von mir Andi ;-)

rinaldos

  • Guest
Re: [MOD] Ajax Password / E-Mail Confirmation
« Reply #8 on: November 12, 2009, 09:33:59 AM »
@Rembrandt.
Das funktioniert wirklich gut, aber wieso hast du den Java Code in die header.html reingepackt, und nicht in die register.html?
Frage nur, da ich den Code in die register.html reingepackt habe, und somit der Code nicht bei jeder Seite mitgeladen werden muss :-)

LG
Ingo

Offline Hoelsch

  • Newbie
  • *
  • Posts: 23
    • View Profile
    • Fotos-von-gestern.de
Re: [MOD] Ajax Password / E-Mail Confirmation
« Reply #9 on: November 12, 2009, 01:26:50 PM »
Wie ich grade festgestellt habe funktioniert die Registrierung jetzt im Internetexplorer nicht mehr. Im Firefox jedoch schon. Wenn ich im IE auf den Abschicken Knopf drücke passiert gar nichts.

@Ingo: Wenn ich mitm IE auf deine Register Seite gehe bekomme ich nen Java Fehler:
Details zum Fehler auf der Webseite

Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2)
Zeitstempel: Thu, 12 Nov 2009 12:25:38 UTC


Meldung: 'document.sform.submitbtn' ist Null oder kein Objekt
Zeile: 1041
Zeichen: 25
Code: 0
URI: http://rinaldos.homeip.net/register.php


rinaldos

  • Guest
Re: [MOD] Ajax Password / E-Mail Confirmation
« Reply #10 on: November 12, 2009, 01:35:20 PM »
Dann habe ich das gerade mal wieder rausgenommen. Da ich hier nur ein MAC System habe und keine Windows VM, kann ich den IE nicht testen.... Danke für die Info ....

Der Java Fehler hatte einen anderen Grund. Ich habe das andere Script deaktiviert.

Gruß
« Last Edit: November 12, 2009, 01:52:23 PM by rinaldos »

Rembrandt

  • Guest
Re: [MOD] Ajax Password / E-Mail Confirmation
« Reply #11 on: November 12, 2009, 04:25:14 PM »
Wie ich grade festgestellt habe funktioniert die Registrierung jetzt im Internetexplorer nicht mehr. .....
das kann ich nicht nachvollziehen. funktioniert bei mir einwandfrei und auch auf rinaldos seite.

ihr könnt das gerne auf meiner demoseite ausprobieren.

mfg Andi

rinaldos

  • Guest
Re: [MOD] Ajax Password / E-Mail Confirmation
« Reply #12 on: November 12, 2009, 09:45:51 PM »
@rembrandt,
bei mir kam ein anderes Java Script in die Quere :-( Ich hatte vorher einen Countdown drinne, als ich den rausgenommen hatte, konnte sich Hoelsch mit dem IE bei mir registrieren. (Seine Aussage)
Aber danke das du es nochmal bestätigt hast ....

LG

Rembrandt

  • Guest
Re: [MOD] Ajax Password / E-Mail Confirmation
« Reply #13 on: November 12, 2009, 10:03:32 PM »
achso.. alles klar.  :)

Offline Hoelsch

  • Newbie
  • *
  • Posts: 23
    • View Profile
    • Fotos-von-gestern.de
Re: [MOD] Ajax Password / E-Mail Confirmation
« Reply #14 on: November 13, 2009, 01:28:07 PM »
ich pack ma meinen quellcode von der register.php und von der register_form.html hier rein. vielleicht findet ihr ja den fehler weshalb man sich bei mir nicht mehr reggen kann, wenn man IE benutzt.

register.php:
Code: [Select]
<?php
/**************************************************************************
 *                                                                        *
 *    4images - A Web Based Image Gallery Management System               *
 *    ----------------------------------------------------------------    *
 *                                                                        *
 *             File: register.php                                         *
 *        Copyright: (C) 2002-2009 Jan Sorgalla                           *
 *            Email: jan@4homepages.de                                    * 
 *              Web: http://www.4homepages.de                             * 
 *    Scriptversion: 1.7.7                                                *
 *                                                                        *
 *    Never released without support from: Nicky (http://www.nicky.net)   *
 *                                                                        *
 **************************************************************************
 *                                                                        *
 *    Dieses Script ist KEINE Freeware. Bitte lesen Sie die Lizenz-       *
 *    bedingungen (Lizenz.txt) für weitere Informationen.                 *
 *    ---------------------------------------------------------------     *
 *    This script is NOT freeware! Please read the Copyright Notice       *
 *    (Licence.txt) for further information.                              *
 *                                                                        *
 *************************************************************************/

$main_template 'register';

define('GET_CACHES'1);
define('ROOT_PATH''./');
include(
ROOT_PATH.'global.php');
require(
ROOT_PATH.'includes/sessions.php');
$user_access get_permission();
include(
ROOT_PATH.'includes/page_header.php');

if (
$action == "") {
  
$action "signup";
}

if (
$user_info['user_level'] != GUEST && $action != "activate") {
  
show_error_page($lang['already_registered']);
}
$content "";

//-----------------------------------------------------
//--- Signup ------------------------------------------
//-----------------------------------------------------
if ($action == "signup") {
  
$site_template->register_vars(array(
    
"lang_agreement" => $lang['agreement'],
    
"lang_agreement_terms" => $lang['agreement_terms'],
    
"lang_agree" => $lang['agree'],
    
"lang_agree_not" => $lang['agree_not']
  ));
  
$content $site_template->parse_template("register_signup");
}

//-----------------------------------------------------
//--- Add New User ------------------------------------
//-----------------------------------------------------
if ($action == "register") {
  if (!isset(
$HTTP_POST_VARS['user_name'])) {
    if (
$config['activation_time'] != 0) {
      
$expiry time() - 60 60 24 $config['activation_time'];
      
$sql "DELETE FROM ".USERS_TABLE."
              WHERE ("
.get_user_table_field("""user_lastaction")." < $expiry) AND ".get_user_table_field("""user_level")." = ".USER_AWAITING;
      
$site_db->query($sql);
    }
  }
  
$user_name = (isset($HTTP_POST_VARS['user_name'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['user_name'])) : "";
  
$user_name ereg_replace("( ){2,}"" "$user_name);
  
$user_password = (isset($HTTP_POST_VARS['user_password'])) ? trim($HTTP_POST_VARS['user_password']) : "";
  
$user_email = (isset($HTTP_POST_VARS['user_email'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['user_email'])) : "";
  
$user_showemail = (isset($HTTP_POST_VARS['user_showemail'])) ? intval($HTTP_POST_VARS['user_showemail']) : 0;
  
$user_allowemails = (isset($HTTP_POST_VARS['user_allowemails'])) ? intval($HTTP_POST_VARS['user_allowemails']) : 1;
  
$user_invisible = (isset($HTTP_POST_VARS['user_invisible'])) ? intval($HTTP_POST_VARS['user_invisible']) : 0;
  
$user_homepage = (isset($HTTP_POST_VARS['user_homepage'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['user_homepage'])) : "";
  
$user_icq = (isset($HTTP_POST_VARS['user_icq'])) ? ((intval(trim($HTTP_POST_VARS['user_icq']))) ? intval(trim($HTTP_POST_VARS['user_icq'])) : "") : "";

  
$captcha = (isset($HTTP_POST_VARS['captcha'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['captcha'])) : "";

  
$error 0;
  if (isset(
$HTTP_POST_VARS['user_name'])) {
    if (
$user_name != "") {
      
$sql "SELECT ".get_user_table_field("""user_name")."
              FROM "
.USERS_TABLE."
              WHERE "
.get_user_table_field("""user_name")." = '".strtolower($user_name)."'";
      if (
$site_db->not_empty($sql)) {
        
$msg .= (($msg != "") ? "<br />" "").$lang['username_exists'];
        
$error 1;
      }
    }
    else {
      
$msg .= (($msg != "") ? "<br />" "").$field_error preg_replace("/".$site_template->start."field_name".$site_template->end."/siU"str_replace(":"""$lang['user_name']), $lang['field_required']);
      
$error 1;
    }
// Bad Mail
  if (mailCheck($user_email) == "false") {
      
$msg .= (($msg != "") ? "<br />" "").$lang['invalid_email_format'];
      
$error 1;
    }

// Ende Bad Mail

//Stop Spambot
    
if (isaspammer($user_email)) {
      
$msg .= (($msg != "") ? "<br />" "").$lang['invalid_email_format']; // or add anything else, bots doesn't understand nothing :)
      
$error 1;
    }
//Ende Stop Spambot
//Password Confirmation
    
if ($user_password == "") {
      
$msg .= (($msg != "") ? "<br />" "").$field_error preg_replace("/".$site_template->start."field_name".$site_template->end."/siU"str_replace(":"""$lang['password']), $lang['field_required']);
      
$error 1;
    }

//####################Password Bestätigung###############################
if ($user_password != $user_password_2) {
      
$msg .= (($msg != "") ? "<br />" "").$lang['password_2'];
      
$error 1;
    }
//####################################################

if ($user_email != "") {
      if (
check_email($user_email)) {
        
$sql "SELECT ".get_user_table_field("""user_email")."
                FROM "
.USERS_TABLE."
                WHERE "
.get_user_table_field("""user_email")." = '".strtolower($user_email)."'";
        if (
$site_db->not_empty($sql)) {
          
$msg .= (($msg != "") ? "<br />" "").$lang['email_exists'];
          
$error 1;
        }

//#####################Password Bestätigung###########################
if ($user_email != $user_email_2) {
$msg .= (($msg != "") ? "<br />" "").$lang['email_2'];
$error 1;
}
//################################################

   }
      else {
        
$msg .= (($msg != "") ? "<br />" "").$lang['invalid_email_format'];
        
$error 1;
      }
    }
    else {
      
$msg .= (($msg != "") ? "<br />" "").$field_error preg_replace("/".$site_template->start."field_name".$site_template->end."/siU"str_replace(":"""$lang['email']), $lang['field_required']);
      
$error 1;
    }

    if (
$captcha_enable_registration && !captcha_validate($captcha)) {
      
$msg .= (($msg != "") ? "<br />" "").$lang['captcha_required'];
      
$error 1;
    }

    if (!empty(
$additional_user_fields)) {
      foreach (
$additional_user_fields as $key => $val) {
        if (isset(
$HTTP_POST_VARS[$key]) && intval($val[2]) == && trim($HTTP_POST_VARS[$key]) == "") {
          
$error 1;
          
$field_error preg_replace("/".$site_template->start."field_name".$site_template->end."/siU"str_replace(":"""$val[0]), $lang['field_required']);
          
$msg .= (($msg != "") ? "<br />" "").$field_error;
        }
      }
    }
  } 
// end if
  
else {
    
$error 1;
  }

  if (!
$error) {
    
$additional_field_sql "";
    
$additional_value_sql "";
    if (!empty(
$additional_user_fields)) {
      
$table_fields $site_db->get_table_fields(USERS_TABLE);
      foreach (
$additional_user_fields as $key => $val) {
        if (isset(
$HTTP_POST_VARS[$key]) && isset($table_fields[$key])) {
          
$additional_field_sql .= ", $key";
          
$additional_value_sql .= ", '".un_htmlspecialchars(trim($HTTP_POST_VARS[$key]))."'";
        }
      }
    }
    
$activationkey get_random_key(USERS_TABLEget_user_table_field(""$user_table_fields['user_activationkey']));
    
$user_id $site_db->get_next_id($user_table_fields['user_id'], USERS_TABLE);

    
$current_time time();
    
$user_level = ($config['account_activation'] == 0) ? USER USER_AWAITING;
    
$sql "INSERT INTO ".USERS_TABLE."
            ("
.get_user_table_field("""user_id").get_user_table_field(", ""user_level").get_user_table_field(", ""user_name").get_user_table_field(", ""user_password").get_user_table_field(", ""user_email").get_user_table_field(", ""user_showemail").get_user_table_field(", ""user_allowemails").get_user_table_field(", ""user_invisible").get_user_table_field(", ""user_joindate").get_user_table_field(", ""user_activationkey").get_user_table_field(", ""user_lastaction").get_user_table_field(", ""user_lastvisit").get_user_table_field(", ""user_comments").get_user_table_field(", ""user_homepage").get_user_table_field(", ""user_icq").$additional_field_sql.")
            VALUES
            (
$user_id$user_level, '$user_name', '".md5($user_password)."', '$user_email', $user_showemail$user_allowemails$user_invisible$current_time, '$activationkey', $current_time$current_time, 0, '$user_homepage', '$user_icq'".$additional_value_sql.")";
    
$result $site_db->query($sql);

    if (
$result) {
      
$activation_url $script_url."/register.php?action=activate&activationkey=".$activationkey;

      include(
ROOT_PATH.'includes/email.php');
      
$site_email = new Email();
      
$site_email->set_to($user_email);
      
$site_email->set_subject($lang['register_success_emailsubject']);
      
$site_email->register_vars(array(
        
"activation_url" => $activation_url,
        
"user_name" => $user_name,
        
"user_password" => $user_password,
        
"site_name" => $config['site_name']
      ));

      switch(
$config['account_activation']) {
      case 
2:
        
$email_template "register_activation_admin";
        
$msg $lang['register_success_admin'];
        break;
      case 
1:
        if (
$config['language_dir_default'] != $config['language_dir']) {
          
$activation_url .= "&l=".$config['language_dir'];
        }
        
$email_template "register_activation";
        
$msg $lang['register_success'];
        break;
      case 
0:
      default:
        
$email_template "register_activation_none";
        
$msg $lang['register_success_none'];
        break;
      }

      
$site_email->set_body($email_template$config['language_dir']);
      
$site_email->send_email();
      if (
$config['account_activation'] == 2) {
        
$site_email->reset();
        
$site_email->set_to($config['site_email']);
        
$site_email->set_subject($lang['admin_activation_emailsubject']);
        
$user_details_url $script_url."/admin/index.php?goto=".urlencode("users.php?action=edituser&user_id=".$user_id."&activation=1");
        
$site_email->register_vars("user_details_url"$user_details_url);
        
$site_email->set_body("admin_activation"$config['language_dir_default']);
        
$site_email->send_email();
      }
    }
    else {
      
$msg $lang['general_error'];
    }
  }

  if (
$error) {
    if (
$user_showemail == 1) {
      
$user_showemail_yes " checked=\"checked\"";
      
$user_showemail_no "";
    }
    else {
      
$user_showemail_yes "";
      
$user_showemail_no " checked=\"checked\"";
    }
    if (
$user_allowemails == 1) {
      
$user_allowemails_yes " checked=\"checked\"";
      
$user_allowemails_no "";
    }
    else {
      
$user_allowemails_yes "";
      
$user_allowemails_no " checked=\"checked\"";
    }
    if (
$user_invisible == 1) {
      
$user_invisible_yes " checked=\"checked\"";
      
$user_invisible_no "";
    }
    else {
      
$user_invisible_yes "";
      
$user_invisible_no " checked=\"checked\"";
    }
    
$site_template->register_vars(array(
      
"user_name" => format_text(stripslashes($user_name), 2),
      
"user_email" => format_text(stripslashes($user_email), 2),
      
"user_homepage" => format_text(stripslashes($user_homepage), 2),
      
"user_icq" => $user_icq,
      
"user_showemail_yes" => $user_showemail_yes,
      
"user_showemail_no" => $user_showemail_no,
      
"user_allowemails_yes" => $user_allowemails_yes,
      
"user_allowemails_no" => $user_allowemails_no,
      
"user_invisible_yes" => $user_invisible_yes,
      
"user_invisible_no" => $user_invisible_no,
      
"lang_user_name" => $lang['user_name'],
      
"lang_password" => $lang['password'],
      
"lang_email" => $lang['email'],
  //#######################Password Bestätigung##################################
  "lang_password_confirm" => $lang['password_confirm'],
  "lang_email_confirm" => $lang['email_confirm'],
  //##########################################################
      
"lang_register_msg" => $lang['register_msg'],
      
"lang_submit" => $lang['submit'],
      
"lang_reset" => $lang['reset'],
      
"lang_email" => $lang['email'],
      
"lang_show_email" => $lang['show_email'],
      
"lang_allow_emails" => $lang['allow_emails'],
      
"lang_invisible" => $lang['invisible'],
      
"lang_optional_infos" => $lang['optional_infos'],
      
"lang_homepage" => $lang['homepage'],
      
"lang_icq" => $lang['icq'],
      
"lang_yes" => $lang['yes'],
      
"lang_no" => $lang['no'],
      
"lang_captcha" => $lang['captcha'],
      
"lang_captcha_desc" => $lang['captcha_desc'],
      
"captcha_registration" => (bool)$captcha_enable_registration
    
));

    if (!empty(
$additional_user_fields)) {
      
$additional_field_array = array();
      foreach (
$additional_user_fields as $key => $val) {
        if (
$val[1] == "radio") {
          
$value = (isset($HTTP_POST_VARS[$key])) ? intval($HTTP_POST_VARS[$key]) : 1;
          if (
$value == 1) {
            
$additional_field_array[$key.'_yes'] = " checked=\"checked\"";
            
$additional_field_array[$key.'_no'] = "";
          }
          else {
            
$additional_field_array[$key.'_yes'] = "";
            
$additional_field_array[$key.'_no'] = " checked=\"checked\"";
          }
        }
        else {
          
$value = (isset($HTTP_POST_VARS[$key])) ? format_text(trim($HTTP_POST_VARS[$key]), 2) : "";
        }
        
$additional_field_array[$key] = $value;
        
$additional_field_array['lang_'.$key] = $val[0];
      }
      if (!empty(
$additional_field_array)) {
        
$site_template->register_vars($additional_field_array);
      }
    }

    
$content $site_template->parse_template("register_form");
  }
}

if (
$action == "activate") {
  if (
$config['activation_time'] != 0) {
    
$expiry time() - 60 60 24 $config['activation_time'];
    
$sql "DELETE FROM ".USERS_TABLE."
            WHERE ("
.get_user_table_field("""user_lastaction")." < $expiry) AND ".get_user_table_field("""user_level")." = ".USER_AWAITING;
    
$site_db->query($sql);
  }
  if (!isset(
$HTTP_GET_VARS['activationkey'])){
    
$msg $lang['missing_activationkey'];
  }
  else {
    if (
$config['account_activation'] == && $user_info['user_level'] != ADMIN) {
      
show_error_page($lang['no_permission']);
      exit;
    }
    
$activationkey trim($HTTP_GET_VARS['activationkey']);
    
$sql "SELECT ".get_user_table_field("""user_name").get_user_table_field(", ""user_email").get_user_table_field(", ""user_activationkey")."
            FROM "
.USERS_TABLE."
            WHERE "
.get_user_table_field("""user_activationkey")." = '$activationkey'";
    
$row $site_db->query_firstrow($sql);
    if (!
$row) {
      
$msg $lang['invalid_activationkey'];
    }
    else {
      
$sql "UPDATE ".USERS_TABLE."
              SET "
.get_user_table_field("""user_level")." = ".USER."
              WHERE "
.get_user_table_field("""user_activationkey")." = '$activationkey'";
      
$site_db->query($sql);
      
$msg $lang['activation_success'];

      if (
$config['account_activation'] == 2) {
        include(
ROOT_PATH.'includes/email.php');
        
$site_email = new Email();
        
$site_email->set_to($row[$user_table_fields['user_email']]);
        
$site_email->set_subject($lang['activation_success_emailsubject']);
        
$site_email->register_vars(array(
          
"user_name" => $row[$user_table_fields['user_name']],
          
"site_name" => $config['site_name']
        ));
        
$site_email->set_body("activation_success"$config['language_dir']);
        
$site_email->send_email();
      }
    }
  }
}

//-----------------------------------------------------
//--- Clickstream -------------------------------------
//-----------------------------------------------------
$clickstream "<span class=\"clickstream\"><a href=\"".$site_sess->url(ROOT_PATH."index.php")."\" class=\"clickstream\">".$lang['home']."</a>".$config['category_separator'].$lang['register']."</span>";

//-----------------------------------------------------
//--- Print Out ---------------------------------------
//-----------------------------------------------------
$site_template->register_vars(array(
  
"content" => $content,
  
"msg" => $msg,
  
"clickstream" => $clickstream,
  
"lang_register" => $lang['register']
));
$site_template->print_template($site_template->parse_template($main_template));
include(
ROOT_PATH.'includes/page_footer.php');
?>


register_form.html
Code: [Select]
{lang_register_msg}
<!-- Username Prüfung-->
<script language="javascript">
//<!---------------------------------+
//  Developed by Roshan Bhattarai
//  Visit http://roshanbh.com.np for this script and more.
//  This notice MUST stay intact for legal use
// --------------------------------->
$(document).ready(function()
{
$("#username").blur(function()
{
//remove all the class add the messagebox classes and start fading
$("#msgbox").removeClass().addClass('messagebox').text('Checking...').fadeIn("slow");
//check the username exists or not from ajax
$.post("{url_user_availability}",{ user_name:$(this).val() } ,function(data)
        {
  if(data=='no') //if username not avaiable
  {
  $("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox
{
  //add message and change the class of the box and start fading
  $(this).html('Dieser Benutzername wird bereits gentutzt!').addClass('messageboxerror').fadeTo(900,1);
});
          }
  else
  {
  $("#msgbox").fadeTo(200,0.1,function()  //start fading the messagebox
{
  //add message and change the class of the box and start fading
  $(this).html('Dieser Benutzername ist frei!').addClass('messageboxok').fadeTo(900,1);
});
  }

        });
 
});
});
</script>
<script>
var RecaptchaOptions = {
   lang : 'de'
};
</script>
<!-- Ende Username Prüfung-->
<script type="text/javascript" src="./js/verifynotify.js"></script>
<form method="POST" name="password_form" action="{url_register}">
  <table width="100%" border="0" cellspacing="0" cellpadding="1">
    <tr>
      <td valign="top" class="head1">
        <table width="100%" border="0" cellpadding="4" cellspacing="0">
          <tr>
            <td colspan="2" valign="top" class="head1">{lang_register}</td>
          </tr>
          <tr>
            <td class="row1"><b>{lang_user_name}</b></td>
            <td class="row1">
  <!--input type="text" name="user_name" size="30" value="{user_name}" class="input" /-->
  <input type="text" name="user_name" size="30" value="{user_name}" id="username" class="input" /><span id="msgbox" style="display:none"></span>
            </td>
          </tr>
            <tr>
            <td class="row2"><b>{lang_password}</b></td>
            <td class="row2">
              <input type="password" name="user_password" size="30" class="input" onkeyup="verify.check()"><div id="password_result"> </div>
            </td>
            </tr>

            <tr>
            <td class="row2"><b>{lang_password_confirm}</b></td>
            <td class="row2">
              <input type="password" name="user_password_2" size="30" class="input" onkeyup="verify.check()">
            </td>
            </tr>
  </form>

          <tr>
            <td class="row1"><b>{lang_email}</b></td>
            <td class="row1">
              <input type="text" name="user_email" size="30" class="input" value="{user_email}" />
            </td>
          </tr>

           <tr>
            <td class="row1"><b>{lang_email_confirm}</b></td>
            <td class="row1">
              <input type="text" name="user_email_2" size="30" class="input" value="{user_email_2}" />
            </td>
          </tr>
     {if captcha_registration}
          <tr>
            <td class="row2" valign="top"><b>{lang_captcha}</b></td>
            <td class="row2">
{recaptcha}
{lang_captcha_desc}
            </td>
          </tr>
          {endif captcha_registration}
        </table>
      </td>
    </tr>

  </table>
  <input type="hidden" name="action" value="register" />
  <p align="center">
    <input type="submit" value="{lang_submit}" class="button" />
    <input type="reset" value="{lang_reset}" class="button" />
  </p>
</form>

Vielen Dank schon mal!

Greetz

Hoelsch