snwue Posted February 16, 2007 Report Share Posted February 16, 2007 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 More sharing options...
back@me Posted February 16, 2007 Report Share Posted February 16, 2007 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 More sharing options...
snwue Posted February 16, 2007 Report Share Posted February 16, 2007 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 More sharing options...
back@me Posted February 16, 2007 Report Share Posted February 16, 2007 ... 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" . 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 More sharing options...
snwue Posted February 16, 2007 Report Share Posted February 16, 2007 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 More sharing options...
back@me Posted February 16, 2007 Report Share Posted February 16, 2007 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 ? 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 More sharing options...
snwue Posted February 16, 2007 Report Share Posted February 16, 2007 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 More sharing options...
back@me Posted February 16, 2007 Report Share Posted February 16, 2007 ... 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 More sharing options...
snwue Posted February 16, 2007 Report Share Posted February 16, 2007 achso deswegen gings nicht oder wie? aber ich will doch dass alle meine kunden diese kundennummer haben V(Jahr)(Monat)-Nummer müssen dann sich die kunden praktisch alle neu regestrieren oder wie? der php code stimmt soweit oder? mfg. Link to comment Share on other sites More sharing options...
back@me Posted February 16, 2007 Report Share Posted February 16, 2007 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 More sharing options...
snwue Posted February 16, 2007 Report Share Posted February 16, 2007 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 More sharing options...
back@me Posted February 17, 2007 Report Share Posted February 17, 2007 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: ??? 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: Gruß back@me Link to comment Share on other sites More sharing options...
snwue Posted February 19, 2007 Report Share Posted February 19, 2007 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 Link to comment Share on other sites More sharing options...
back@me Posted February 19, 2007 Report Share Posted February 19, 2007 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 More sharing options...
bernd_blumentritt Posted February 25, 2007 Report Share Posted February 25, 2007 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 More sharing options...
back@me Posted March 7, 2007 Report Share Posted March 7, 2007 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 More sharing options...
snwue Posted March 7, 2007 Report Share Posted March 7, 2007 also das mit der kundennummer funzt bei mir immernoch nicht, kann es sein dass mein vorgänger irgendwie bei der konfiguration des shops was ausgeschaltet hat oder sonst was verändert hat? hab xtc 3.04 sp1... Link to comment Share on other sites More sharing options...
back@me Posted March 7, 2007 Report Share Posted March 7, 2007 Hi, in wie fern Dein Vorgänger den Quellcode verändert hat, kann er Dir wahrscheinlich nur selber verraten. Frag Ihn doch mal! Ansonsten kann Dir dann wohl hier niemand bzgl. dessen weiterhelfen. Gruß back@me Link to comment Share on other sites More sharing options...
merlin76 Posted March 11, 2007 Report Share Posted March 11, 2007 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 More sharing options...
Fussly Posted July 11, 2008 Report Share Posted July 11, 2008 Hallo zusammen, gibt es hier schon eine Lösung für den Adminbereich? Danke Fussly Link to comment Share on other sites More sharing options...
car_driver Posted September 19, 2008 Report Share Posted September 19, 2008 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 More sharing options...
car_driver Posted September 20, 2008 Report Share Posted September 20, 2008 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 More sharing options...
MAD King Posted November 19, 2008 Report Share Posted November 19, 2008 Vielen Dank. Funktioniert 1A Link to comment Share on other sites More sharing options...
stearinos Posted November 29, 2008 Report Share Posted November 29, 2008 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 More sharing options...
stearinos Posted December 2, 2008 Report Share Posted December 2, 2008 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 More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.