Jump to content
xt:Commerce Community Forum

Automatische Kundennummernvergabe


Purecut

Recommended Posts

hallo alle zusammen,

also ich würde auch gerne die automatische kundennummergenerierung im shop einsetzen, leider weis ich nicht was und wo ich genau einsetzen soll.

könnt ihr vielleicht eine genauere anweisung schreiben?

währ echt nett von euch.

ich würde gern die variante nutzen:

[beliebige Zeichen][Jahr][beliebige Zeichen][fortlaufende Zahl]

bei mir dann z.b. : V07-100

könnte es vielleicht jemand für mich generieren und mir genau sagen wo und in welche zeile ich es einfügen soll?

mit freundlichen grüßen

snwue...

Link to comment
Share on other sites

  • Replies 51
  • Created
  • Last Reply

Hallo snwue!

Lass mich Dich jetzt bitte mal dumm anmachen

--> MACH MAL DIE AUGEN AUF --> ZU VIEL GEFEIERT GESTERN??? --> STEHT DOCH ALLES HIER IM BEITRAG --> MITDENKEN HILFT!!!

(ist natürlich nicht bös gemeint)

Die Lösung findest Du eigentlich mehrmals in diesem Beitrag. Unter Anderem im Post #21

-----------------------

Aber weil Du so lieb gefragt hast, hier noch einmal die Anleitung für Dich und alle anderen Leute, die heute noch nicht die Augen richtig "auf krigen":

in der datei create_account.php NACH Zeile:

include ('includes/application_top.php');

einfügen:

// Begin automatische Kundennummernvergabe [beliebige Zeichen][Jahr][-][fortlaufende Zahl]
require_once (DIR_FS_INC.'xtc_random_charcode.inc.php');
require_once (DIR_FS_INC.'xtc_rand.inc.php');
function new_customer_id($space='-'){
$new_cid='';
$start_cid = 3490;
$year = date("y");
$sign = 'V';
$cid_query = xtc_db_query("SELECT customers_cid FROM ".TABLE_CUSTOMERS." ORDER BY customers_date_added DESC LIMIT 1");
$last_cid = xtc_db_fetch_array($cid_query);
$arr_cid = explode($space,$last_cid['customers_cid']);
if($arr_cid[1]
? $new_cid = $sign . $year . $space . ($arr_cid[1]+1)
: $new_cid = $sign . $year . $space . $start_cid);

return $new_cid;
}
// End automatische Kundennummernvergabe [beliebige Zeichen][Jahr][-][fortlaufende Zahl][/php]

[font=Verdana][size=2][color=red][color=red]und [b]VOR[/b] der Zeile [/color][/color][/size][/font]

[font=Verdana][size=2][color=red][color=red]

xtc_db_perform(TABLE_CUSTOMERS, $sql_data_array);

[/color][/color][/size][/font][font=Verdana][size=2][color=red][color=red]einfügen[/color][/color][/size][/font]

[left]

[php]$sql_data_array['customers_cid'] = new_customer_id();

------------------

Ergebnis:

[$sign][ $year][$space] [$arr_cid]

[beliebige Zeichen][Jahr] [-][fortlaufende Zahl]

Mein erster Kunde bekam nun die Nummer:

V07-3490

Mein zweiter Kunde die Nummer:

V07-3491

Der dritte:

V07-3492

ACHTUNG:

- Es MUSS bereits ein Kunde mit einer Kundennummer existieren.

- Die Zahl im Code $start_cid = 3490; kann durch eine beliebige ersetze werden (sie muss aber grösser sein, als die zuletzt vergebene Kundennummer) Eine Kundennummer, die nicht mit einer glatten Zahl beginnt (z.B. 1000, 2000 oder 3000) sieht dem Kunden gegenüber immer besser aus. Aus diesem Grund habe ich die 3490 gewählt!

- Der oder die Buchstaben im Code $sign = 'V'; können durch beliebige ersetzt werden

- Das Zeichen im Code function new_customer_id($space='-'){ kann durch ein beliebiges ersetzt werden

Ich denke, dass Du es selbst nun hinbekommst!

Ich hoffe, ich habe an alles gedacht

back@me

Link to comment
Share on other sites

ok danke ich glaub ich kriegs hin.

eine frage noch.

ich will es so haben : V0702-100

ich hab jetzt den kunden die nummern vergeben und bin bei 191 stehen geblieben.

muss ich dann in dem php code anstatt der 100 die 192 eintragen oder 191, damit es dann weiter läuft.

weil du hast ja gemeint die nummer muss schon vergeben sein, wie meinst du das?

also würde das dann wenn ich richtig verstanden hab so aussehen:

// Begin automatische Kundennummernvergabe [beliebige Zeichen][Jahr][-][fortlaufende Zahl]

require_once (DIR_FS_INC.'xtc_random_charcode.inc.php');

require_once (DIR_FS_INC.'xtc_rand.inc.php');

function new_customer_id($space='-'){

$new_cid='';

$start_cid = 200;

$year = date("y");

$month = date("m");

$sign = 'V';

$cid_query = xtc_db_query("SELECT customers_cid FROM ".TABLE_CUSTOMERS." ORDER BY customers_date_added DESC LIMIT 1");

$last_cid = xtc_db_fetch_array($cid_query);

$arr_cid = explode($space,$last_cid['customers_cid']);

if($arr_cid[1]

? $new_cid = $sign . $year . $month . $space . ($arr_cid[1]+1)

: $new_cid = $sign . $year . $month . $space . $start_cid);

return $new_cid;

}

// End automatische Kundennummernvergabe [beliebige Zeichen][Jahr][-][fortlaufende Zahl]

und noch eine frage:

die create_account.php datei, wo liegt sie in welchem ordner? habe 5 dateien mit dem namen gefunden weis aber nicht in welcher ich es verändern soll..

Link to comment
Share on other sites

... weil du hast ja gemeint die nummer muss schon vergeben sein, wie meinst du das?

Die erste Kundennummer, die automatisch vergeben werden soll, muss min. einen Zähler grösser sein, als die zuletzt manuell vergebene KD-Nummer.

Beispiel:

zuletzte manuell vergebene Nummer: 5600

erste automatisch vergebene Nummer: 5601

eine frage noch.

ich will es so haben : V0702-100

Kannste knicken, da Du bereits schon die 191 vergeben hast (es sei denn, Du löscht alle Einträge der DB und "beginnst von vorne" --> nicht zu empfehlen, wenn bereits "echte" Kunden vorhanden sind ;-))

ich hab jetzt den kunden die nummern vergeben und bin bei 191 stehen geblieben.

muss ich dann in dem php code anstatt der 100 die 192 eintragen oder 191, damit es dann weiter läuft.

Korrekt, die 192

ABER nun mal eine Frage von mir: Warum willst Du Deine Kundennummern im dreistelligen Bereich anlegen lassen? Soll Dein Shop nicht so lange existieren? Denn sobald Du bei Kundennummer 999 angekommen bist, ist "der Bart ab" :eek:.

Tipp:

Mach einen Sprung und vergib KD-Nummern im vierstelligen Bereich --> Fang z.B. mit der Nummer 1623 an ( $start_cid = 1623; ). Somit kannst Du beruhigt in die Zukunft schauen!

ok danke ich glaub ich kriegs hin.

OK! ;)

und noch eine frage:

die create_account.php datei, wo liegt sie in welchem ordner?

Direkt im root Verzeichnis --> also im Hauptordner deines Shops (der Ordner, in dem alle anderen Dateien liegen). Erkennst Du daran, dass fast am Codeanfang die Zeile 'includes/application_top.php' steht!

Gruß

bck@me

Link to comment
Share on other sites

oh da hab ich gleich noch weitere frage.

1.

also d.h. wenn ich jetzt z.b. die nummer 10091 nehme, dass er dann irgendwann bei 99999 stop macht oder?

angenommen ich hab die nummer V0702-10091

macht der dann z.b. in märz mit der zahl weiter also so dass es dann

V0703-10092 aussieht?

2.

diesen code muss ich ja z.b. in der create_account.php datei sowohl im ordner xtcommerce/create_account.php

als auch im

xtcommerce/admin/create_account.php

einfügen oder?

weil ich will ja dass wenn sich kunden selber regestrieren dass sich die nummer automatish generiert und auch im admin bereich wenn ich selber z.b. einen kunden anmelde.

in beiden create_account.php dateien fängt es mit der zeile

require ('includes/application_top.php');

ist es die richtige zeile?

3.

wenn ich die datei runterlade,verändere und dann durch hochladen auf den server ersetze funktioniert es dann auch 100%

sorry für die vielen fragen und danke im vorraus für deine hilfe.

mfg. snwue

Link to comment
Share on other sites

oh da hab ich gleich noch weitere frage.

OK, auf geht´s!

1.

also d.h. wenn ich jetzt z.b. die nummer 10091 nehme, dass er dann irgendwann bei 99999 stop macht oder?

Wäre die logische Schlussfolgerung. Ich habe es selbst nie probiert!

Aber mal ehrlich: Wer hat einen Internet-Kundenkreis mit ca. 100.000 Kunden im Stamm :P ?

angenommen ich hab die nummer V0702-10091

macht der dann z.b. in märz mit der zahl weiter also so dass es dann

V0703-10092 aussieht?

Jep, richtig, beide Zahlenbereiche sind völlig unabhängig von einander. Die Zahl am Ende zählt jeden neuen Kunden mit dem nächst höheren Zähler und die anderen Beiden zeigen Dir einfach nur das Jahr und den Monat an.

>>Aber Du wolltest doch eigentlich nur die Jahreszahl, ohne den Monat!<<

2.

diesen code muss ich ja z.b. in der create_account.php datei sowohl im ordner xtcommerce/create_account.php als auch im xtcommerce/admin/create_account.php einfügen oder?

N E I N, NUR in der xtcommerce/create_account.php

Bitte in der anderen Datei nix verändern.

in beiden create_account.php dateien fängt es mit der zeile

require ('includes/application_top.php');

ist es die richtige zeile?

Vorsichtig snwue, Du musst richtig gucken!

Fängt es nicht ...

... in der xtcommerce/create_account.php steht:

include ('includes/application_top.php'); <= die musst Du haben!

und in der xtcommerce/admin/create_account.php steht:

require ('includes/application_top.php');

3.

wenn ich die datei runterlade,verändere und dann durch hochladen auf den server ersetze funktioniert es dann auch 100%

Wenn Du alles richtig gemacht hast, funzt es 100%tig

sorry für die vielen fragen und danke im vorraus für deine hilfe.

mfg. snwue

Wenn ich helfen konnte ... habe ich das gerne getan ;)

Link to comment
Share on other sites

also danke für deine mühe gell

aber irgendwie klappts nicht

hab nun in der datei xtcommerce\create_account.php so alles gemacht wie du beschrieben hast aber trotzdem geht es nicht.

habe den kunden nun die nummern vergeven und die letzte ist

V0702-10093

also muss ich ja mit 10094 anfangen..

ja richtig ich wollte zuerst mit nummern machen aber so (V0702-10093) würde es besser sein finde ich..

<?php

/* -----------------------------------------------------------------------------------------
$Id: create_account.php 1311 2005-10-18 12:30:40Z mz $

XT-Commerce - community made shopping
http://www.xt-commerce.com

Copyright (c) 2003 XT-Commerce
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce(create_account.php,v 1.63 2003/05/28); www.oscommerce.com
(c) 2003 nextcommerce (create_account.php,v 1.27 2003/08/24); www.nextcommerce.org

Released under the GNU General Public License
-----------------------------------------------------------------------------------------
Third Party contribution:

Credit Class/Gift Vouchers/Discount Coupons (Version 5.10)
http://www.oscommerce.com/community/contributions,282
Copyright (c) Strider | [email protected]
Copyright (c Nick Stanko of UkiDev.com, [email protected]
Copyright (c) Andre [email protected]
Copyright (c) 2001,2002 Ian C Wilson http://www.phesis.org


Released under the GNU General Public License
---------------------------------------------------------------------------------------*/

include ('includes/application_top.php');

// Begin automatische Kundennummernvergabe [beliebige Zeichen][Jahr][-][fortlaufende Zahl]
require_once (DIR_FS_INC.'xtc_random_charcode.inc.php');
require_once (DIR_FS_INC.'xtc_rand.inc.php');
function new_customer_id($space='-'){
$new_cid='';
$start_cid = 10094;
$year = date("y");
$month = date("m");
$sign = 'V';
$cid_query = xtc_db_query("SELECT customers_cid FROM ".TABLE_CUSTOMERS." ORDER BY customers_date_added DESC LIMIT 1");
$last_cid = xtc_db_fetch_array($cid_query);
$arr_cid = explode($space,$last_cid['customers_cid']);
if($arr_cid[1]
? $new_cid = $sign . $year . $month . $space . ($arr_cid[1]+1)
: $new_cid = $sign . $year . $month . $space . $start_cid);

return $new_cid;
}
// End automatische Kundennummernvergabe [beliebige Zeichen][Jahr][-][fortlaufende Zahl]

if (isset ($_SESSION['customer_id'])) {
xtc_redirect(xtc_href_link(FILENAME_ACCOUNT, '', 'SSL'));
}

// create smarty elements
$smarty = new Smarty;
// include boxes
require (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/boxes.php');

// include needed functions
require_once (DIR_FS_INC.'xtc_get_country_list.inc.php');
require_once (DIR_FS_INC.'xtc_validate_email.inc.php');
require_once (DIR_FS_INC.'xtc_encrypt_password.inc.php');
require_once (DIR_FS_INC.'xtc_get_geo_zone_code.inc.php');
require_once (DIR_FS_INC.'xtc_write_user_info.inc.php');

$process = false;
if (isset ($_POST['action']) && ($_POST['action'] == 'process')) {
$process = true;

if (ACCOUNT_GENDER == 'true')
$gender = xtc_db_prepare_input($_POST['gender']);
$firstname = xtc_db_prepare_input($_POST['firstname']);
$lastname = xtc_db_prepare_input($_POST['lastname']);
if (ACCOUNT_DOB == 'true')
$dob = xtc_db_prepare_input($_POST['dob']);
$email_address = xtc_db_prepare_input($_POST['email_address']);
if (ACCOUNT_COMPANY == 'true')
$company = xtc_db_prepare_input($_POST['company']);
if (ACCOUNT_COMPANY_VAT_CHECK == 'true')
$vat = xtc_db_prepare_input($_POST['vat']);
$street_address = xtc_db_prepare_input($_POST['street_address']);
if (ACCOUNT_SUBURB == 'true')
$suburb = xtc_db_prepare_input($_POST['suburb']);
$postcode = xtc_db_prepare_input($_POST['postcode']);
$city = xtc_db_prepare_input($_POST['city']);
$zone_id = xtc_db_prepare_input($_POST['zone_id']);
if (ACCOUNT_STATE == 'true')
$state = xtc_db_prepare_input($_POST['state']);
$country = xtc_db_prepare_input($_POST['country']);
$telephone = xtc_db_prepare_input($_POST['telephone']);
$fax = xtc_db_prepare_input($_POST['fax']);
$newsletter = '0';
$password = xtc_db_prepare_input($_POST['password']);
$confirmation = xtc_db_prepare_input($_POST['confirmation']);

$error = false;

if (ACCOUNT_GENDER == 'true') {
if (($gender != 'm') && ($gender != 'f')) {
$error = true;

$messageStack->add('create_account', ENTRY_GENDER_ERROR);
}
}

if (strlen($firstname) < ENTRY_FIRST_NAME_MIN_LENGTH) {
$error = true;

$messageStack->add('create_account', ENTRY_FIRST_NAME_ERROR);
}

if (strlen($lastname) < ENTRY_LAST_NAME_MIN_LENGTH) {
$error = true;

$messageStack->add('create_account', ENTRY_LAST_NAME_ERROR);
}

if (ACCOUNT_DOB == 'true') {
if (checkdate(substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) == false) {
$error = true;

$messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR);
}
}

// New VAT Check
require_once(DIR_WS_CLASSES.'vat_validation.php');
$vatID = new vat_validation($vat, '', '', $country);

$customers_status = $vatID->vat_info['status'];
$customers_vat_id_status = $vatID->vat_info['vat_id_status'];
$error = $vatID->vat_info['error'];

if($error==1){
$messageStack->add('create_account', ENTRY_VAT_ERROR);
$error = true;
}

// New VAT CHECK END


if (strlen($email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) {
$error = true;

$messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR);
}
elseif (xtc_validate_email($email_address) == false) {
$error = true;

$messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_CHECK_ERROR);
} else {
$check_email_query = xtc_db_query("select count(*) as total from ".TABLE_CUSTOMERS." where customers_email_address = '".xtc_db_input($email_address)."' and account_type = '0'");
$check_email = xtc_db_fetch_array($check_email_query);
if ($check_email['total'] > 0) {
$error = true;

$messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR_EXISTS);
}
}

if (strlen($street_address) < ENTRY_STREET_ADDRESS_MIN_LENGTH) {
$error = true;

$messageStack->add('create_account', ENTRY_STREET_ADDRESS_ERROR);
}

if (strlen($postcode) < ENTRY_POSTCODE_MIN_LENGTH) {
$error = true;

$messageStack->add('create_account', ENTRY_POST_CODE_ERROR);
}

if (strlen($city) < ENTRY_CITY_MIN_LENGTH) {
$error = true;

$messageStack->add('create_account', ENTRY_CITY_ERROR);
}

if (is_numeric($country) == false) {
$error = true;

$messageStack->add('create_account', ENTRY_COUNTRY_ERROR);
}

if (ACCOUNT_STATE == 'true') {
$zone_id = 0;
$check_query = xtc_db_query("select count(*) as total from ".TABLE_ZONES." where zone_country_id = '".(int) $country."'");
$check = xtc_db_fetch_array($check_query);
$entry_state_has_zones = ($check['total'] > 0);
if ($entry_state_has_zones == true) {
$zone_query = xtc_db_query("select distinct zone_id from ".TABLE_ZONES." where zone_country_id = '".(int) $country."' and (zone_name like '".xtc_db_input($state)."%' or zone_code like '%".xtc_db_input($state)."%')");
if (xtc_db_num_rows($zone_query) > 1) {
$zone_query = xtc_db_query("select distinct zone_id from ".TABLE_ZONES." where zone_country_id = '".(int) $country."' and zone_name = '".xtc_db_input($state)."'");
}
if (xtc_db_num_rows($zone_query) >= 1) {
$zone = xtc_db_fetch_array($zone_query);
$zone_id = $zone['zone_id'];
} else {
$error = true;

$messageStack->add('create_account', ENTRY_STATE_ERROR_SELECT);
}
} else {
if (strlen($state) < ENTRY_STATE_MIN_LENGTH) {
$error = true;

$messageStack->add('create_account', ENTRY_STATE_ERROR);
}
}
}

if (strlen($telephone) < ENTRY_TELEPHONE_MIN_LENGTH) {
$error = true;

$messageStack->add('create_account', ENTRY_TELEPHONE_NUMBER_ERROR);
}

if (strlen($password) < ENTRY_PASSWORD_MIN_LENGTH) {
$error = true;

$messageStack->add('create_account', ENTRY_PASSWORD_ERROR);
}
elseif ($password != $confirmation) {
$error = true;

$messageStack->add('create_account', ENTRY_PASSWORD_ERROR_NOT_MATCHING);
}

//don't know why, but this happens sometimes and new user becomes admin
if ($customers_status == 0 || !$customers_status)
$customers_status = DEFAULT_CUSTOMERS_STATUS_ID;
if (!$newsletter)
$newsletter = 0;
if ($error == false) {
$sql_data_array = array ('customers_vat_id' => $vat, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_status' => $customers_status, 'customers_firstname' => $firstname, 'customers_lastname' => $lastname, 'customers_email_address' => $email_address, 'customers_telephone' => $telephone, 'customers_fax' => $fax, 'customers_newsletter' => $newsletter, 'customers_password' => xtc_encrypt_password($password),'customers_date_added' => 'now()','customers_last_modified' => 'now()');

if (ACCOUNT_GENDER == 'true')
$sql_data_array['customers_gender'] = $gender;
if (ACCOUNT_DOB == 'true')
$sql_data_array['customers_dob'] = xtc_date_raw($dob);

$sql_data_array['customers_cid'] = new_customer_id(); xtc_db_perform(TABLE_CUSTOMERS, $sql_data_array);

$_SESSION['customer_id'] = xtc_db_insert_id();
$user_id = xtc_db_insert_id();
xtc_write_user_info($user_id);
$sql_data_array = array ('customers_id' => $_SESSION['customer_id'], 'entry_firstname' => $firstname, 'entry_lastname' => $lastname, 'entry_street_address' => $street_address, 'entry_postcode' => $postcode, 'entry_city' => $city, 'entry_country_id' => $country,'address_date_added' => 'now()','address_last_modified' => 'now()');

if (ACCOUNT_GENDER == 'true')
$sql_data_array['entry_gender'] = $gender;
if (ACCOUNT_COMPANY == 'true')
$sql_data_array['entry_company'] = $company;
if (ACCOUNT_SUBURB == 'true')
$sql_data_array['entry_suburb'] = $suburb;
if (ACCOUNT_STATE == 'true') {
if ($zone_id > 0) {
$sql_data_array['entry_zone_id'] = $zone_id;
$sql_data_array['entry_state'] = '';
} else {
$sql_data_array['entry_zone_id'] = '0';
$sql_data_array['entry_state'] = $state;
}
}

xtc_db_perform(TABLE_ADDRESS_BOOK, $sql_data_array);

$address_id = xtc_db_insert_id();

xtc_db_query("update ".TABLE_CUSTOMERS." set customers_default_address_id = '".$address_id."' where customers_id = '".(int) $_SESSION['customer_id']."'");

xtc_db_query("insert into ".TABLE_CUSTOMERS_INFO." (customers_info_id, customers_info_number_of_logons, customers_info_date_account_created) values ('".(int) $_SESSION['customer_id']."', '0', now())");

if (SESSION_RECREATE == 'True') {
xtc_session_recreate();
}

$_SESSION['customer_first_name'] = $firstname;
$_SESSION['customer_last_name'] = $lastname;
$_SESSION['customer_default_address_id'] = $address_id;
$_SESSION['customer_country_id'] = $country;
$_SESSION['customer_zone_id'] = $zone_id;
$_SESSION['customer_vat_id'] = $vat;

// restore cart contents
$_SESSION['cart']->restore_contents();

// build the message content
$name = $firstname.' '.$lastname;

// load data into array
$module_content = array ();
$module_content = array ('MAIL_NAME' => $name, 'MAIL_REPLY_ADDRESS' => EMAIL_SUPPORT_REPLY_ADDRESS, 'MAIL_GENDER' => $gender);

// assign data to smarty
$smarty->assign('language', $_SESSION['language']);
$smarty->assign('logo_path', HTTP_SERVER.DIR_WS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/img/');
$smarty->assign('content', $module_content);
$smarty->caching = false;

if (isset ($_SESSION['tracking']['refID'])){
$campaign_check_query_raw = "SELECT *
FROM ".TABLE_CAMPAIGNS."
WHERE campaigns_refID = '".$_SESSION[tracking][refID]."'";
$campaign_check_query = xtc_db_query($campaign_check_query_raw);
if (xtc_db_num_rows($campaign_check_query) > 0) {
$campaign = xtc_db_fetch_array($campaign_check_query);
$refID = $campaign['campaigns_id'];
} else {
$refID = 0;
}

xtc_db_query("update " . TABLE_CUSTOMERS . " set
refferers_id = '".$refID."'
where customers_id = '".(int) $_SESSION['customer_id']."'");

$leads = $campaign['campaigns_leads'] + 1 ;
xtc_db_query("update " . TABLE_CAMPAIGNS . " set
campaigns_leads = '".$leads."'
where campaigns_id = '".$refID."'");
}


if (ACTIVATE_GIFT_SYSTEM == 'true') {
// GV Code Start
// ICW - CREDIT CLASS CODE BLOCK ADDED ******************************************************* BEGIN
if (NEW_SIGNUP_GIFT_VOUCHER_AMOUNT > 0) {
$coupon_code = create_coupon_code();
$insert_query = xtc_db_query("insert into ".TABLE_COUPONS." (coupon_code, coupon_type, coupon_amount, date_created) values ('".$coupon_code."', 'G', '".NEW_SIGNUP_GIFT_VOUCHER_AMOUNT."', now())");
$insert_id = xtc_db_insert_id($insert_query);
$insert_query = xtc_db_query("insert into ".TABLE_COUPON_EMAIL_TRACK." (coupon_id, customer_id_sent, sent_firstname, emailed_to, date_sent) values ('".$insert_id."', '0', 'Admin', '".$email_address."', now() )");

$smarty->assign('SEND_GIFT', 'true');
$smarty->assign('GIFT_AMMOUNT', $xtPrice->xtcFormat(NEW_SIGNUP_GIFT_VOUCHER_AMOUNT, true));
$smarty->assign('GIFT_CODE', $coupon_code);
$smarty->assign('GIFT_LINK', xtc_href_link(FILENAME_GV_REDEEM, 'gv_no='.$coupon_code, 'NONSSL', false));

}
if (NEW_SIGNUP_DISCOUNT_COUPON != '') {
$coupon_code = NEW_SIGNUP_DISCOUNT_COUPON;
$coupon_query = xtc_db_query("select * from ".TABLE_COUPONS." where coupon_code = '".$coupon_code."'");
$coupon = xtc_db_fetch_array($coupon_query);
$coupon_id = $coupon['coupon_id'];
$coupon_desc_query = xtc_db_query("select * from ".TABLE_COUPONS_DESCRIPTION." where coupon_id = '".$coupon_id."' and language_id = '".(int) $_SESSION['languages_id']."'");
$coupon_desc = xtc_db_fetch_array($coupon_desc_query);
$insert_query = xtc_db_query("insert into ".TABLE_COUPON_EMAIL_TRACK." (coupon_id, customer_id_sent, sent_firstname, emailed_to, date_sent) values ('".$coupon_id."', '0', 'Admin', '".$email_address."', now() )");

$smarty->assign('SEND_COUPON', 'true');
$smarty->assign('COUPON_DESC', $coupon_desc['coupon_description']);
$smarty->assign('COUPON_CODE', $coupon['coupon_code']);

}
// ICW - CREDIT CLASS CODE BLOCK ADDED ******************************************************* END
// GV Code End // create templates
}
$smarty->caching = 0;
$html_mail = $smarty->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/create_account_mail.html');
$smarty->caching = 0;
$txt_mail = $smarty->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/create_account_mail.txt');

xtc_php_mail(EMAIL_SUPPORT_ADDRESS, EMAIL_SUPPORT_NAME, $email_address, $name, EMAIL_SUPPORT_FORWARDING_STRING, EMAIL_SUPPORT_REPLY_ADDRESS, EMAIL_SUPPORT_REPLY_ADDRESS_NAME, '', '', EMAIL_SUPPORT_SUBJECT, $html_mail, $txt_mail);

if (!isset ($mail_error)) {
xtc_redirect(xtc_href_link(FILENAME_SHOPPING_CART, '', 'SSL'));
} else {
echo $mail_error;
}
}
}

$breadcrumb->add(NAVBAR_TITLE_CREATE_ACCOUNT, xtc_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'));

require (DIR_WS_INCLUDES.'header.php');

if ($messageStack->size('create_account') > 0) {
$smarty->assign('error', $messageStack->output('create_account'));

}
$smarty->assign('FORM_ACTION', xtc_draw_form('create_account', xtc_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'), 'post', 'onsubmit="return check_form(create_account);"').xtc_draw_hidden_field('action', 'process'));

if (ACCOUNT_GENDER == 'true') {
$smarty->assign('gender', '1');

$smarty->assign('INPUT_MALE', xtc_draw_radio_field(array ('name' => 'gender', 'suffix' => MALE), 'm'));
$smarty->assign('INPUT_FEMALE', xtc_draw_radio_field(array ('name' => 'gender', 'suffix' => FEMALE, 'text' => (xtc_not_null(ENTRY_GENDER_TEXT) ? '<span class="inputRequirement">'.ENTRY_GENDER_TEXT.'</span>' : '')), 'f'));

} else {
$smarty->assign('gender', '0');
}

$smarty->assign('INPUT_FIRSTNAME', xtc_draw_input_fieldNote(array ('name' => 'firstname', 'text' => ' '. (xtc_not_null(ENTRY_FIRST_NAME_TEXT) ? '<span class="inputRequirement">'.ENTRY_FIRST_NAME_TEXT.'</span>' : ''))));
$smarty->assign('INPUT_LASTNAME', xtc_draw_input_fieldNote(array ('name' => 'lastname', 'text' => ' '. (xtc_not_null(ENTRY_LAST_NAME_TEXT) ? '<span class="inputRequirement">'.ENTRY_LAST_NAME_TEXT.'</span>' : ''))));

if (ACCOUNT_DOB == 'true') {
$smarty->assign('birthdate', '1');

$smarty->assign('INPUT_DOB', xtc_draw_input_fieldNote(array ('name' => 'dob', 'text' => ' '. (xtc_not_null(ENTRY_DATE_OF_BIRTH_TEXT) ? '<span class="inputRequirement">'.ENTRY_DATE_OF_BIRTH_TEXT.'</span>' : ''))));

} else {
$smarty->assign('birthdate', '0');
}

$smarty->assign('INPUT_EMAIL', xtc_draw_input_fieldNote(array ('name' => 'email_address', 'text' => ' '. (xtc_not_null(ENTRY_EMAIL_ADDRESS_TEXT) ? '<span class="inputRequirement">'.ENTRY_EMAIL_ADDRESS_TEXT.'</span>' : ''))));

if (ACCOUNT_COMPANY == 'true') {
$smarty->assign('company', '1');
$smarty->assign('INPUT_COMPANY', xtc_draw_input_fieldNote(array ('name' => 'company', 'text' => ' '. (xtc_not_null(ENTRY_COMPANY_TEXT) ? '<span class="inputRequirement">'.ENTRY_COMPANY_TEXT.'</span>' : ''))));
} else {
$smarty->assign('company', '0');
}

if (ACCOUNT_COMPANY_VAT_CHECK == 'true') {
$smarty->assign('vat', '1');
$smarty->assign('INPUT_VAT', xtc_draw_input_fieldNote(array ('name' => 'vat', 'text' => ' '. (xtc_not_null(ENTRY_VAT_TEXT) ? '<span class="inputRequirement">'.ENTRY_VAT_TEXT.'</span>' : ''))));
} else {
$smarty->assign('vat', '0');
}

$smarty->assign('INPUT_STREET', xtc_draw_input_fieldNote(array ('name' => 'street_address', 'text' => ' '. (xtc_not_null(ENTRY_STREET_ADDRESS_TEXT) ? '<span class="inputRequirement">'.ENTRY_STREET_ADDRESS_TEXT.'</span>' : ''))));

if (ACCOUNT_SUBURB == 'true') {
$smarty->assign('suburb', '1');
$smarty->assign('INPUT_SUBURB', xtc_draw_input_fieldNote(array ('name' => 'suburb', 'text' => ' '. (xtc_not_null(ENTRY_SUBURB_TEXT) ? '<span class="inputRequirement">'.ENTRY_SUBURB_TEXT.'</span>' : ''))));

} else {
$smarty->assign('suburb', '0');
}

$smarty->assign('INPUT_CODE', xtc_draw_input_fieldNote(array ('name' => 'postcode', 'text' => ' '. (xtc_not_null(ENTRY_POST_CODE_TEXT) ? '<span class="inputRequirement">'.ENTRY_POST_CODE_TEXT.'</span>' : ''))));
$smarty->assign('INPUT_CITY', xtc_draw_input_fieldNote(array ('name' => 'city', 'text' => ' '. (xtc_not_null(ENTRY_CITY_TEXT) ? '<span class="inputRequirement">'.ENTRY_CITY_TEXT.'</span>' : ''))));

if (ACCOUNT_STATE == 'true') {
$smarty->assign('state', '1');

if ($process == true) {
if ($entry_state_has_zones == true) {
$zones_array = array ();
$zones_query = xtc_db_query("select zone_name from ".TABLE_ZONES." where zone_country_id = '".(int) $country."' order by zone_name");
while ($zones_values = xtc_db_fetch_array($zones_query)) {
$zones_array[] = array ('id' => $zones_values['zone_name'], 'text' => $zones_values['zone_name']);
}
$state_input = xtc_draw_pull_down_menuNote(array ('name' => 'state', 'text' => ' '. (xtc_not_null(ENTRY_STATE_TEXT) ? '<span class="inputRequirement">'.ENTRY_STATE_TEXT.'</span>' : '')), $zones_array);
} else {
$state_input = xtc_draw_input_fieldNote(array ('name' => 'state', 'text' => ' '. (xtc_not_null(ENTRY_STATE_TEXT) ? '<span class="inputRequirement">'.ENTRY_STATE_TEXT.'</span>' : '')));
}
} else {
$state_input = xtc_draw_input_fieldNote(array ('name' => 'state', 'text' => ' '. (xtc_not_null(ENTRY_STATE_TEXT) ? '<span class="inputRequirement">'.ENTRY_STATE_TEXT.'</span>' : '')));
}

$smarty->assign('INPUT_STATE', $state_input);
} else {
$smarty->assign('state', '0');
}

if ($_POST['country']) {
$selected = $_POST['country'];
} else {
$selected = STORE_COUNTRY;
}

$smarty->assign('SELECT_COUNTRY', xtc_get_country_list(array ('name' => 'country', 'text' => ' '. (xtc_not_null(ENTRY_COUNTRY_TEXT) ? '<span class="inputRequirement">'.ENTRY_COUNTRY_TEXT.'</span>' : '')), $selected));
$smarty->assign('INPUT_TEL', xtc_draw_input_fieldNote(array ('name' => 'telephone', 'text' => ' '. (xtc_not_null(ENTRY_TELEPHONE_NUMBER_TEXT) ? '<span class="inputRequirement">'.ENTRY_TELEPHONE_NUMBER_TEXT.'</span>' : ''))));
$smarty->assign('INPUT_FAX', xtc_draw_input_fieldNote(array ('name' => 'fax', 'text' => ' '. (xtc_not_null(ENTRY_FAX_NUMBER_TEXT) ? '<span class="inputRequirement">'.ENTRY_FAX_NUMBER_TEXT.'</span>' : ''))));
$smarty->assign('INPUT_PASSWORD', xtc_draw_password_fieldNote(array ('name' => 'password', 'text' => ' '. (xtc_not_null(ENTRY_PASSWORD_TEXT) ? '<span class="inputRequirement">'.ENTRY_PASSWORD_TEXT.'</span>' : ''))));
$smarty->assign('INPUT_CONFIRMATION', xtc_draw_password_fieldNote(array ('name' => 'confirmation', 'text' => ' '. (xtc_not_null(ENTRY_PASSWORD_CONFIRMATION_TEXT) ? '<span class="inputRequirement">'.ENTRY_PASSWORD_CONFIRMATION_TEXT.'</span>' : ''))));
$smarty->assign('FORM_END', '</form>');
$smarty->assign('language', $_SESSION['language']);
$smarty->caching = 0;
$smarty->assign('BUTTON_SUBMIT', xtc_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE));
$main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/create_account.html');

$smarty->assign('language', $_SESSION['language']);
$smarty->assign('main_content', $main_content);
$smarty->caching = 0;
if (!defined(RM))
$smarty->load_filter('output', 'note');
$smarty->display(CURRENT_TEMPLATE.'/index.html');
include ('includes/application_bottom.php');
?>[/PHP]

währ echt nett wenn du das problem findest und es mir sagst.

vielen vielen vielen dank im vorraus.

mfg. snwue

Link to comment
Share on other sites

... habe den kunden nun die nummern vergeven und die letzte ist

V0702-10093

Wie jetzt? Hast Du etwa händisch einem Kunden die Nummer V0702-10093 gegeben? Also ich meine incl. V und 0702 und - und 10093 ???

Du darfst im Adminbereich NUR Nummern vergeben - Ohne Buchstaben ... nur Zahlen ... also NUR 10093

Link to comment
Share on other sites

Hi,

wie viele registrierte Kunden hast Du denn?

Das was ich an Deiner Stelle versuchen würde, wäre folgendes (ist ohne Gewähr ... bitte vorher Backup von DB und Shop machen!):

1.

Lösche im Admin die bereits manuell vergebenen Kundennummern, die aus Buchstaben und Zahlen bestehen.

2.

Vergib einem bereits registrierten Kunden eine Kundennummer, die nur aus Zahlen besteht und die Du später weiterführen willst (z.B. 10094).

3.

Dann richtest Du das Script ein und testest es, indem Du selbst ein paar Test-Kunden registrierst.

4.

Wenn es funktioniert, kannst Du den bereits "echten" registrierten Kunden (die, denen Du vorher schon mal händisch eine Kundennummer zugewiesen hattest) erneut manuell eine Kundennummer incl. Buchstaben UND Zahlen zuweisen.

Ich weis nicht, ob das funktioniert, da ich keine Möglichkeit habe es selbst zu testen. Ich hoffe, das Du weist wie ich es meine!

Gruß

back@me

Link to comment
Share on other sites

genau sowas ging mir auch durch den kopf.

also ich probiers mal aus vielleicht gehts ja..

aber noch ne frage, da wenn ich im admin menü auf die kundendaten dann klicke dann seh ich z.b. ja die nummer aber ohne die buchstaben, werden dann die buchstaben erscheinen ?

Link to comment
Share on other sites

genau sowas ging mir auch durch den kopf.

also ich probiers mal aus vielleicht gehts ja..

Jo, ich bitte darum ! Sollte funktionieren.

aber noch ne frage, da wenn ich im admin menü auf die kundendaten dann klicke dann seh ich z.b. ja die nummer aber ohne die buchstaben, werden dann die buchstaben erscheinen ?

Noch ne Frage :eek: :eek: :eek: ??? War´n Scherz *lach* ... frag ruhig ;) !

Wenn die Codeveränderungen nun auch endlich mal bei Dir funktionieren sollten, siehst Du natürlich auch die Buchstaben UND die Zahlen der KD-Nummer im Admin. Schau Dir mal den Screenshot an (aber ich extra nur für Dich gemacht), so sieht das bei mir aus:

kundennummerimadmin.gif

Gruß

back@me

Link to comment
Share on other sites

hey danke dir aber irgendwie geht es trotzdem nicht.

Kann nicht sein! Geh alle Schritte noch einmal von vorne durch und schau, ob Du nicht noch etwas verändert hast, was nicht sein darf. Ich glaube, an dieser Stelle kann ich Dir von hier aus nicht mehr weiter helfen. Vielleicht weis jemand anders noch weiter.

Sorry

kannst du mir noch bitte verraten wo ich diese reihenfolge da ändere?

also z.b. wie bei dir:

Logins, KD-Nr. , Nachname , Vorname usw....

Die Reihenfolge ändern? Ich habe meine Reihenfolge nicht verändert! Kann ich Dir auch nicht erklären. Ich würde sowieso vorschlagen, erst das eine Problem zu lösen, bevor Du Dich auf das nächste stürzt! Ist denn die Reihenfolge soooo wichtig?

Gruß

Link to comment
Share on other sites

Hallo alle zusammen!

Obwohl ich schon manche Sachen mit der umschreiberei hinbekommen habe, tue ich mich hiermit etwas schwer.

Mir reicht die Kundennummer z.B. ab 10200 fortlaufend aus. In der Adminansicht die KD.NR. wie im screenshot wäre super (KD-Nr. , Nachname , Vorname). Muss ich in der DB auch etwas ändern, da der Shop schon online ist? Kann man die KD-NR auch bei der Auflistung der Bestellungen einbinden?

Irgendwie habe ich wohl eine Denkblokade. Eine kurze Erklaerung waere nett, auch wenn es hier bestimmt schon steht.

MfG

Bernd

Link to comment
Share on other sites

  • 2 weeks later...

hey danke dir aber irgendwie geht es trotzdem nicht.

kannst du mir noch bitte verraten wo ich diese reihenfolge da ändere?

also z.b. wie bei dir:

Logins, KD-Nr. , Nachname , Vorname usw.... und was noch wichtig ist ist firmenname

Sorry, die Reihenfolge ist nicht verändert, ich hatte mir nur das Bild zusammengebaut, da ich keine Kundendaten preisgeben wollte. Nun habe ich einen originalscreenshot eingefügt mit zwei Testkunden ... so sieht es richtig aus!

Hallo alle zusammen!

Obwohl ich schon manche Sachen mit der umschreiberei hinbekommen habe, tue ich mich hiermit etwas schwer.

Mir reicht die Kundennummer z.B. ab 10200 fortlaufend aus. In der Adminansicht die KD.NR. wie im screenshot wäre super (KD-Nr. , Nachname , Vorname). Muss ich in der DB auch etwas ändern, da der Shop schon online ist? Kann man die KD-NR auch bei der Auflistung der Bestellungen einbinden?

Irgendwie habe ich wohl eine Denkblokade. Eine kurze Erklaerung waere nett, auch wenn es hier bestimmt schon steht.

MfG

Bernd

Hast Du mittlerweile Dein Problem lösen können? Ist doch eigentlich alles mehr als ausführlich hier im Beitrag erklärt!

Link to comment
Share on other sites

Hallo,

habe die automatische Kundennummernvergabe bei mir eingesetzt.

Meine Version: 3.0.4 SP2

Hier habe ich Die Datenschutzerklärung aus diesem Post eingebunden: http://www.xt-commerce.com/forum/s-recht-gesetz-im-onlinehandel/43435-code-fuer-datenschutzbelehrung-noch-nicht-komplett.html#post215168

Als ich mich nun als Neukunde registrieren wollte erhielt ich folgenden Fehlermeldung: Unknown column 'datensg' in 'field list'

Also fehlte etwas in der Tabelle "customers" , nähmlich der Eintrag oder vielmehr das Feld "datensg"

Vorher funktionierte die Anmeldung mit Datenschutz einwandfrei.

Also einfach besagtes "datensg" in der Datenbank anlegen und schon funktioniert es. Zumindest bei mir.

Gruß,

merlin76

Link to comment
Share on other sites

  • 1 year later...
  • 2 months later...

Hallo snwue!

Lass mich Dich jetzt bitte mal dumm anmachen

--> MACH MAL DIE AUGEN AUF --> ZU VIEL GEFEIERT GESTERN??? --> STEHT DOCH ALLES HIER IM BEITRAG --> MITDENKEN HILFT!!!

(ist natürlich nicht bös gemeint)

Die Lösung findest Du eigentlich mehrmals in diesem Beitrag. Unter Anderem im Post #21

-----------------------

Aber weil Du so lieb gefragt hast, hier noch einmal die Anleitung für Dich und alle anderen Leute, die heute noch nicht die Augen richtig "auf krigen":

in der datei create_account.php NACH Zeile:

include ('includes/application_top.php');

einfügen:

// Begin automatische Kundennummernvergabe [beliebige Zeichen][Jahr][-][fortlaufende Zahl]
require_once (DIR_FS_INC.'xtc_random_charcode.inc.php');
require_once (DIR_FS_INC.'xtc_rand.inc.php');
function new_customer_id($space='-'){
$new_cid='';
$start_cid = 3490;
$year = date("y");
$sign = 'V';
$cid_query = xtc_db_query("SELECT customers_cid FROM ".TABLE_CUSTOMERS." ORDER BY customers_date_added DESC LIMIT 1");
$last_cid = xtc_db_fetch_array($cid_query);
$arr_cid = explode($space,$last_cid['customers_cid']);
if($arr_cid[1]
? $new_cid = $sign . $year . $space . ($arr_cid[1]+1)
: $new_cid = $sign . $year . $space . $start_cid);

return $new_cid;
}
// End automatische Kundennummernvergabe [beliebige Zeichen][Jahr][-][fortlaufende Zahl][/php]

[font=Verdana][size=2][color=red][color=red]und [b]VOR[/b] der Zeile [/color][/color][/size][/font]

[font=Verdana][size=2][color=red][color=red]

xtc_db_perform(TABLE_CUSTOMERS, $sql_data_array);

[/color][/color][/size][/font][font=Verdana][size=2][color=red][color=red]einfügen[/color][/color][/size][/font]

[left]

[php]$sql_data_array['customers_cid'] = new_customer_id();

------------------

Ergebnis:

[$sign][ $year][$space] [$arr_cid]

[beliebige Zeichen][Jahr] [-][fortlaufende Zahl]

Mein erster Kunde bekam nun die Nummer:

V07-3490

Mein zweiter Kunde die Nummer:

V07-3491

Der dritte:

V07-3492

ACHTUNG:

- Es MUSS bereits ein Kunde mit einer Kundennummer existieren.

- Die Zahl im Code $start_cid = 3490; kann durch eine beliebige ersetze werden (sie muss aber grösser sein, als die zuletzt vergebene Kundennummer) Eine Kundennummer, die nicht mit einer glatten Zahl beginnt (z.B. 1000, 2000 oder 3000) sieht dem Kunden gegenüber immer besser aus. Aus diesem Grund habe ich die 3490 gewählt!

- Der oder die Buchstaben im Code $sign = 'V'; können durch beliebige ersetzt werden

- Das Zeichen im Code function new_customer_id($space='-'){ kann durch ein beliebiges ersetzt werden

Ich denke, dass Du es selbst nun hinbekommst!

Ich hoffe, ich habe an alles gedacht

back@me

Wie schreibe ich jetzt diesen Code oben so um, dass nur die Kundennummer angezeigt wird? Z.B. 11590 ohne Vorzeichen, Jahr und Bindestrich!

Kann mir einer sagen wie ich das mache?

Danke schon mal.

Viele Grüße

Peter

Link to comment
Share on other sites

Also hab es heraus gefunden wie man "nur" die Kundennummer vergibt:

Beispiel: 11591 ohne irgendwelche zusätzlichen Zeichen.



// Begin automatische Kundennummernvergabe [fortlaufende Zahl]
require_once (DIR_FS_INC.'xtc_random_charcode.inc.php');
require_once (DIR_FS_INC.'xtc_rand.inc.php');
function new_customer_id($space=' '){
$new_cid='';
$start_cid = 11591;
$cid_query = xtc_db_query("SELECT customers_cid FROM ".TABLE_CUSTOMERS." ORDER BY customers_date_added DESC LIMIT 1");
$last_cid = xtc_db_fetch_array($cid_query);
$arr_cid = explode($space,$last_cid['customers_cid']);
if($arr_cid[1]
? $new_cid = $space . ($arr_cid[1]+1)
: $new_cid = $space . $start_cid);

return $new_cid;
}
// End automatische Kundennummernvergabe [fortlaufende Zahl]

[/PHP]

Ansonsten das beachten, was bereits bekannt ist. >>> Siehe letzten Beitrag von mir oben...

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

Hallo zusammen,

Ich benutze schon erfolgreich die automatische Erzeugung von Kundennummern

in der Datei create_account.php wie unten beschrieben:

nach

Zeile: include ('includes/application_top.php');

einfügen:

// Begin automatische Kundennummernvergabe [beliebige Zeichen][Jahr][-][fortlaufende Zahl]
require_once (DIR_FS_INC.'xtc_random_charcode.inc.php');
require_once (DIR_FS_INC.'xtc_rand.inc.php');
function new_customer_id($space='-'){
$new_cid='';
$start_cid = 1500;
$year = date("y");
$month = date("m");
$sign = 'BK';
$cid_query = xtc_db_query("SELECT customers_cid FROM ".TABLE_CUSTOMERS." ORDER BY customers_date_added DESC LIMIT 1");
$last_cid = xtc_db_fetch_array($cid_query);
$arr_cid = explode($space,$last_cid['customers_cid']);
if($arr_cid[1]

? $new_cid = $sign . $year . $month . $space . ($arr_cid[1]+1)
: $new_cid = $sign . $year . $month . $space . $start_cid);

return $new_cid;
}
// End automatische Kundennummernvergabe [beliebige Zeichen][Jahr][-][fortlaufende Zahl]
[/PHP]

und vor der Zeile

xtc_db_perform(TABLE_CUSTOMERS, $sql_data_array);

einfügen:

[PHP]//Automatisch Kundennummer fortlaufend anlegen:
$sql_data_array['customers_cid'] = new_customer_id();
[/PHP]

und in Admin habe ich es so gelöst:

in der Datei admin/create_account.php nach

Zeile 1: require ('includes/application_top.php');

[PHP]// Begin automatische Kundennummernvergabe [beliebige Zeichen][Jahr][-][fortlaufende Zahl]
function new_customer_id($space='-'){
$new_cid='';
$start_cid = 1500;
$year = date("y");
$month = date("m");
$sign = 'BK';
$cid_query = xtc_db_query("SELECT customers_cid FROM ".TABLE_CUSTOMERS." ORDER BY customers_date_added DESC LIMIT 1");
$last_cid = xtc_db_fetch_array($cid_query);
$arr_cid = explode($space,$last_cid['customers_cid']);
if($arr_cid[1]

? $new_cid = $sign . $year . $month . $space . ($arr_cid[1]+1)
: $new_cid = $sign . $year . $month . $space . $start_cid);

return $new_cid;
}
// End automatische Kundennummernvergabe [beliebige Zeichen][Jahr][-][fortlaufende Zahl]
[/PHP]

und vor der Zeile Nr. 305:

xtc_db_perform(TABLE_CUSTOMERS, $sql_data_array);

einfügen

[PHP]//Automatisch Kundennummer fortlaufend anlegen:
$sql_data_array['customers_cid'] = new_customer_id();
[/PHP]

jetzt möchte ich auch dass gleiche für PayPal Express. Ich denke das wäre in:

/includes/classes/paypal_checkout.php

aber wie? Ich bekomme Fehlermeldungen in meinen Versuchen. Habt Ihr vielleicht eine Löschung parat?

In Moment muss ich manuell die Kundennummer eintragen für jeden neuen PayPal Express Kunden. Sonst generiert das System erneut die erste Kundennummer ( bei uns 1500 ) für die neuen folgenden Kundenanmeldungen in create_account.php.

Das sorgt für grosse Probleme wenn wir es nicht rechtzeitig merken.

Ich bin dankbar für jede Hilfe!!!

Stearinos

Link to comment
Share on other sites

Einfach Function Name ändern!:

in /includes/classes/paypal_checkout.php

nach: require_once(DIR_FS_INC . 'xtc_write_user_info.inc.php');

einfügen:

// Begin automatische Kundennummernvergabe [beliebige Zeichen][Jahr][-][fortlaufende Zahl] 
function fresh_customer_id($space='-'){
$new_cid='';
$start_cid = 1500;
$year = date("y");
$month = date("m");
$sign = 'BK';
$cid_query = xtc_db_query("SELECT customers_cid FROM ".TABLE_CUSTOMERS." ORDER BY customers_date_added DESC LIMIT 1");
$last_cid = xtc_db_fetch_array($cid_query);
$arr_cid = explode($space,$last_cid['customers_cid']);
if($arr_cid[1]

? $new_cid = $sign . $year . $month . $space . ($arr_cid[1]+1)
: $new_cid = $sign . $year . $month . $space . $start_cid);

return $new_cid;
}
// End automatische Kundennummernvergabe [beliebige Zeichen][Jahr][-][fortlaufende Zahl] [/PHP]

und vor der Zeile:

xtc_db_perform(TABLE_CUSTOMERS, $sql_data_array);

einfügen:

[PHP]//Automatisch Kundennummer fortlaufend anlegen:
$sql_data_array['customers_cid'] = fresh_customer_id(); [/PHP]

Dann die Fehlermeldungen sind weg!

mfg,

Stearinos

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
  • Create New...