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

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

با سلام خدمت دوستان...
بنده یه فرم تماس دارم با کد های زیر:
<?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
ارسال: 2
سلام
کدهاتون بهم ریخته هستن

تا جایی که چک کردم باید قبلش برای فیلدی که ایجاد میکنید باید یه متغیر تعریف کنید مثلا :
$subject = htmlspecialchars_uni(trim($mybb->input['subject']));

مثل کد بالا ، بعد اون رو در فرم جای بدید و متغیر ایجاد شده رو داخل فرم قرار بدید
البته باید تست کنید

image

تعداد ارسال ها : 27
ارسال: 3
ممنون از پاسختون..متغیرو تعریف کردم اما نشد.
به نظرتون توی یه فایل دیگه که کار ارسال رو انجام میده نیاز به دستکاری نیست؟
تعداد ارسال ها : 2,063
ارسال: 4
مگر این فایل اصلی نیست ؟
اگر فایل send.php هم داره باید متغیر رو توی اون هم تعریف کنید

image

تعداد ارسال ها : 27
ارسال: 5
این کدها برای فرم تماسه. توی root یه فایل به اسم contactus_send.php هست .منظورتون اینه ؟
تعداد ارسال ها : 2,063
ارسال: 6
باید همون باشه
اون رو ویرایش کنید به احتمال زیاد درست میشه

image

تعداد ارسال ها : 27
ارسال: 7
اونم ویرایش کردم نشد.به نظر میاد اصلا توی ارسال تاثیری نداره چون وقتی حذفش میکنم فرم کار میکنه و مشکلی نداره. به جز اونم فایل دیگه ای مرتبط با ارسال توی root وجود نداره.!!
تعداد ارسال ها : 2,063
ارسال: 8
(2014-07-11T15:26:10+00:00 2014-07-11T15:26:10+00:00)mehdikashi نوشته :  اونم ویرایش کردم نشد.به نظر میاد اصلا توی ارسال تاثیری نداره چون وقتی حذفش میکنم فرم کار میکنه و مشکلی نداره. به جز اونم فایل دیگه ای مرتبط با ارسال توی root وجود نداره.!!

خب فایل اصلی رو همینجا پیوست کنید تا یه چک کنم
اگر بتونم ویرایش میکنم و همینجا براتون قرار میدم

thanks

image

تعداد ارسال ها : 27
ارسال: 9
حالا که شما اینقدر لطف دارید اجازه بدین از اول توضیح بدم که چیکار کردم. من این فرم تماس رو از طریق پلاگین "مدیریت صفحات اضافی" وارد کردم. بعد رفتم توی ویرایش همین صفحه و چندتا فیلد اضافه کردم که هیچکدوم ارسال نمیشه. فایل xml رو پیوست میکنم. دیگه زحمت وارد کردنش با شما . شرمنده..thanks


فایل‌(های) پیوست شده
.zip  contact.zip (اندازه: 2.99 KB / تعداد دفعات دریافت: 2)
تعداد ارسال ها : 2,063
ارسال: 10
فرم رو یه تغییری دادم
اما به نظر من این فرم داره به خود شخص ایمیل ارسال میکنه چون یوزر مقصد خود شخص هست


thanks


فایل‌(های) پیوست شده
.zip  contact.zip (اندازه: 3.03 KB / تعداد دفعات دریافت: 1)

image

تعداد ارسال ها : 27
ارسال: 11
داداش فایلی که فرستادی ایمپورت نمیشه و میگه:
نمی تواند یک صفحه قابل وارد کردن را از فایل آپلود شده پیدا کند. لطفا بررسی کنید که فایل سالم است و دارای مشکل نیست.

اگه زحمتی نیست کدهای فرم رو توی یه فایل nodpad قرار بده ..ممنون..thanks
تعداد ارسال ها : 2,063
ارسال: 12
پیوست شد
thanks


فایل‌(های) پیوست شده
.txt  contact code.txt (اندازه: 4.98 KB / تعداد دفعات دریافت: 2)

image

تعداد ارسال ها : 27
ارسال: 13
خیلی گلی آقا جواد..
آقا شماره تلفن رو جای اسم طرف میفرسته و اسمشو نمیفرسته..
thanks
تعداد ارسال ها : 2,063
ارسال: 14
(2014-07-13T18:11:14+00:00 2014-07-13T18:11:14+00:00)mehdikashi نوشته :  خیلی گلی آقا جواد..
آقا شماره تلفن رو جای اسم طرف میفرسته و اسمشو نمیفرسته..
thanks

الان مشکلش چیه ؟ چه خطایی داره ؟

image

تعداد ارسال ها : 27
ارسال: 15
واقعا ممنون . من این مشکل رو توی تمام سایتایی که ادعای پشتیبانی دارن قرار دادم دریغ از یه جواب(دوستان برن ببینن). همین که جواب میدین یه دنیا ارزش داره.امیدوارم که این رویکردتون همیشه ادامه داشته باشه....

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

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