Benachrichtigung in bestehendes Formular integrieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Benachrichtigung in bestehendes Formular integrieren

    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:
    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); ... 
    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!

    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'] == )
    {
    $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;
    } / 

  • #2
    *editier*

    Du nutzt schlicht die falschen Variablennamen, $sql_user_name wäre z.b. richtig.
    mfg - sagg

    Kommentar


    • #3
      Hm, in welcher Form muss das integriert werden? Ein kleines Code-Beispiel würde mir helfen. Danke
      NACHTRAG Diesen Satz bitte überlesen. Habe es jetzt herausgefunden. Sorry, ist etwas spät. Danke für den Hinweis!!
      Zuletzt geändert von diggelman; 09.01.2006, 22:23.

      Kommentar


      • #4
        In deine mail()-Funktion?

        Welche ich imho nach dem
        PHP-Code:
        if ($recordSet === false)
        {
        $misc->log_error($sql);

        in einem else-Zweig schreiben würde.
        mfg - sagg

        Kommentar


        • #5
          Ich habe es jetzt unter die Admin-Mail geschrieben!

          Nochmals vielen Dank für den Hinweis - manchmal muss man eben doch an die Hand genommen werden.

          Gruss

          Kommentar

          Lädt...
          X