Hallo zusammen,
ich habe ein kleines Problem mit einem Registrier-Formular, und irgendwie werde ich das Gefühl nicht los,
hier lediglich "Den Wald vor lauter Bäumen nicht mehr zu sehen. Also, der Code ist leider
etwas länger (ich habe ihn schon auf die entscheidende Funktion gekürzt), aber ich glaube, dass er in
diesem Umfang von Nöten ist. Mein Anliegen: Ich möchte dem User eine automastische Mail zukommen
lassen, in der ihm sein Passwort und der Benutzername mitgeteilt wird.
Die eigentliche nachricht sähe dann wie folgt aus:
Nun habe ich versucht, diesen Abschnitt im Script unterzubringen. Die Nachricht wird auch gesendet.
Allerdings nur, wenn ich in der Mail-Funktion eine konkrete Emailadresse (zum Beispiel Admin@abc.de)
eingebe und die Inhalte der User fehlen, werden also nicht übergeben. Kann mir eventuell jemand helfen,
wie und in welcher Form ich diese Funktion zum Laufen bekomme?
Hier der restliche Code (sorry nochmals für die Länge). Wenn ich eine Antwort bekomme, dann kann
ich das ja gerne auf die betreffenden Zeilen kürzen, okay?
Lieben Gruss und Danke schon einmal im voraus!
ich habe ein kleines Problem mit einem Registrier-Formular, und irgendwie werde ich das Gefühl nicht los,
hier lediglich "Den Wald vor lauter Bäumen nicht mehr zu sehen. Also, der Code ist leider
etwas länger (ich habe ihn schon auf die entscheidende Funktion gekürzt), aber ich glaube, dass er in
diesem Umfang von Nöten ist. Mein Anliegen: Ich möchte dem User eine automastische Mail zukommen
lassen, in der ihm sein Passwort und der Benutzername mitgeteilt wird.
Die eigentliche nachricht sähe dann wie folgt aus:
PHP-Code:
...
$message .= "Your login info $edit_user_name / $edit_user_pass\r\n\r\n";
mail("$edit_user_email", "Welcome to ".$config['site_title'], $message, $header); ...
Allerdings nur, wenn ich in der Mail-Funktion eine konkrete Emailadresse (zum Beispiel Admin@abc.de)
eingebe und die Inhalte der User fehlen, werden also nicht übergeben. Kann mir eventuell jemand helfen,
wie und in welcher Form ich diese Funktion zum Laufen bekomme?
Hier der restliche Code (sorry nochmals für die Länge). Wenn ich eine Antwort bekomme, dann kann
ich das ja gerne auf die betreffenden Zeilen kürzen, okay?
Lieben Gruss und Danke schon einmal im voraus!
PHP-Code:
function user_signup($type)
{
...
$display = '';
if ($config['allow_'.$type.'_signup'] == 1)
{
if (isset($_POST['edit_user_name']))
{
if ($_POST['edit_user_pass'] != $_POST['edit_user_pass2'])
{
$display .= '<p>'.$lang['user_creation_password_identical'].'</p>';
$display .= '<form><input type="button" value="'.$lang['back_button_text'].'" onClick="history.back()"></form>';
}
elseif ($_POST['edit_user_pass'] == '')
{
$display .= '<p>'.$lang['user_creation_password_blank'].'</p>';
$display .= '<form><input type="button" value="'.$lang['back_button_text'].'" onClick="history.back()"></form>';
}
elseif ($_POST['edit_user_name'] == '')
{
$display .= '<p>'.$lang['user_editor_need_username'].'</p>';
$display .= '<form><input type="button" value="'.$lang['back_button_text'].'" onClick="history.back()"></form>';
} /
elseif ($_POST['user_email'] == '')
{
$display .= '<p>'.$lang['user_editor_need_email_address'].'</p>';
$display .= '<form><input type="button" value="'.$lang['back_button_text'].'" onClick="history.back()"></form>';
}
else
{
$sql_user_name = $misc->make_db_safe($_POST['edit_user_name']);
$sql_user_email = $misc->make_db_safe($_POST['user_email']);
$sql_user_first_name = $misc->make_db_safe($_POST['user_first_name']);
$sql_user_last_name = $misc->make_db_safe($_POST['user_last_name']);
$pass_the_form = "No";
$sql = 'SELECT userdb_user_name from '.$config['table_prefix'].'userdb WHERE
userdb_user_name = '.$sql_user_name;
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
$recordSet = $conn->Execute($sql);
if ($recordSet === false)
{
$misc->log_error($sql);
}
$num = $recordSet->RecordCount();
$sql2 = 'SELECT userdb_emailaddress from '.$config['table_prefix'].'userdb WHERE
userdb_emailaddress = '.$sql_user_email;
$recordSet2 = $conn->Execute($sql2);
if ($pass_the_form == 'Yes')
{
$random_number = rand(1,10000);
$random_number = $misc->make_db_safe($random_number);
$sql_user_name = $misc->make_db_safe($_POST['edit_user_name']);
$md5_user_pass = md5($_POST['edit_user_pass']);
$md5_user_pass = $misc->make_db_safe($md5_user_pass);
$sql_user_email = $misc->make_db_safe($_POST['user_email']);
$sql_set_active = $misc->make_db_safe($set_active);
$sql = 'INSERT INTO '.$config['table_prefix'].'userdb (userdb_user_name, userdb_user_password,
userdb_user_first_name,userdb_user_last_name, userdb_emailaddress, userdb_creation_date,
userdb_last_modified, userdb_active,userdb_comments,userdb_is_admin,userdb_can_edit_site_config,
userdb_can_edit_member_template,userdb_can_edit_agent_template,
userdb_can_edit_listing_template,userdb_can_feature_listings,userdb_can_view_logs,
userdb_hit_count,userdb_can_moderate,userdb_can_edit_pages,userdb_
can_have_vtours,userdb_is_agent,userdb_limit_listings)
VALUES ('.$sql_user_name.', '.$random_number.', '.$sql_user_first_name.', '.$sql_user_last_name.',
'.$sql_user_email.', '.$conn->DBDate(time()).','.$conn->DBTimeStamp(time()).','
.$sql_set_active.',\'\',\'no\',\'no\',\'no\',\'no\',\'no\',\'no\',\'no\',0,\'no\',\'no\',\'no\',\'no\',0)';
$recordSet = $conn->Execute($sql);
if ($recordSet === false)
{
$misc->log_error($sql);
}
$sql = 'SELECT userdb_id FROM '.$config['table_prefix'].'userdb WHERE
userdb_user_password = '.$random_number;
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
$recordSet = $conn->Execute($sql);
if ($recordSet === false)
{
$misc->log_error($sql);
}
while (!$recordSet->EOF)
{
$new_user_id = $recordSet->fields['userdb_id'];
$recordSet->MoveNext();
}
$sql = 'UPDATE '.$config['table_prefix'].'userdb SET userdb_user_password = '.$md5_user_pass.'
WHERE userdb_id = '.$new_user_id;
$recordSet = $conn->Execute($sql);
if ($recordSet === false)
{
$misc->log_error($sql);
}
if ($type == 'agent')
{
$is_agent = $misc->make_db_safe("yes");
if ($config["agent_default_admin"] == 0) { $agent_default_admin = $misc->make_db_safe('no'); }
else {$agent_default_admin = $misc->make_db_safe('yes');}
//Hier kommen einige if-Anfragen]
$sql = 'UPDATE '.$config['table_prefix'].'userdb SET userdb_is_agent = '.$is_agent.',
userdb_is_admin = '.$agent_default_admin.',
userdb_can_feature_listings = '.$agent_default_feature.', userdb_can_moderate =
'.$agent_default_moderate.', userdb_can_view_logs =
'.$agent_default_logview.', userdb_can_edit_site_config = '.$agent_default_edit_site_config.',
userdb_can_edit_member_template = '.$agent_default_edit_member_template.',
userdb_can_edit_agent_template = '.$agent_default_edit_agent_template.',
userdb_can_edit_listing_template = '.$agent_default_edit_listing_template.',
userdb_can_edit_pages = '.$agent_default_editpages.',userdb_can_have_vtours
= '.$agent_default_havevtours.', userdb_limit_listings = '.$config["agent_default_num_listings"].' WHERE
userdb_id = '.$new_user_id;
$recordSet = $conn->Execute($sql);
if ($recordSet === false)
{
$misc->log_error($sql);
}
}
else {
$is_agent = $misc->make_db_safe("no");
$agent_default_admin = $misc->make_db_safe('no');
$sql = 'UPDATE '.$config['table_prefix'].'userdb SET userdb_is_agent = '.$is_agent.',
userdb_is_admin = '.$agent_default_admin.' WHERE userdb_id = '.$new_user_id;
$recordSet = $conn->Execute($sql);
if ($recordSet === false)
{
$misc->log_error($sql);
}
}
$message = user_managment::updateUserData($new_user_id);
if ($message == 'success')
{
$display .= '<p>'.$lang['user_creation_username_success'].', '.$_POST['edit_user_name'].'</p>';
if ($config['moderate_'.$type.'s'] == 1 )
{
$display .= '<p>'.$lang['admin_new_user_moderated'].'</p>';
}
else
{
$display .= '<p>'.$lang['you_may_now_view_priv'].'</p>';
}
$misc->log_action ($lang['log_created_user'].': '.$_POST['edit_user_name']);
if ($config['email_notification_of_new_users'] == 1)
{
$message = $_SERVER['REMOTE_ADDR'].' -- '.date('F j, Y, g:i:s a')."\r\n\r\n".$lang['admin_new_user'].":
$edit_emailAddress $edit_user_pass\r\n".$config['baseurl'].'index.php?action=manager&edit='.$new_user_id."\r\n";
$header = 'From: '.$config['admin_email'].' <'.$config['admin_email'].">\r\n";
$header .= "X-Sender: $config[admin_email]\r\n";
$header .= "Return-Path: $config[admin_email]\r\n";
mail("$config[admin_email]", "$lang[admin_new_user]", $message, $header);
}
}
else
{
$display .= '<p>'.$lang['alert_site_admin'].'</p>';
}
}
}
}
else
{
//Hier folgt das Formular mit den Abfragen der einzelnen Werte
$display .= '<form action="?action=signup&type='.$type.'" method="post">';
$display .= '<table class="form_main">';
//usw. mit folgenden Input:
<input type="text" name="edit_user_name" />
<input type="password" name="edit_user_pass" />
<input type="text" name="user_first_name">
<input type="text" name="user_last_name">
<input type="text" name="user_email" />
global $conn;
$sql = 'SELECT '.$type.'formelements_field_type, '.$type.'formelements_field_name,
'.$type.'formelements_field_caption, '.$type.'formelements_default_text,
'.$type.'formelements_field_elements, '.$type.'formelements_required FROM '
. $config['table_prefix'] . $type.'formelements ORDER BY '.$type.'formelements_rank,
'.$type.'formelements_field_caption';
$recordSet = $conn->Execute($sql);
if ($recordSet === false)
{
$misc->log_error($sql);
}
while (!$recordSet->EOF)
{
$field_type = $recordSet->fields[$type.'formelements_field_type'];
$field_name = $recordSet->fields[$type.'formelements_field_name'];
$field_caption = $recordSet->fields[$type.'formelements_field_caption'];
$default_text = $recordSet->fields[$type.'formelements_default_text'];
$field_elements = $recordSet->fields[$type.'formelements_field_elements'];
$required = $recordSet->fields[$type.'formelements_required'];
$field_type = $misc->make_db_unsafe($field_type);
$field_name = $misc->make_db_unsafe($field_name);
$field_caption = $misc->make_db_unsafe($field_caption);
$default_text = $misc->make_db_unsafe($default_text);
$field_elements = $misc->make_db_unsafe($field_elements);
$required = $misc->make_db_unsafe($required);
$display .= $forms->renderFormElement($field_type, $field_name, $field_caption,
$default_text, $field_elements, $required);
$recordSet->MoveNext();
}
$display .= $forms->renderFormElement("submit","","Submit", "", "", "", "");
$display .= '</form>';
$display .= '<tr><td colspan="2" class="row_main">'.$lang['required_form_text'].'<br></td></tr>';
$display .= '</table>';
}
}
return $display;
} /
Kommentar