matthiasschnueriger
Erfahrenes Mitglied
Guten Abend
Ich bin an einem Login-Skript am arbeiten (von Mambo).
Die Felder Username, Name und Email werden in einer Datenbank gespeichert
und in einem Email an den Administrator der Seite gesendet.
Das funktioniert soweit auch prima. Ich habe jetzt noch weitere Felder wie Strasse, Ort,
etc. hinzugefügt. Doch was ich nicht raffe ist, wie ich die Eingaben dieser Felder ebenfalls ins Mail stellen kann. Die weiteren Angaben müssen nicht zwingend in eine Datenbank geschrieben werden, sie müssen einfach im Email erscheinen.
Die Formularfelder (registration.html.php):
Die Umsetzung (registration.php):
Im File german.php werden die ganzen Sachen mit diesen sprintf angezeigt:
Ich bin jetzt sicher schon 10 Stunden an diesem ***-Skript und weiss gar nicht, ob es überhaupt möglich ist, was ich will.
Vielen Dank für eure Mithilfe. Bei Fragen: nur zu ;-)
Gruss Matthias
Ich bin an einem Login-Skript am arbeiten (von Mambo).
Die Felder Username, Name und Email werden in einer Datenbank gespeichert
und in einem Email an den Administrator der Seite gesendet.
Das funktioniert soweit auch prima. Ich habe jetzt noch weitere Felder wie Strasse, Ort,
etc. hinzugefügt. Doch was ich nicht raffe ist, wie ich die Eingaben dieser Felder ebenfalls ins Mail stellen kann. Die weiteren Angaben müssen nicht zwingend in eine Datenbank geschrieben werden, sie müssen einfach im Email erscheinen.
Die Formularfelder (registration.html.php):
PHP:
<?php
function registerForm($option, $useractivation) {
<form action="index.php" method="post" name="mosForm">
<table width="300" border="0" align="center" cellpadding="0" cellspacing="0" class="contentpane">
<tr>
<td colspan="2"><div class="componentheading">
<?php echo _REGISTER_TITLE; ?>
</div><BR /></td>
</tr>
<tr>
<td width="30%"><?php echo _REGISTER_COMPANY; ?></td>
<td align="right"><input type="text" name="company" size="35" value="<?=$company?>" class="inputbox" /></td>
</tr>
<tr>
<td width="30%"><?php echo _REGISTER_NAME; ?></td>
<td align="right"><input type="text" name="name" size="35" value="" class="inputbox" /></td>
</tr>
<tr>
<td width="30%"><?php echo _REGISTER_STREET; ?></td>
<td align="right"><input type="text" name="street" size="35" value="" class="inputbox" /></td>
</tr>
<tr>
<td width="30%"><?php echo _REGISTER_TOWN; ?></td>
<td align="right"><input type="text" name="town" size="35" value="" class="inputbox" /></td>
</tr>
<tr>
<td width="30%"><?php echo _REGISTER_TEL; ?></td>
<td align="right"><input type="text" name="tel" size="35" value="" class="inputbox" /></td>
</tr>
<tr>
<td width="30%"><?php echo _REGISTER_FAX; ?></td>
<td align="right"><input type="text" name="fax" size="35" value="" class="inputbox" /></td>
</tr>
<tr>
<td width="30%"><?php echo _REGISTER_MWST; ?></td>
<td align="right"><input type="text" name="mwst" size="35" value="" class="inputbox" /></td>
</tr>
<tr>
<td> </td>
<td align="right"> </td>
</tr>
<tr>
<td><?php echo _REGISTER_EMAIL; ?></td>
<td align="right"><input type="text" name="email" size="35" value="" class="inputbox" /></td>
</tr>
<tr>
<td><?php echo _REGISTER_UNAME; ?></td>
<td align="right"><input type="text" name="username" size="35" value="" class="inputbox" /></td>
</tr>
<tr>
<td><?php echo _REGISTER_PASS; ?></td>
<td align="right"><input class="inputbox" type="password" name="password" size="35" value="" /></td>
</tr>
<tr>
<td><?php echo _REGISTER_VPASS; ?></td>
<td align="right"><input class="inputbox" type="password" name="password2" size="35" value="" /></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="hidden" name="id" value="0" />
<input type="hidden" name="gid" value="0" />
<input type="hidden" name="useractivation" value="<?php echo $useractivation;?>" />
<input type="hidden" name="option" value="<?php echo $option; ?>" />
<input type="hidden" name="task" value="saveRegistration" />
<input type="button" value="<?php echo _BUTTON_SEND_REG; ?>" class="button" onclick="submitbutton()" /></td>
</tr>
<tr>
<td colspan=2> </td>
</tr>
</table>
</form>
}
?>
Die Umsetzung (registration.php):
PHP:
$row->checkin();
$name = $row->name;
$email = $row->email;
$username = $row->username;
$subject = sprintf (_SEND_SUB, $name, $mosConfig_sitename);
$subject = html_entity_decode($subject, ENT_QUOTES);
if ($mosConfig_useractivation=="1"){
$message = sprintf (_USEND_MSG_ACTIVATE, $name, $mosConfig_sitename, $mosConfig_live_site."/index.php?option=com_registration&task=activate&activation=".$row->activation, $mosConfig_live_site, $username, $pwd);
} else {
$message = sprintf (_USEND_MSG, $name, $mosConfig_sitename, $mosConfig_live_site);
}
$message = html_entity_decode($message, ENT_QUOTES);
// Send email to user
if ($mosConfig_mailfrom != "" && $mosConfig_fromname != "") {
$adminName2 = $name;
$adminEmail2 = $email;
} else {
$database->setQuery( "SELECT name, email FROM #__users"
."\n WHERE usertype='superadministrator'" );
$rows = $database->loadObjectList();
$row2 = $rows[0];
$adminName2 = $row2->name;
$adminEmail2 = $row2->email;
}
mosMail($adminEmail2, $adminName2, $mosConfig_mailfrom, $subject, $message);
// Send notification to all administrators
$subject2 = sprintf (_SEND_SUB, $name, $mosConfig_sitename);
$message2 = sprintf (_ASEND_MSG, $adminName2, $mosConfig_sitename, $row->name, $email, $username);
$subject2 = html_entity_decode($subject2, ENT_QUOTES);
$message2 = html_entity_decode($message2, ENT_QUOTES);
// get superadministrators id
$admins = $acl->get_group_objects( 25, 'ARO' );
foreach ( $admins['users'] AS $id ) {
$database->setQuery( "SELECT email, sendEmail FROM #__users"
."\n WHERE id='$id'" );
$rows = $database->loadObjectList();
$row = $rows[0];
if ($row->sendEmail) {
mosMail($adminEmail2, $adminName2, $row->email, $subject2, $message2);
}
}
if ( $mosConfig_useractivation == "1" ){
echo _REG_COMPLETE_ACTIVATE;
} else {
echo _REG_COMPLETE;
}
}
function activate( $option ) {
global $database;
$activation = trim( mosGetParam( $_REQUEST, 'activation', '') );
$database->setQuery( "SELECT id FROM #__users"
."\n WHERE activation='$activation' AND block='1'" );
$result = $database->loadResult();
if ($result) {
$database->setQuery( "UPDATE #__users SET block='0', activation='' WHERE activation='$activation' AND block='1'" );
if (!$database->query()) {
echo "SQL error" . $database->stderr(true);
}
echo _REG_ACTIVATE_COMPLETE;
} else {
echo _REG_ACTIVATE_NOT_FOUND;
}
}
Im File german.php werden die ganzen Sachen mit diesen sprintf angezeigt:
PHP:
DEFINE('_ERROR_PASS','Es wurde kein entsprechender Benutzer gefunden.');
DEFINE('_NEWPASS_MSG','Diese E-Mail ist dem Benutzerkonto $checkusername zugeordnet.\n'
.'Ein Webbenutzer von $mosConfig_live_site hat gerade eines neues Kennwort angefordert.\n\n'
.' Ihr neues Kennwort lautet: $newpass\n\nKeine Sorge, wenn diese Anforderung nicht von Ihnen stammt.'
.' Nur Sie sehen diese Meldung. Wenn es sich um einen Fehler handelt, melden Sie sich mit ihrem'
.' neuen Kennwort an und ändern Sie es dann in das gewünschte.');
DEFINE('_NEWPASS_SUB','$_sitename :: Neues Kennwort für - $checkusername');
DEFINE('_NEWPASS_SENT','Neues Benutzerkennwort erstellt und gesendet.');
DEFINE('_REGWARN_COMPANY','Geben Sie Ihre Firma ein.');
DEFINE('_REGWARN_NAME','Geben Sie Ihren Namen ein.');
DEFINE('_REGWARN_STREET','Geben Sie Ihre Strasse ein.');
DEFINE('_REGWARN_TOWN','Geben Sie Ihre Ortschaft ein.');
DEFINE('_REGWARN_TEL','Geben Sie Ihre Telefon-Nr. ein.');
DEFINE('_REGWARN_FAX','Geben Sie Ihre Fax-Nr. ein.');
DEFINE('_REGWARN_MWST','Geben Sie Ihre MwSt.-Nr. ein.');
DEFINE('_REGWARN_MAIL','Geben Sie eine gültige E-Mail-Adresse ein.');
DEFINE('_REGWARN_UNAME','Geben Sie einen Benutzernamen ein.');
DEFINE('_REGWARN_PASS','Geben Sie ein gültiges Kennwort ein. Keine Leerzeichen, mindestens 6 Zeichen, erlaubte Zeichen: 0-9,a-z,A-Z');
DEFINE('_REGWARN_VPASS1','Bestätigen Sie das Kennwort.');
DEFINE('_REGWARN_VPASS2','Die Kennwörter stimmen nicht überein. Versuchen Sie es erneut.');
DEFINE('_REGWARN_INUSE','Benutzername oder Kennwort sind bereits vergeben. Versuchen Sie eine andere Eingabe.');
DEFINE('_REGWARN_EMAIL_INUSE', 'Diese E-Mail-Adresse ist bereits registriert. Wenn Sie Ihr Kennwort vergessen haben, klicken Sie auf "Kennwort vergessen". Ein neues Kennwort wird dann an Sie gesendet.');
DEFINE('_SEND_SUB','Kontodaten für %s bei %s');
DEFINE('_USEND_MSG_ACTIVATE', 'Hallo %s,
Danke, dass Sie sich bei %s registriert haben. Ihr Konto wird erstellt. Bevor Sie es verwenden können, müssen Sie es aktivieren.
Klicken Sie zur Aktivierung auf folgenden Link, oder kopieren Sie ihn in die Adresszeile Ihres Browsers:
%s
Nach der Aktivierung können Sie sich mit folgendem Benutzernamen und Kennwort bei %s anmelden:
Benutzername - %s
Kennwort - %s');
DEFINE('_USEND_MSG', "Hallo %s,
Danke für die Registierung bei %s.
Sie können sich jetzt bei %s mit dem registrierten Benutzernamen und dem zugehörigen Kennwort anmelden.");
DEFINE('_USEND_MSG_NOPASS','Hallo $name,\n\nSie wurden als Benutzer zu $mosConfig_live_site hinzugefügt.\n'
.'Sie können sich bei $mosConfig_live_site mit dem registrierten Benutzernamen und dem zugehörigen Kennwort anmelden.\n\n'
.'Antworten Sie nicht auf diese Nachricht. Sie wurde automatisch vom System erzeugt und dient nur Ihrer Information.\n');
DEFINE('_ASEND_MSG','Hallo Administrator,
Ein neuer Benutzer (%s) hat sich bei %s registriert.
Diese E-Mail enthält die Anmeldedaten:
Name - %s
E-Mail - %s
Benutzername - %s
Antworten Sie nicht auf diese Nachricht. Sie wurde automatisch vom System erzeugt und dient nur Ihrer Information.');
DEFINE('_REG_COMPLETE_NOPASS','<div class="componentheading">Registrierung abgeschlossen.</div><br /> '
.'Sie können Sie jetzt anmelden.<br /> ');
DEFINE('_REG_COMPLETE', '<div class="componentheading">Registrierung abgeschlossen!</div><br />You may now login.');
DEFINE('_REG_COMPLETE_ACTIVATE', '<div class="componentheading">Registrierung abgeschlossen.</div><br />Ihr Konto wurde erstellt, und der Aktivierungslink wurde in einer E-Mail an Sie gesendet. Beachten Sie, dass Sie das Konto zunächst durch Klicken des Aktivierungslinks aktivieren müssen, bevor Sie sich anmelden können.');
DEFINE('_REG_ACTIVATE_COMPLETE', '<div class="componentheading">Aktivierung abgeschlossen.</div><br />Ihr Konto wurde aktiviert. Sie können sich nun mit dem bei der Registrierung gewählten Benutzernamen und Kennwort anmelden.');
DEFINE('_REG_ACTIVATE_NOT_FOUND', '<div class="componentheading">Ungültiger Aktivierungslink.</div><br />Dieses Konto ist nicht in unserer Datenbank vorhanden oder wurde bereits aktiviert.');
Ich bin jetzt sicher schon 10 Stunden an diesem ***-Skript und weiss gar nicht, ob es überhaupt möglich ist, was ich will.
Vielen Dank für eure Mithilfe. Bei Fragen: nur zu ;-)
Gruss Matthias