PDA

Shop Support News Archive - Shopbetreiber News -> Forum : xt eCommerce Templates Module SEO Support: GPL Shop: Keine Kundennummer Vorhanden ?


Baby
05.04.2006, 15:16
Hallo !

Wenn sich jemand neu im Shop Anmeldet wird keine Kundennummer generriert ???

Wo stelle ich das ein ??? <_<

Baby
05.04.2006, 18:06
wo oder wie mache ich das ?

bluemoon
05.04.2006, 20:55
wenn Du im Admin Menü den entsprechenden Kunden aufrufst kannst Du eine Kundennummer vergeben oder aber den Code Schnipsel hier verwenden .

Wnichtig ! - bestehende Datensätze werden nicht geändert ; nur Neue werden mit Kundennummer angelegt.

Außerdem muss mindestens 1 Kundenummer mit 1000 vergeben sein, damit ab der nächst höheren gezählt wird.

In manchen Installationen kann es zu Problemen kommen, bzw. das ganze läft evt. nicht ;
dann das $start_cid aus Zeile 2 entfernen und es sollte gehen.


Folgende Dateien müssen ergänzt werden : create_account.php sowie /admin/create_account.php

Suche:

xtc_db_perform(TABLE_CUSTOMERS, $sql_data_array);

Und füge DAVOR folgendes ein:

****** // Automatisch fortlaufende Kundennummer erzeugen:
$start_cid = 1000;
$cid_array=array(0);
****
$cid_query = xtc_db_query("select customers_cid as maxnr from " . TABLE_CUSTOMERS . " where 1;");
while($row=mysql_fetch_row($cid_query))
{
**$cid_array[]=$row[0];
}
sort($cid_array, SORT_NUMERIC);
$maxnr = $cid_array[count($cid_array)-1];
if(!$maxnr){$new_cid = $start_cid;}else{$new_cid = $maxnr+1;}
$sql_data_array['customers_cid'] = $new_cid;
// End Kundennummer Mod

Baby
06.04.2006, 16:04
Hallo ,

Echt Super es funktioniert !!!

Dickes Lob an bluemoon und nom

hurgl
11.04.2006, 21:30
Hallo.
Ich hab immer noch mein Problem mit der Kundennummer, welches ich schon mal geschildert hatte, leider darauf keine Lösung.
Deswegen nochmal ein Versuch:
In meiner Tabelle customers gibt es 2 (!) Kundennummern (customers_id | customers_cid). Wahrscheinlich kam das irgendwie durch das Update von 3.03 auf 3.04SP1 zustande.

Das Problem ist folgendes, dass die Kundennummer customers_cid bei der Account-Erstellung nicht gefüllt wird (die customers_id hingegen schon).
Nun greifen leider die ganzen Emails und Rechnungen, also auch Sachen an den Kunden, auf die customers_cid zurück, welche natürlich dann nicht dargestellt wird, da ja leer. Das ist natürlich unschön, denn ich würde gerne dem Kunden sein Kundennummer mitteilen wollen.

Ich habe schon versucht, in den Email-Dateien eine andere Variable zu nehmen, dass die customers_id gezogen wird, doch das hat leider nicht geklappt.

Kann mir bitte dringend jemand helfen, das Problem zu lösen?
Alternative:
a) entweder bei der Account-Erstellung das Feld customers_cid ebenfalls versorgen (hab ich versucht, kriegs nicht hin)
B) oder die Emails und Rechnungen auf die customers_id umstellen (was wohl das sauberste wäre, ich krieg die Variable da aber nicht mit Inhalt gefüllt)

Ich danke schon mal für hoffentlich viele konstruktive Antworten.
Gruss,
hurgl.

hurgl
12.04.2006, 22:50
SUPER! Hat geklappt!
Vielen vielen Dank.

Auch wenn ich bis jetzt nicht verstehe, warum xtc das nicht standardmässig drin hat. Sowas braucht doch jeder Shop, oder? Naja, man muss auch nicht alle wissen :-).

Jedenfalls nochmal vielen Dank.

Gruss, hurgl.

Mr. Modding
13.04.2006, 10:13
Naja ich brauche das nicht! da ich ein anderes Rechnungs System benutze, das mir die Kundennummern generiert, lege ich die kunden an, und trage dann die Kundennummer ein.

xilef
13.04.2006, 16:54
Diese Funktion schon integriert in xt:c wäre sicherlich nicht verkehrt.
Sie sollte natürlich de- aktivierbar sein.

gollumHN
13.04.2006, 17:17
dem kann ich mich nur anschließen. war anfänglich überrascht, als jeder kunde ohne kunden-nr. angelegt wurde. erstaunlich war für mich ebenfalls, dass das kundennummer-feld sogar farblich hervorgehoben wurde. also, bereits als etwas wnichtiges gekennzeichnet war - jedoch ohne jeglichen nutzwert! :D

gollumHN
09.05.2006, 18:37
HIIIIIIIILFEEEEEEE...!

alle meine neukunden erhalten die gleiche kundennummer! was läuft da schief bei mir? snief :blink:

habe das zuletzt gepostete script in admin/create_account.php hineinkopiert, um eine automatisch fortlaufenden nummerierung zu erhalten. doch es funktioniert nicht.

wer kann mir weiterhelfen?

nom
09.05.2006, 20:45
poste mal deine create_account.php

gollumHN
09.05.2006, 21:17
das ist der code aus dem verzeichnis... shop/create_account.php

''>ZITAT</div><?php

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

XT-Commerce - community made shopping
http://www.xt-commerce.com (http://anonym.to/?http://www.xt-commerce.com)

Copyright © 2003 XT-Commerce
-----------------------------------------------------------------------------------------
based on:
© 2000-2001 The Exchange Project (earlier name of osCommerce)
© 2002-2003 osCommerce(create_account.php,v 1.63 2003/05/28); www.oscommerce.com
© 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 (http://anonym.to/?http://www.oscommerce.com/community/contributions,282)
Copyright © Strider | Strider@oscworks.com
Copyright (c Nick Stanko of UkiDev.com, nick@ukidev.com
Copyright © Andre ambidex@gmx.net
Copyright © 2001,2002 Ian C Wilson http://www.phesis.org (http://anonym.to/?http://www.phesis.org)


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

include ('includes/application_top.php');

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_get_countries.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)."'");
$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_ad ded' => '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);

// Automatisch fortlaufende Kundennummer erzeugen:
$start_cid = 1014;

$cid_query = xtc_db_query("SELECT MAX(customers_cid) AS maxnr FROM ".TABLE_CUSTOMERS);
$cid = xtc_db_fetch_array($cid_query);

if($cid['maxnr']){
$start_cid = $cid['maxnr']+1;
}

$sql_data_array['customers_cid'] = $start_cid;
// End Kundennummer Mod

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) ? ''.ENTRY_GENDER_TEXT.'' : '')), '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) ? ''.ENTRY_FIRST_NAME_TEXT.'' : ''))));
$smarty->assign('INPUT_LASTNAME', xtc_draw_input_fieldNote(array ('name' => 'lastname', 'text' => ' '. (xtc_not_null(ENTRY_LAST_NAME_TEXT) ? ''.ENTRY_LAST_NAME_TEXT.'' : ''))));

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) ? ''.ENTRY_DATE_OF_BIRTH_TEXT.'' : ''))));

} 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) ? ''.ENTRY_EMAIL_ADDRESS_TEXT.'' : ''))));

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) ? ''.ENTRY_COMPANY_TEXT.'' : ''))));
} 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) ? ''.ENTRY_VAT_TEXT.'' : ''))));
} 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) ? ''.ENTRY_STREET_ADDRESS_TEXT.'' : ''))));

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) ? ''.ENTRY_SUBURB_TEXT.'' : ''))));

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

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

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) ? ''.ENTRY_STATE_TEXT.'' : '')), $zones_array);
} else {
$state_input = xtc_draw_input_fieldNote(array ('name' => 'state', 'text' => ' '. (xtc_not_null(ENTRY_STATE_TEXT) ? ''.ENTRY_STATE_TEXT.'' : '')));
}
} else {
$state_input = xtc_draw_input_fieldNote(array ('name' => 'state', 'text' => ' '. (xtc_not_null(ENTRY_STATE_TEXT) ? ''.ENTRY_STATE_TEXT.'' : '')));
}

$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) ? ''.ENTRY_COUNTRY_TEXT.'' : '')), $selected));
$smarty->assign('INPUT_TEL', xtc_draw_input_fieldNote(array ('name' => 'telephone', 'text' => ' '. (xtc_not_null(ENTRY_TELEPHONE_NUMBER_TEXT) ? ''.ENTRY_TELEPHONE_NUMBER_TEXT.'' : ''))));
$smarty->assign('INPUT_FAX', xtc_draw_input_fieldNote(array ('name' => 'fax', 'text' => ' '. (xtc_not_null(ENTRY_FAX_NUMBER_TEXT) ? ''.ENTRY_FAX_NUMBER_TEXT.'' : ''))));
$smarty->assign('INPUT_PASSWORD', xtc_draw_password_fieldNote(array ('name' => 'password', 'text' => ' '. (xtc_not_null(ENTRY_PASSWORD_TEXT) ? ''.ENTRY_PASSWORD_TEXT.'' : ''))));
$smarty->assign('INPUT_CONFIRMATION', xtc_draw_password_fieldNote(array ('name' => 'confirmation', 'text' => ' '. (xtc_not_null(ENTRY_PASSWORD_CONFIRMATION_TEXT) ? ''.ENTRY_PASSWORD_CONFIRMATION_TEXT.'' : ''))));
$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('PASSWORD', $password_current);
$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');
?>
[/b]

gollumHN
10.05.2006, 22:32
kann mir jemand bei meinem problem mit den kundennummern helfen, die mehrfach vergeben werden?

merci

- pete -

hendrik
10.05.2006, 23:03
Geh mal in phpmyadmin und führe folgenden SQl-Befehl aus.

SELECT MAX(customers_cid) AS maxnr FROM customers

Bekommst du etwas sinvolles heraus (höchste bisher vergebene Kundennummer)?

Hast du schon an einen Kunden eine alphanumerische Kundennummer vergeben (mit Buchstaben)? In diesem Fall funktioniert die Erweiterung nicht.

Gruss
Hen

gollumHN
11.05.2006, 18:56
hallo hen,

danke für deine hilfe. ich habe die sql-abfrage ausgeführt und folgende meldung erhalten:

maxnr
9

und das würde genau dem sachverhalt entsprechen: jeder neukunde (und das sind zwischenzeitlich schon einige) erhält die "10" als kundennr.

habe keine alpha-numerische kdnr. vergeben.

was kann/soll ich machen?
ich könnte manuell alle kundennummern, beginnend ab 1000, vergeben und die variable für die cid aktualisieren. wobei ich dies auch schon getestet habe. es hätte die nummer 1021 vergeben werden sollen. doch mein testkunde bekam wieder die "10".

bin auf weitere hilfreiche ideen gespannt.

gruss

- pete -

nom
11.05.2006, 21:44
Wenn die 10 vergeben ist, dass sollte die Abfrage auch die 10 ausgeben.

gollumHN
12.05.2006, 07:08
hmmm... ich verstehe nicht ganz, was du mir damit sagen möchtest, nom.

die sql-abfrage ergab den wert 9.
allerdings wird jedem neukunden die nummer 10 vergeben, die zwischenzeitlich mehrfach vorhanden ist.

ich verliere echt so langsam die lust an xtc, wenn es selbst bei solch rudimentären dingen, wie einer automatischen nummerierung, nur probleme gibt. die gesamte software erscheint mir wie ein unausgereifter löchriger käse. ein profesionelles arbeiten ist nur eingeschränkt möglich.

frust :angry:

hendrik
12.05.2006, 07:43
Hab gerade mal experimentiert. Die SQL-maxnr Funktion scheint nicht korrekt zu arbeiten. Benutze die Version von Bluemoon. Diese hat auf Anhieb funktioniert.

Du hast übrigens recht. XTC ist ein großer Bastelkasten. Wer mit den Eigenschaften der Grundinstallation nicht zufrieden ist sollte schon Heimwerkerelan mitbringen. :P

Gruss
Hen

nom
12.05.2006, 10:51
hm, bei mir funktioniert einwandfrei.
Welche MySQL Version setzt du (@gollumHN) ein?

hendrik
12.05.2006, 10:58
@segej

Viellenicht kannst du es auch reproduzieren. Ich nutze mysql 4.1.12

5 Kunden, 2 Versuchszustände:
custumers_cin 1,2,3,4,99 -> maxnr=99
custumers_cin 1,2,3,4,100 -> maxnr=4


Gruss
Hen

gollumHN
12.05.2006, 21:39
das script von bluemoon läuft auch bei mir fehlerfrei.
super!

ein problem weniger in xtc :D

nun muss ich nur noch lösungen für meine anderen 999 probleme finden, wie z.b. ein zusätzliches eingabefeld in der "create_account", in das man eine empfehlungs-nr. eintragen kann. :)

danke, für eure hilfe

Cindy
21.05.2006, 02:35
Hallo,

ich wollte mich mal bedanken für die ausführliche Anleitung, denn danach habe ich schon alle weile gesucht. Und da es hier netter von statten geht (habe mal einige Themen so durchgelesen), habe ich mich auch gleich registriert :)

In einem anderen Forum wurde man nur auf eine kostenpflnichtige Downloadseite verwiesen.

Also vielen Dank!! (schön das das auch ohne Mehrkosten funktioniert)

voliere.net
21.05.2006, 08:52
''>ZITAT(Cindy @ May 21 2006, 2:35) 5220
Und da es hier netter von statten geht (habe mal einige Themen so durchgelesen), habe ich mich auch gleich registriert :)

In einem anderen Forum wurde man nur auf eine kostenpflnichtige Downloadseite verwiesen.

Also vielen Dank!! (schön das das auch ohne Mehrkosten funktioniert)
[/b]

ich glaube, dass das der überwiegende teil der user hier im forum erkannt hat. hier sind zwar noch nicht so viele user, aber die die hier schreiben tun das gern (mein ich mal so). auch ein dank von mir.

Barcelo
27.05.2006, 13:13
Hallo zusammen,

tolle Sache das mit der automatisch vergebenen Kundennummer. :)

Hier viellenicht noch ein kleiner Nachtrag dazu:

Ich hatte mich gewundert, daß bei der manuellen Erstellung eines neuen Kundenkontos
unter Kundennummer keine automatisch gesetzte Kundennummer eingetragen wird
(obwohl ich in beiden create-Dateien die Code-Änderungen eingetragen hatte).

Das Form-Feld ist leer bei der manuellen Kontoerstellung, jedoch wird die Kundennummer
bei der Bestätigung der Kontoerstellung dann generiert und eingetragen - also nicht wundern,
die Kundennummer wird auf jeden Fall vergeben!!!

Wäre evtl. eine kleine Schönheitskorrektur, wenn die automatisch erstellte Kundennummer
schon direkt im Form-Feld stehen würde.

Danke an alle, die diese Erweiterung erstellt haben! Tolle Sache :)

VG, Oliver