وضعیت مشکل :
عنوان تایپک :

تغییر دادن فرم تماس

با سلام خدمت دوستان...
بنده یه فرم تماس دارم با کد های زیر:
<?php

[b]global $headerinclude, $header, $theme, $footer, $templates, $lang;[/b]

[b]$lang->[/b]load('member');
$lang->load('messages');
$lang->load('datahandler_user');

$subject = htmlspecialchars_uni(trim($mybb->input['subject']));
$message = htmlspecialchars_uni(trim($mybb->input['message']));

[i]if[/i](!$mybb->user['uid'])
{
    $name = htmlspecialchars_uni(trim($mybb->input['name']));
    $email = htmlspecialchars_uni(trim($mybb->input['email']));

    $usertemplate = '[b]<tr>[/b]
[b]<td [i]width=[/i][s]"40%"[/s] [i]class=[/i][s]"trow1"[/s]>[/b][b]<strong>[/b]{$lang[s]->[/s]full_name}[b]</strong>[/b][b]</td>[/b]
[b]<td [i]width=[/i][s]"60%"[/s] [i]class=[/i][s]"trow1"[/s]>[/b][b]<input [i]type=[/i][s]"text"[/s] [i]class=[/i][s]"textbox"[/s] [i]size=[/i][s]"50"[/s] [i]name=[/i][s]"name"[/s] [i]value=[/i][s]"{$name}"[/s] />[/b][b]</td>[/b]
[b]</tr>[/b]
[b]<tr>[/b]
[b]<td [i]width=[/i][s]"40%"[/s] [i]class=[/i][s]"trow2"[/s]>[/b][b]<strong>[/b]{$lang[s]->[/s]email_address}[b]</strong>[/b][b]</td>[/b]
[b]<td [i]width=[/i][s]"60%"[/s] [i]class=[/i][s]"trow2"[/s]>[/b][b]<input [i]type=[/i][s]"text"[/s] [i]class=[/i][s]"textbox"[/s] [i]size=[/i][s]"50"[/s] [i]name=[/i][s]"email"[/s] [i]value=[/i][s]"{$email}"[/s] />[/b][b]</td>[/b]
[b]</tr>[/b]';

    $usertemplate = str_replace("\'", "'", addslashes($usertemplate));

    eval("\$usertemplate = \"" . $usertemplate . "\";");
}
[i]else[/i]
{
    $name = $mybb->user['username'];
    $email = $mybb->user['email'];

    eval("\$usertemplate = \"" . $templates->get('changeuserbox') . "\";");
}

[i]if[/i]($mybb->input['action'] == 'do_email' && $mybb->request_method == 'post')
{
    verify_post_check($mybb->input['my_post_key']);

    [i]if[/i](empty($name))
    {
        $errors[] = $lang->userdata_missing_username;
    }
    elseif(strpos($name, '<') !== [i]false[/i] || strpos($name, '>') !== [i]false[/i] || strpos($name, '&') !== [i]false[/i] || my_strpos($name, '\\') !== [i]false[/i] || strpos($name, ';') !== [i]false[/i] || strpos($name, ',') !== [i]false[/i])
    {
        $errors[] = $lang->userdata_bad_characters_username;
    }

    [i]if[/i](empty($email))
    {
        $errors[] = $lang->userdata_missing_email;
    }
    elseif(!validate_email_format($email))
    {
        $errors[] = $lang->userdata_invalid_email_format;
    }

    [i]if[/i](empty($subject))
    {
        $errors[] = $lang->error_no_email_subject;
    }

    [i]if[/i](empty($message))
    {
        $errors[] = $lang->error_no_email_message;
    }

    [i]if[/i]($mybb->settings['captchaimage'] == 1 && function_exists("imagepng") && !$mybb->user['uid'])
    {
        $imagehash = $db->escape_string($mybb->input['imagehash']);
        $imagestring = $db->escape_string($mybb->input['imagestring']);
        $query = $db->simple_select('captcha', '*', '[i]imagehash=[/i][s]"' . $imagehash . '"[/s]');
        $imgcheck = $db->fetch_array($query);
        [i]if[/i](my_strtolower($imgcheck['imagestring']) != my_strtolower($imagestring) || !$imgcheck['imagehash'])
        {
            $errors[] = $lang->error_regimageinvalid;
        }
        $db->delete_query('captcha', '[i]imagehash=[/i][s]"' . $imagehash . '"[/s]');
    }

    [i]if[/i](count($errors) == 0)
    {
        [i]if[/i]($mybb->settings['mail_handler'] == 'smtp')
        {
            $from = $email;
        }
        [i]else[/i]
        {
            $from = $name . ' [b]<' . $email . '>[/b]';
        }
        my_mail($mybb->settings['adminemail'], '[' . $mybb->settings['bbname'] . ' ' . $pages['name'] . '] ' . $subject, $message, $from, '', '', [i]false[/i], 'text', '', $email);

        redirect($mybb->settings['bburl'], $lang->redirect_emailsent);
    }
    [i]else[/i]
    {
        $errors = inline_error($errors);
    }
}

[i]if[/i]($mybb->settings['captchaimage'] == 1 && function_exists('imagepng') && !$mybb->user['uid'])
{
    $randomstr = random_str(5);
    $imagehash = md5(random_str(12));
    $imagearray= array(
        'imagehash' => $imagehash,
        'imagestring' => $randomstr,
        'dateline' => TIME_NOW
    );
    $db->insert_query('captcha', $imagearray);
    eval("\$captcha = \"" . $templates->get('post_captcha') . "\";");
}

$template = '[b]<html>[/b]
[b]<head>[/b]
[b]<title>[/b]' . $pages['name'] . '[b]</title>[/b]
{$headerinclude}
[b]</head>[/b]
[b]<body>[/b]
{$header}
{$errors}
[b]<form [i]action=[/i][s]"' . $_SERVER['REQUEST_URI'] . '"[/s] [i]method=[/i][s]"post"[/s]>[/b]
[b]<input [i]type=[/i][s]"hidden"[/s] [i]name=[/i][s]"my_post_key"[/s] [i]value=[/i][s]"{$mybb-[/s][s]>[/s][/b][s]post_code}"[/s] />
[b]<table [i]border=[/i][s]"0"[/s] [i]cellspacing=[/i][s]"' . $theme['borderwidth'] . '"[/s] [i]cellpadding=[/i][s]"' . $theme['tablespace'] . '"[/s] [i]class=[/i][s]"tborder"[/s]>[/b]
[b]<thead>[/b]
[b]<tr>[/b]
[b]<td [i]colspan=[/i][s]"2"[/s] [i]class=[/i][s]"thead"[/s]>[/b]
[b]<strong>[/b]' . $pages['name'] . '[b]</strong>[/b]
[b]</td>[/b]
[b]</tr>[/b]
[b]</thead>[/b]
[b]<tbody>[/b]
{$usertemplate}
[b]<tr>[/b]
[b]<td [i]width=[/i][s]"40%"[/s] [i]class=[/i][s]"trow1"[/s]>[/b][b]<strong>[/b]{$lang[s]->[/s]email_subject}[b]</strong>[/b][b]</td>[/b]
[b]<td [i]width=[/i][s]"60%"[/s] [i]class=[/i][s]"trow1"[/s]>[/b][b]<input [i]type=[/i][s]"text"[/s] [i]class=[/i][s]"textbox"[/s] [i]size=[/i][s]"50"[/s] [i]name=[/i][s]"subject"[/s] [i]value=[/i][s]"{$subject}"[/s] />[/b][b]</td>[/b]
[b]</tr>[/b]
[b]<tr>[/b]
[b]<td [i]valign=[/i][s]"top"[/s] [i]width=[/i][s]"40%"[/s] [i]class=[/i][s]"trow2"[/s]>[/b][b]<strong>[/b]{$lang[s]->[/s]email_message}[b]</strong>[/b][b]</td>[/b]
[b]<td [i]width=[/i][s]"60%"[/s] [i]class=[/i][s]"trow2"[/s]>[/b][b]<textarea [i]cols=[/i][s]"50"[/s] [i]rows=[/i][s]"10"[/s] [i]name=[/i][s]"message"[/s]>[/b]{$message}[b]</textarea>[/b][b]</td>[/b]
[b]</tr>[/b]
{$captcha}
[b]</tbody>[/b]
[b]</table>[/b]
[b]<br />[/b]
[b]<input [i]type=[/i][s]"hidden"[/s] [i]name=[/i][s]"action"[/s] [i]value=[/i][s]"do_email"[/s] />[/b]
[b]<div [i]align=[/i][s]"center"[/s]>[/b][b]<input [i]type=[/i][s]"submit"[/s] [i]class=[/i][s]"button"[/s] [i]value=[/i][s]"{$lang-[/s][s]>[/s][/b][s]send_email}"[/s] />[b]</div>[/b]
[b]</form>[/b]
{$footer}
[b]</body>[/b]
[b]</html>[/b]';

$template = str_replace("\'", "'", addslashes($template));

add_breadcrumb($pages['name']);

eval("\$page = \"" . $template . "\";");

output_page($page);

?>

میخوام چندتا فیلد دیگه بهش اضافه کنم.این کارو کردم اما محتویات هیچکدوم ازون فیلدایی که اضافه کردم به ایمیلم ارسال نمیشه.آیا برای اضافه کردن فیلدها علاوه بر صفحه فرم ،جای دیگه ای هم باید تنظیماتی انجام بدم؟
thanks
پاسخ های کاربران 16
تعداد ارسال ها : 2,063
ارسال: 16
(2014-07-22T17:33:30+00:00 2014-07-22T17:33:30+00:00)mehdikashi نوشته :  واقعا ممنون . من این مشکل رو توی تمام سایتایی که ادعای پشتیبانی دارن قرار دادم دریغ از یه جواب(دوستان برن ببینن). همین که جواب میدین یه دنیا ارزش داره.امیدوارم که این رویکردتون همیشه ادامه داشته باشه....

آقا ارسال رو انجام میده .اما وقتی ایمیل به دستم میرسه شماره تلفن رو به جای فیلد "نام کاربری "قرار داده و نام کاربری طرف رو نمیفرسته. یه قدم جلو رفتیم اما باز یه جای کار میلنگه.


طبق بررسی هایی که انجام دادم ، متاسفانه برای افزودن یک فیلد اضافه تغییرات زیادی باید در هسته مای بی بی ایجاد کرد که صلاح نیست
به زودی یک پلاگین تماس قرار خواهم داد که کاربردی تر هست



یا میتونید از لینک استفاده کنید :
http://www.freecontactform.com/email_form.php

thanks

image

تعداد ارسال ها : 27
ارسال: 17
ممنون از لطفتون..thanks

برای اطلاع از آخرین اخبار مای بی بی فارسی عضو کانال تلگرامی شوید :