Shop Support News Archive - Shopbetreiber News -> Forum : xt eCommerce Templates Module SEO Support: GPL Shop: Kunden-zugangsdaten
gollumHN
28.02.2006, 16:22
nun istz ich hier vor diesem script
und weiss nicht, was geschehen ist.
denn eigentlich und überhaupt,
hab ich kopiert und auch geraubt,
eingefügt und rausgelöscht,
doch funktionieren tut es nöscht.
ta-taa... ta-taa... ta-taa...
so, das ist mein kleiner beitrag zur narrenzeit gewesen, die ich jedes jahr aufs neue zu hassen lerne!
was den meisten xtc-usern bekannt sein dürfte ist die tatsache, dass jeder registrierte neukunde eine begrüßungsmail erhält. soweit alles gut.
nun habe ich mir in meinen schwäbischen tüftler-kopf gesetzt, dass es doch ein toller kundenservice wäre, gleichzeitig mit dieser email dem kunden seine zugangsdaten zu übermitteln (passwort etc.). in meinem kopf funktioniert die idee einwandfrei... doch die realität sieht frustrierend anders aus.
letztendlich dreht es sich um diesen kurzen absatz in der "create_account_mail.html", der nicht funktionieren will:
''>ZITAT</div>Ihre persönlichen Login-Daten lauten:
eMail: {$EMAIL}
Passwort: {$PASSWORD}[/b]
in der email erfolgt keine ausgabe der variablen.
frage:
1. sind es etwa die falschen variablen, die ich eingefügt habe?
2. falls nicht, wie kann ich es rnichtig machen?
gruss
- pete - B)
wahrscheinlich wird das passwort und der Username gar nicht aus der db ausgelesen.
Such welche datei für den Mailversand zuständig ist.
Mit folgendem Code kannst du das ganze dann an Smarty übergeben.
$smarty->assign('PASSWORD', $pwassword);
Aus sicherheits und performancegründen werden nie alle Daten aus der DB ausgelesen.
Es ist ein weitverbreiteter Irrglaube unter den Usern das jede Variable auf jeder Seite verfügbar ist.
gollumHN
28.02.2006, 18:31
ok. ich habe die entsprechende php gefunden:
shop/admin/create_account.php
merkwürdigerweise ist in der php bereits deine befehlszeile enthalten (siehe unteres drittel vom quellcode). eigentlich müsste die übergabe der variable in die html-datei erfolgen. das entsprechende script sieht so aus:
''>ZITAT</div>// Create eMail
if (($customers_send_mail == 'yes')) {
// assign language to template for caching
$smarty->assign('language', $_SESSION['language']);
$smarty->caching = false;
// set dirs manual
$smarty->template_dir = DIR_FS_CATALOG.'templates';
$smarty->compile_dir = DIR_FS_CATALOG.'templates_c';
$smarty->config_dir = DIR_FS_CATALOG.'lang';
$smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');
$smarty->assign('logo_path', HTTP_SERVER.DIR_WS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/img/');
$smarty->assign('NAME', $customers_lastname.' '.$customers_firstname);
$smarty->assign('EMAIL', $customers_email_address);
$smarty->assign('COMMENTS', $customers_mail_comments);
$smarty->assign('PASSWORD', $customers_password);
$html_mail = $smarty->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$_SESSION['language'].'/create_account_mail.html');
$txt_mail = $smarty->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$_SESSION['language'].'/create_account_mail.txt');
xtc_php_mail(EMAIL_SUPPORT_ADDRESS, EMAIL_SUPPORT_NAME, $customers_email_address, $customers_password, $customers_lastname.' '.$customers_firstname, EMAIL_SUPPORT_FORWARDING_STRING, EMAIL_SUPPORT_REPLY_ADDRESS, EMAIL_SUPPORT_REPLY_ADDRESS_NAME, '', '', EMAIL_SUPPORT_SUBJECT, $html_mail, $txt_mail);
}
xtc_redirect(xtc_href_link(FILENAME_CUSTOMERS, 'cID='.$cc_id, 'SSL'));
}[/b]
kannst du da irgendeinen fehler entdecken, weshalb der variablenwert nicht übermittelt bzw. ausgegeben wird? ich stehe gerade ziemlich im wald. <_<
Kann schon sein das der Code enthalten ist.
Nur ob die Vartiable $customers_password überhaupt mit dem Datenbankinhalt gefüllt wird seh ich hier niergendwo. Wo ist also die SQL abfrage?
gollumHN
28.02.2006, 19:48
öhm...
verstehe ich das rnichtig: es gibt variablen in den vielen php-scripten, von denen man überhaupt nicht sicher sein kann, dass in der sql-datenbank ein entsprechender wert für hinterlegt ist? also sozusagen "tote variablen"? "geistervariablen", die nur speicherplatz fressen ohne irgendeinen nutzwert?
das bedeutet also, ich müsste jetzt erstmal in meine sql-datenbank schauen, ob die variable dort überhaupt "angelegt" wurde!?
Du verstehst mich falsch. Natürlich existiert der Eintrag in der Passwortspalte in der DB.
Nur ich sehe nurgendwo ein auslesen der db.
von 3. Schritten fehlt Nr. 2
1. Datenbankeintrag
2. Datenbankauslesen
3. Variable an Smarty übergeben
gollumHN
28.02.2006, 21:32
ach soooooo!
nun bin ich wieder beruhig! :)
ich habe lediglich einen bereich aus der standard-"create_account.php" gepostet. da ich an der datei nichts verändert habe, müsste alles im ursprungsformat sein.
das scheint mir alles furchtbar kompliziert zu sein. werde wohl vorerst auf den service verznichten, dem kunden seine daten mitzuteilen, mit denen er sich angemeldet hat.
trotzdem danke. B)
Sicher das es die create_account.php ist?
Bie mir ist das nicht drin...
gollumHN
01.03.2006, 08:31
ja, es ist die rnichtige create_account.php.
es gibt allerdings zwei von diesen dateien. diejenige, die ich meine, findest du in der 304 SP1-version unter: shop/admin/create_account.php
voliere.net
01.03.2006, 09:44
nur warum bekommt der kunde und ich ne mail mit login und PW, wenn der kunde manuell im admin angelegt wird?
die datei, im admin kommt doch zum tragen, wenn der kunde im admin angelegt wird - oder nicht?
gollumHN
01.03.2006, 10:38
hmmm... grübel... jetzt verstehe ich deinen einwand nicht ganz!
1. der kunde wird nicht manuell im admin-bereich angelegt. er legt sich selbst an. nur im admin-bereich wird die email ausgelöst, die der kunde letztendlich zur bestätigung und als begrüßung erhält.
2. für mich als admin ist es unerheblich, ob ich eine kopie der anmelde-email bekomme. ich programmiere mir in meinem email-programm einen filter, der diese mails automatisch aussortiert, so dass ich sie am ende eines tages, einer woche, eines jahres (je nachdem, wie stark mein shop zukünftig frequentiert wird) löschen kann.
für mich zählt in erster linie der service-gedanke. der kunde soll wissen, mit welchen daten er sich bei mir angemeldet hat. wenn ich nur meine liste an passworten für die verschiedenen internetseiten anschaue, wird mir ganz schwindelig. :D
gruss
- pete - B)
voliere.net
01.03.2006, 11:01
ne, du kannst den kunden auch im admin manuell selbst anlegen mit dem button neuer kunde. versuch es selbst und du wirst sehen, dass auch du ne mail bekommst mit login und PW.
gollumHN
01.03.2006, 11:30
claudia, ich weiss, dass man kunden auch manuell im admin bereich anlegen kann.
doch weisst du, was das für ein zeitaufwand für mich wäre? doch aus welchem grund sollte ich diese äußerst umständliche art einen kunden anzulegen nutzen? oder legst du deine kunden alle händisch an?
zudem ist der inhalt meiner ursprünglichen frage nicht das anlegen der kunden, sondern die weiterleitung seiner daten, mit denen er sich bei mir registriert hat.
ich glaube, wir driften hier mit deinem einwand etwas vom eigentlichen thema ab.
gruss
- pete - B)
voliere.net
01.03.2006, 11:43
kunden, die per mail der telef. bestellen lege ich händisch an, will mir die kunden ja nich vergruseln mit "registrieren sie sich doch selbst". gibt ja bekanntlich auch faule kunden.
die mail, die im admin ausgelöst wird ist die, wie ich bereits schon geschrieben habe. hast ja selbst festgestellt, dass die variablen im admin bereits existent sind. dann schau dir mal die creat_account_mail im templ/mail/german an. die bekommt der kunde, wenn er seinen account anlegt.
gollumHN
01.03.2006, 12:37
ah ja... telefonische bestellungen sind natürlich ein nachvollziehbares argument, um seine kunden händisch anzulegen. da bin ich wieder zu sehr in meiner welt gewesen, in der nur bestellungen übers internet möglich sind.
ich schaue mir gleich mal die datei an, die du mir genannt hast. :D
HarryBoo
01.03.2006, 21:54
''>ZITAT(gollumHN @ Mar 1 2006, 10:38) 863
für mich zählt in erster linie der service-gedanke. der kunde soll wissen, mit welchen daten er sich bei mir angemeldet hat.
[/b]
Hallo gollumHN,
hast du dir auch schon mal Gedanken über die Datensicherheit gemacht?
Ich wäre stinksauer wenn mir jemand meine Anmeldedaten wie z.B. das Passwort per Email schicken würde.
Erst mal wegen der Datensicherheit und zum Anderen würde ich davon ausgehen das in dem Shop mein Passwort wohl nicht nur für mich einsehbar ist. :angry:
Ich meine, lasse die Finger davon.
Gruß
HarryBoo
Kein Angst man kann Usern kein Passwort zusenden.
Mir ist gerade eingefallen das xtc MD5 verwendet.
Ein Einwege-verschlüsselungsverfahren.
Das Passwort befindet sich verschlüsselt in der DB.
Wenn sich nun ein Kunde einlogt dann verschlüsselt xtc auch dessen Passworteingabe und verglenicht die beiden Strings ( db, userlog). Stimmen beide überein dann ist alles OK.
Wenn man 5x das gleiche wort in MD5 wirft dann kommt auch 5 mal der selbe String raus.
Vorteil davon ist, das die Passwörter selbst bei einem Hack nicht zu gebrauchen sind.
HarryBoo
01.03.2006, 22:30
@Alucard,
wow, das ist interessant.
Danke für die detaillierte Erläuterung. :)
Gruß
HarryBoo
voliere.net
01.03.2006, 22:57
warum glaubt mir wieder keiner??? ne mail, die ausm shop/admin kommt, kommt ausm admin und ne mail, die ausm templ. kommt, kommt durch den kunden produziert. ist doch eigentlich logisch zu verstehen. :rolleyes:
nimmtst du für jede anwendung ne andere email-addy? ist doch dann einfacher, wenn man sich ein neues PW zuschicken lässt, so man die email-addy weiß.
gollumHN
02.03.2006, 08:56
@harry:
dann müsstest du auf ziemlich viele webisten sauer sein, die dir als bestätigung deine zugangsdaten übermitteln, mit denen du dich angemeldet hast. ich persönlich bin immer froh gewesen, wenn ich diese daten nochmals per mail erhalten hatte. die konnte ich mir ausdrucken und in einen ordner abheften. doch es ist wie in vielen bereichen des lebens: man kann es nicht allen recht machen.
@alucard:
na, dass ist doch wenigstens eine aussage. somit hat mein begehren und meine suche endlich ein ende gefunden. ich danke dir für die info.
@claudia:
sorry... ich verstehe schon wieder nicht, was du mir mit deiner letzte msg. sagen wolltest. es ging bei diesem thread doch niemals darum, welche mail der admin und welche der kunde auslöst. du hast völlig recht (und dies wurde noch niemals bestritten), dass es verschiedene möglichkeiten gibt, dem kunden mails zukommen zu lassen.
euch allen meinen besten dank :D
- pete - B)
voliere.net
02.03.2006, 10:57
sorry, aber du schreibst von sachen, die über den admin ausgelöst werden und wunderst dich, dass der kunde die infos nicht erhält, wenn der kunde den zugang anlegt.
''>ZITAT</div>eMail: {$EMAIL}
Passwort: {$PASSWORD}[/b] - das steht nicht in der mail, die durch den kunden ausgelöst wird.
gollumHN
02.03.2006, 11:06
claudia, das stimmt so nicht, was du hier behauptest. hättest du von anfang an meine msg's aufmerksam verfolgt oder dich verständlicher ausgedrückt, wäre dieses misverständnis niemals zustande gekommen.
ich habe von alucard die infos erhalten, die ich benötigte. somit ist für mich dieser thread abgeschlossen. wenn du dennoch das unstillbare bedürfnis hast erneut einen kommentar hinzuzufügen,... viel spass! :D
- pete - B)
voliere.net
02.03.2006, 19:10
ich glaube nicht, dass ich mich hier von dir so dumm anmachen lassen muss! lies dir bitte deine eigenen beiträge hier durch, was nicht stimmt.
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.