4images Forum & Community

4images Modifications / Modifikationen => Mods & Plugins (Releases & Support) => Topic started by: Hoelsch on November 09, 2009, 04:22:54 PM

Title: [MOD] Ajax Password / E-Mail Confirmation
Post by: Hoelsch 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
Title: Re: [MOD] Password / E-Mail Confirmation
Post by: Rembrandt 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; }
      r = 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; }
      r = 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
Title: Re: Ajax Password / E-Mail Confirmation
Post by: Hoelsch 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 ;-)
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Rembrandt 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
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Lucifix 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/ (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 (http://www.slo-foto.net/modules.php?name=Galerija&file=register)
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Hoelsch 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.
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Rembrandt 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
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Hoelsch 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 ;-)
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: rinaldos 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
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Hoelsch 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

Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: rinaldos 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ß
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Rembrandt 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
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: rinaldos 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
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Rembrandt on November 12, 2009, 10:03:32 PM
achso.. alles klar.  :)
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Hoelsch 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
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: rinaldos on November 13, 2009, 01:30:36 PM
@Hoelsch,
wie wäre es, wenn du mal alle "Überflüssigen Java Scripte" entfernst, und dann mal probierst. Wenn es dann geht, die Scripte wieder einzeln hinzufügen. Dann findest du schnell den schuldigen..... Der IE ist eben etwas empfindlicher als andere Browser :-(

Gruß
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Rembrandt on November 13, 2009, 02:15:48 PM
Hi!
sorry mein fehler.

erster post wurde editiert:

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

mfg Andi
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Hoelsch on November 13, 2009, 04:48:02 PM
Moin Andi,

habe ich eingefügt, aber funktioniert leider immernoch nicht. Beim Drücken auf die Knöpfe "Abschicken" und "Zurücksetzen" passiert garnichts. Vielleicht geht es ja bei euch:

http://www.fotos-von-gestern.de/register.php
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Sunny C. on November 13, 2009, 05:27:45 PM
Bei mir, funktioniert es IE8 / FF 3.5.5
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Rembrandt on November 15, 2009, 09:48:30 PM
Hi!

ich habe ein Code Update  vorgenommen, seht es euch mal an.

geändert wurde der javascript code und die register_form.html.

jetzt werden das passwort und die email eingabe überprüft, und statt dem text darunter habe ich icons rechts von den eingabfeldern plaziert.

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

mfg Andi
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Hoelsch on November 16, 2009, 09:56:53 AM
Ja! Das ist doch perfekt!

Genau das, was ich wollte!

Vielen Dank Rembrandt!

Ich habe jetzt übrigens den Fehler gefunden weshalb die Registrierung bei mir im IE nicht mehr funktioniert hat.
Diese Zeile:
Code: [Select]
<input type="password" name="user_password" size="30" class="input" onkeyup="checkPassword()"/>muss geändert werden in:
Code: [Select]
<input type="password" name="user_password" size="30" value="{user_password}" class="input" onkeyup="checkPassword()"/>
Es fehlte der  Wert value="{user_password}". Das gleiche dann noch bei der Password Bestätigung mit rein und schon funktionert die Registrierung auch wieder bei mir im IE.

Bei der Mailadresse hattest du das mit dem Value drin stehen. Nur beim PW hast es vergessen.

Wer das Ganze jetzt mal als Demo funktionierend sehen möchte kommt mal auf:

http://www.fotos-von-gestern.de/register.php

Um den Usernamen zu checken habe ich dieses Skript verwendet:

http://www.4homepages.de/forum/index.php?topic=23848.0
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Rembrandt on November 16, 2009, 04:58:50 PM
....
Bei der Mailadresse hattest du das mit dem Value drin stehen. Nur beim PW hast es vergessen.....
sorry, aber da habe ich nichts vergessen, was auch immer du da gefunden hast, "value="{user_password}"  ist nicht 4images konform.

mfg Andi
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Hoelsch on November 16, 2009, 05:06:40 PM
stimmt - jetzt wo du es sagst fällts mir auch auf. aber als ich das geändert habe hat es auf einmal wieder mit dem ie funktioniert.

sehr mysteriös...
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Sunny C. on November 16, 2009, 05:29:23 PM
Ob im Safari, Opera, IE oder FF funktioniert bei mir alles!
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Hoelsch on November 16, 2009, 05:48:36 PM
ja - bei mir funktioniert es ja jetzt auch wieder. ich werde nochmal testen, ob es nun wirklich an diesem value eintrag lag.

@Sumale: Vielen Dank fürs Testen!
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Bommel on February 04, 2010, 03:46:43 PM
Hallo allerseits,

ich bekomme im Browser schon seit längerem diese Fehlermeldung:

Quote
document.password_form is undefined
https://www.meine-domain.de/js/verifynotify.js
Line 19

Kann mich bitte einer aufklären, wo ich genau ansetzen muss? Ich weiß nicht mehr weiter.

// 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();
    }
  }
}
 
addLoadEvent(function checkPassword() {

 field_password = document.password_form.user_password;
 field_password2 = document.password_form.user_password_2;
 password_id = "password_result";
 /* match_html = "<span style=\"color:blue\">Thank you, your passwords match!<\/span>";
 nomatch_html = "<span style=\"color:red\">Please make sure your passwords match.<\/span>"; */
 match_html = "<img src=\"js/yes.png\">";
 nomatch_html = "<img src=\"js/no.png\">";






this.field_password = field_password;
  this.field_password2 = field_password2;



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; }
    r = document.getElementById(this.password_id);
    if (!r){ return false; }








  if (this.field_password.value != "" && this.field_password.value == this.field_password2.value) {
      r.innerHTML = this.match_html;
    } else {
      r.innerHTML = this.nomatch_html;
    }
    }



});




addLoadEvent(function checkMail() {

 field_email = document.password_form.user_email;
 field_email2 = document.password_form.user_email_2;
 email_id = "email_result";
 match_html = "<img src=\"js/yes.png\">";
 nomatch_html = "<img src=\"js/no.png\">";






this.field_email = field_email;
  this.field_email2 = field_email2;



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; }
    r = 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;
    }
    }
  });


Nachtrag:

So... ich habe jetzt vorerst einmal die Javaüberprüfung rausgenommen. Die Fehlermeldung taucht jetzt nicht mehr auf. Habe es auf die Todo-Liste gesetzt und werde mich diesem Problem später widmen.
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: x23piracy on October 06, 2010, 01:53:50 PM
Hallo allerseits,

ich bekomme im Browser schon seit längerem diese Fehlermeldung:

Quote
document.password_form is undefined
https://www.meine-domain.de/js/verifynotify.js
Line 19
So... ich habe jetzt vorerst einmal die Javaüberprüfung rausgenommen. Die Fehlermeldung taucht jetzt nicht mehr auf. Habe es auf die Todo-Liste gesetzt und werde mich diesem Problem später widmen.

Hi,

das gleiche Problem hier, verifynotify (Zeile 19, Zeichen 2).

Code: [Select]
Fehler: document.password_form is undefined
Quelldatei: http://adresse/js/verifynotify.js
Zeile: 19

Das ist diese Zeile hier:

Code: [Select]
field_password = document.password_form.user_password;
Zur Installation:

Da ich den ganzen Thread leider etwas verwirrend finde, hoffe ich das trotzdem
richtig gemacht zu haben:

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

Dann habe ich das hier noch nachgeholt da mir nicht klar war ob das Code Update einen
Ersatz für den ersten Post darstellen sollte:

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

und das hier ist dann auch noch eingeflossen:

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

Alles aus diesem Thread in merkwürdiger Chronologischer Reihenfolge
Trotz des Fehler funktioniert die überprüfung von email und pass auch die grafiken werden angezeigt.

Wenn ich das richtig interpretiere wird ja hier der form name definiert den das script ansprechen will:

Code: [Select]
<form method="POST" name="password_form" action="{url_register}">
Das ist bei mir vorhanden und fehlt nicht.

Code: [Select]
<input type="password" name="user_password" size="30" class="input" onkeyup="checkPassword()"/>
user_password sollte ja wie in meinem Fall das Feld sein auf das, dass script zugreifen will aber über die Zeile 19 meckert.

Wie kann also der Browser maulen wenn doch die Grundfunktion des scripts funktioniert und es
offensichtlich auf die form zugreifen können muss.

Ich versteh das leider nicht...


Gruß Jens
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Rembrandt on October 06, 2010, 07:08:12 PM
so erster post editiert, auch die "verifynotify.js" datei...

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

mfg Andi
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: x23piracy on October 06, 2010, 08:52:05 PM
so erster post editiert, auch die "verifynotify.js" datei...

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

mfg Andi

Hi...
 
...ich hoffe ich darf das sagen... Andi :)

Danke für die Anpassung und das übersichtliche zusammenschrumpfen deines Ursprungsposts.
Beim überfliegen habe ich jetzt nur die Änderung der Script-Einbindung in die reg...html und
der Veränderung der js ausfindig machen können.

Das schlimme wenn man einmal dabei ist wird man Größenwahnsinnig, ich versuch mal "alleine"
eine Überprüfung auf das vorhandensein des Usernamens zu realisieren... da bin ich ja selbst gespannt...

Unterm Strich danke für deine Mühe.  :thumbup:


Gruß Jens
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: b.o.fan on October 08, 2010, 08:45:32 PM
MY CHANGE DO FOLLOWING. PLEASE DO ALL CHANGES.
UPDATE 11.10.2010 - 08:15 - ALL MY CHANGES. The rest is deleted.

Tested with FF 3.6
IE 6
IE 8


- Use Password Check in the Controlpanel.
- Password_1 / Password_2 Input flields empty, then the signs not show.
- EMail_1 / EMail_2 Input fields empty, then the signs not show.
- check the valid of the email-adress
   - if invalid email-adress, then show a text next the first email field
- It inspect the password. I Looks that
   - the pw is 6 Signs long
   - the pw has 1 little a-z (german äöü)
   - the pw has 1 Big A-Z (german ÄÖÜ)
   - the pw has 1 Number 0-9
   - the pw has 1 special character
Then It Shows a graphic.

(http://www.pictureupload.de/originals/pictures/091010175751_Bild_.jpg)

Look @ Demo (http://www.wartenaufden15.de/register.php)

[1].OPEN templates/YOUR_TEMPLATE/member_editprofile.html

[1].1 Find
Code: [Select]
<form method="post" action="{url_member}">Replace with
Code: [Select]
<form method="post" action="{url_member}" name="password_form">
<script type="text/javascript" src="./js/verifynotify.js"></script>

[1].2 Find
Code: [Select]
<tr>
            <td class="row2"><b>{lang_new_password}</b></td>
            <td class="row2"><input type="password" name="user_password" size="30" class="input" /></td>
          </tr>

          <tr>
            <td class="row1"><b>{lang_new_password_confirm}</b></td>
            <td class="row1"><input type="password" name="user_password2" size="30" class="input" /></td>
          </tr>
Replace with
Code: [Select]
         <tr>
            <td class="row1"><b>{lang_new_password}</b></td>
            <td class="row1">
                <input type="password" name="user_password" size="30" class="input" value="" onkeyup="checkPassword()"/>
                <span style="position:absolute;z-index:2" class="row2" id="save_result"> </span>
            </td>
          </tr>
          <tr>
            <td class="row1"><b>{lang_new_password_confirm}</b></td>
            <td class="row1" 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="row1" id="password_result"> </span></td>
          </tr>

[2].OPEN templates/YOUR_TEMPLATE/register_form.html

[2].1 Find
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>
Replace with
Code: [Select]
<tr>
<td class="row2"><b>{lang_password}</b></td>
<td class="row2" style = "position:relative;z-index:1">
  <input type="password" name="user_password" size="30" class="input" value="" onkeyup="checkPassword()"/>
  <span style="position:absolute;z-index:2" class="row2" id="save_result"> </span>
</td>
</tr>

2.2 Find
Code: [Select]
<input type="text" name="user_email" size="30" class="input" value="{user_email}" onkeyup="checkMail()">Add after
Code: [Select]
 <span style="position:absolute;z-index:2" class="row2" id="valid_result"> </span>
[3].OPEN templates/YOUR_TEMPLATE/header.html

[3].1 Find
Code: [Select]
-->Add before
Code: [Select]
{password_strong_lang}
[4].OPEN lang/YOUR_LANGUAGE/main.php
[for German use 4.1]
[for English use 4.2]

[4].1 Find
Code: [Select]
?>Add before [GERMAN]
Code: [Select]
//-----------------------------------------------------
//--- Passwordsicherheit ------------------------------
//-----------------------------------------------------
$lang['pw_js_step_1'] = "zu kurz (mind. 6 Zeichen)";
$lang['pw_js_step_2'] = "schlecht";
$lang['pw_js_step_3'] = "gut";
$lang['pw_js_step_4'] = "stark";
$lang['pw_js_pw_strong'] = "Passwortstärke";
$lang['email_js_fail'] = "ungültige eMail-Adresse";


[4].2 Find
Code: [Select]
?>Add before [ENGLISH]
Code: [Select]
//-----------------------------------------------------
//--- password strength -------------------------------
//-----------------------------------------------------
$lang['pw_js_step_1'] = "to short (not less than 6 Signs)";
$lang['pw_js_step_2'] = "bad";
$lang['pw_js_step_3'] = "good";
$lang['pw_js_step_4'] = "strong";
$lang['pw_js_pw_strong'] = "password strength";
$lang['email_js_fail'] = " invalid email address";

[5].OPEN includes/page_header.php

[5].1 Find
Code: [Select]
// Replace Globals in $lang
$lang = $site_template->parse_array($lang);
Add after
Code: [Select]
$password_js_vars = "   var step_1 = \"".$lang['pw_js_step_1']."\";\n";
$password_js_vars .= "   var step_2 = \"".$lang['pw_js_step_2']."\";\n";
$password_js_vars .= "   var step_3 = \"".$lang['pw_js_step_3']."\";\n";
$password_js_vars .= "   var step_4 = \"".$lang['pw_js_step_4']."\";\n";
$password_js_vars .= "   var pw_strong = \"".$lang['pw_js_pw_strong']."\";\n";
$password_js_vars .= "   var email_valid = \"".$lang['email_js_fail']."\";\n";

[5].2 Find
Code: [Select]
"direction" => $lang['direction']Replace with
Code: [Select]
"direction" => $lang['direction'],
  ###########################################################
  # PASSOWRD TEST                                             #
  "password_strong_lang" => $password_js_vars
  ###########################################################

[6].OPEN js/verifynotisy.js

[6].1 Find
Code: [Select]
 var nomatch_html = "<img src=\"js/no.png\">";Add after
Code: [Select]
 var save_1_html = "&nbsp;<img src=\"js/02.png\"><img src=\"js/01.png\"><img src=\"js/01.png\"><img src=\"js/01.png\"><img src=\"js/01.png\">";
  var save_2_html = "&nbsp;<img src=\"js/02.png\"><img src=\"js/02.png\"><img src=\"js/01.png\"><img src=\"js/01.png\"><img src=\"js/01.png\">";
  var save_3_html = "&nbsp;<img src=\"js/03.png\"><img src=\"js/03.png\"><img src=\"js/03.png\"><img src=\"js/01.png\"><img src=\"js/01.png\">";
  var save_4_html = "&nbsp;<img src=\"js/03.png\"><img src=\"js/03.png\"><img src=\"js/03.png\"><img src=\"js/03.png\"><img src=\"js/01.png\">";
  var save_5_html = "&nbsp;<img src=\"js/04.png\"><img src=\"js/04.png\"><img src=\"js/04.png\"><img src=\"js/04.png\"><img src=\"js/04.png\">";
  function validEmail(email) {
    var strReg = "^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$";
    var regex = new RegExp(strReg);
    return(regex.test(email));
  }

6.2 Find
Code: [Select]
   password_id = "password_result";Add after
Code: [Select]
   save_id = "save_result";
6.3 Find
Code: [Select]
r = document.getElementById(this.password_id);Add after
Code: [Select]
s = document.getElementById(this.save_id);
if ((document.password_form.user_password.value == ""))
  {
    s.innerHTML = "";
    document.password_form.user_password_2.value = "";
    document.password_form.user_password.focus();
  }
  else
  {
    score = 0;
    if(document.password_form.user_password.value.match(/[a-zäöü]{1,}/)) {score = score + 1;}
    if(document.password_form.user_password.value.match(/[A-ZÄÖÜ]{1,}/)) {score = score + 1;}
    if(document.password_form.user_password.value.match(/\d{1,}/)) {score = score + 1;}
    if(document.password_form.user_password.value.match(/\W/)) {score = score + 1;}
    if (document.password_form.user_password.value.length >= 6)
     {
        if (score == 4)
        {
           s.innerHTML = this.save_5_html + " <b>" + pw_strong + "</b>: " + step_4 + " ";
        }
        else if (score == 3)
        {
           s.innerHTML = this.save_4_html + " <b>" + pw_strong + "</b>: " + step_3 + " ";
        }
        else if (score == 2)
        {
           s.innerHTML = this.save_3_html + " <b>" + pw_strong + "</b>: " + step_3 + " ";
        }
        else if (score == 1)
        {
           s.innerHTML = this.save_2_html + " <b>" + pw_strong + "</b>: " + step_2 + "  " ;
        }
     }
     else
     {
        s.innerHTML = this.save_1_html + " <b>" + pw_strong + "</b>: " + step_1 + "  ";
     }
  }

6.3 Find
Code: [Select]
if (document.password_form.user_password.value != "" && document.password_form.user_password.value == document.password_form.user_password_2.value) {Replace with
Code: [Select]
     if ((document.password_form.user_password.value == "") && (document.password_form.user_password_2.value == ""))
  {
    r.innerHTML = "";
  }
      else if (document.password_form.user_password.value != "" && document.password_form.user_password.value == document.password_form.user_password_2.value) {

6.4 Find
Code: [Select]
   email_id = "email_result";Add after
Code: [Select]
   valid_id = "valid_result";
6.5 Find
Code: [Select]
r = document.getElementById(this.email_id);Add after
Code: [Select]
s = document.getElementById(this.valid_id);
if (!s){ return false;}

6.6 Find
Code: [Select]
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;
      }
Replace with
Code: [Select]
if (!validEmail(this.field_email.value) && this.field_email.value == "")
  {
    r.innerHTML = "";
    s.innerHTML = "";
  }
  else if (!validEmail(this.field_email.value))
  {
    r.innerHTML = this.nomatch_html;
    s.innerHTML = "<b>" + email_valid + "</b>";
  }
  else
  {
    if ((this.field_email.value == "") && (this.field_email2.value == ""))
    {
        r.innerHTML = "";
        s.innerHTML = "";
    }
    else if (this.field_email.value != "" && this.field_email.value == this.field_email2.value)
    {
        r.innerHTML = this.match_html;
        s.innerHTML = "";
    }
    else
    {
        r.innerHTML = this.nomatch_html;
        s.innerHTML = "";
    }
  }

Save 01.png/02.png/03.png/04.png. Copy the 4 Files into /js/!

Please Say Thanks or Say what is not good.


[UPDATE]
my function validEmail()
say OK when email Adress is following
name@example.com
or
name@exampel
because
http://forum.de.selfhtml.org/archiv/2003/4/t43470/#m237448 (http://forum.de.selfhtml.org/archiv/2003/4/t43470/#m237448)

Maybe SomeOne will update my Function. :wink:
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Rembrandt on October 08, 2010, 09:12:10 PM
nice idea  :)
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: b.o.fan on October 08, 2010, 09:45:34 PM
look at http://www.4homepages.de/forum/index.php?topic=26268.msg151792#msg151792 (http://www.4homepages.de/forum/index.php?topic=26268.msg151792#msg151792)
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Rembrandt on October 09, 2010, 12:49:14 PM
...
Ich überlege, ob man da nicht eine weitere Funktion zur Qualitätssteigerung des Passwortes einbauen sollte.
ich denke da an 3 <span> Felder (quadratisch 2pxx2px) die dann als Ampel fungieren....
1 Rotes Viereck für unsicher.
2 Gelbe Vierecke für ok
3 grüne Vierecke für sicher (bei 1 Groß/1Kleinbuchstaben/1Zahl/1Sonderzeichen mind. 6 Zeichen)
ja ist sicher eine gute idee....
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: b.o.fan on October 09, 2010, 05:46:33 PM
look at http://www.4homepages.de/forum/index.php?topic=26268.msg151792#msg151792 (http://www.4homepages.de/forum/index.php?topic=26268.msg151792#msg151792)
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Rembrandt on October 09, 2010, 06:00:24 PM
@b.o.fan, ist ja schön und gut das du deine ideen einfliesen lässt aber ab jetzt kennt sich keiner mehr aus.
wenn ich einen mod erstelle und es werden oder müßen enderungen vorgenommen werden dann editiere ich den ersten post mit einen hinweis darauf.
das heist wenn ein user zu den mod kommt, findet er normalerweise alles was er benötigt im ersten post, jetzt geht das ganze über drei seiten:

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

was wo jetzt wohin gehört weis ich auch nicht mehr.

mfg Andi
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: Rembrandt on October 09, 2010, 06:09:08 PM
nein ich meinte damit das du deinen ersten post dahingehen editierst...
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: x23piracy on October 09, 2010, 07:41:59 PM
Hi,

fantastisch ihr beiden ;) Danke.
Nur sollte wirklich klar sein in welchen Schritten man vorgeht.
Andi sortiert ja immer ordentlich nach.

 :thumbup: ihr beiden...


Gruß Jens
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: b.o.fan on October 09, 2010, 07:43:48 PM
Hi,

fantastisch ihr beiden ;) Danke.
Nur sollte wirklich klar sein in welchen Schritten man vorgeht.
Andi sortiert ja immer ordentlich nach.

 :thumbup: ihr beiden...


Gruß Jens

Danke! Ich werde meinen Ersten Beitrag auch mal Üebrarbeiten, und dann alles da rein packen. :)
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: x23piracy on October 10, 2010, 01:53:12 AM
Idee 2.
Idea 2.

Hi,

klappt das bei euch bis hierhin mit Safari und Chrome?
Bei mir leider nicht.

Die Username Überprüfung existiert bereits, ich habs eingebaut und es klappt bestens:
http://www.4homepages.de/forum/index.php?topic=23848.0


Gruß Jens
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: b.o.fan on October 11, 2010, 08:19:00 AM
@b.o.fan, ist ja schön und gut das du deine ideen einfliesen lässt aber ab jetzt kennt sich keiner mehr aus.
wenn ich einen mod erstelle und es werden oder müßen enderungen vorgenommen werden dann editiere ich den ersten post mit einen hinweis darauf.
das heist wenn ein user zu den mod kommt, findet er normalerweise alles was er benötigt im ersten post, jetzt geht das ganze über drei seiten:

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

was wo jetzt wohin gehört weis ich auch nicht mehr.

mfg Andi

i updateded my first thread

http://www.4homepages.de/forum/index.php?topic=26268.msg151792#msg151792 (http://www.4homepages.de/forum/index.php?topic=26268.msg151792#msg151792)
Title: Re: [MOD] Ajax Password / E-Mail Confirmation
Post by: x23piracy on December 02, 2010, 05:36:31 AM
Hi,

is it possible to extend this for a username length check?
If the user enter the username field he cannot leave until a given
length of username is entered?

Also i only knew of domains that have at least 2 signs (example. db.de)
the script say valid also for an adress like a@b.de

(http://www.xup.in/pic,18530872/temp1.jpg) (http://www.xup.in/dl,18530872/temp1.jpg/)

I think this script is hole less if it accept the email adress if it looks
at least like: a@bc.de

- check the valid of the email-adress
   - if invalid email-adress, then show a text next the first email field

Have you changed this due to code changes?
When i test this on your page there is no extra text that says email invalid,
there is just the no.png right beneath the second email field.

(http://www.xup.in/pic,45111022/temp2.jpg) (http://www.xup.in/dl,45111022/temp2.jpg/)


Greetz X23