آموزش ساخت فرم تماس با ما php همراه با کد امنیتی

zvm4zvm

تازه وارد
سلام

چند نکتست که باید بگم اگه دوست داشتید اون ها رو مد نظر قرار بدید.

روی لوکال چون به حروف بزرگ و کوچیک در پسوند حروف حساس نیست کد تصویری درست نمایش داده میشه اما روی اکثر هاست ها که به حروف کوچک و بزرگ حساسند نمایش داده نمیشه

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

ÙاÙ:

اÛÙÛÙ: vahid@mihanmail.ir

تÙضÛØات:

آزÙاÛØ´Û

From: vahid@mihanmail.ir
 

iranika

تازه وارد
ممنون، من امتحان کردم و کامل بود

اما اگر بخواهیم پوشه ی fonts رو جای دیگه ای قرار بدیم چه باید بکنیم؟

مثلا در ساخت قالب وردپرس می خواهم آدرس مسیر قالب رو با دستور php به .dir بدم اما دریم ویور syntax error میگیره.

 

ytt

تازه وارد
دوستان فرم رو هاست من کامل کار میکنه و میزنه پیام با موفقیت ارسال شد ولی هیچ میلی برام نمیاد . قسمت $to رو هم درست ست کردم .

 

orca13

تازه وارد
سلام

این فایل ها رو کجا باید قرار بدیم؟

چه جوری استفاده میشه؟

ممنون

 

aliee1981

تازه وارد
سلام دوست عزيزم:

اين فرم را شما دو روز پيش براي بنده فرستادي چند ايراد دارد:

1. روي هاست کد امنيتي نشان داده نميشود؟ هر کاري کردم نشد؟

2. وقتي IE ما بزرگ باشد full باشد فرم تماس با ما پيدا نيست؟ مثل لينک زير: زماني که سايز را کوچک ميکنيم نمايش داده ميشود (کد امنيتي هم ندارد) خودتون ببينيد.

3. خواهشند تکميل آن را مجددا به ايميل بنده که: مي باشد بفرستيد. يک دنيا ممنون ميشم.

درخواست:

خواهشمند يک نظرسنجي آجاکس هم برام بفرستيد. اگر اين کار را بکنيد بسيار سپاسگزار ميشم راستش براي سايت شبکه حضرت ابوالفضل مي خواهم انشاء الله که آرزو ميکنم هرچي از خدا خواستي بهت بده. متشکرم. يک اييمل هم قبلا براتون فرستادم منتها هنوز جواب نداديد.

 

maryam98

تازه وارد
ميشه بگيد چطوري بايد اين برنامه رو به سايتمون اضافه كنيم كه درست كار كنه

 

saeid176

تازه وارد
سلام

در قسمت تماس با ما آدرس ايميل گيرنده info@mysite.com را در چه قسمتي بايد وارد كنم ؟ بايد بين كدهاي HTML باشه ؟

ميشه آدرس ايميل ياهو و جيميل وارد كرد ؟

 

vahid2007

تازه وارد
سلام محمد جان

من یک صفحه ثبت نام دارم که می خواهم یک کد امنیتی در اون صفحه قرار بدم که کادر ها شامل نام-ایمیل-تایید ایمیل-پسورد-است

لطفا کمک کن خیلی نیاز دارم

این هم کد pho کامل صفحه


کد:
<?php
require_once(dirname(__FILE__) . '/libs/b3.php');
require_once(dirname(__FILE__) . '/libs/GRS.function.php');
$headertitle = "Create a New Account";include('header.php');

if ($_SERVER['QUERY_STRING'] == 'terms') {
    uheader();
    echo("<div align=center class=\"big\">Terms and Conditions</div>\n");
    $res = mysql_query("select content from html where type='terms'");
    $terms = mysql_result($res, 0, "content");
    echo($terms);
    ufooter();
} else {
    $res = mysql_query("select content from html where type='head1'");
    $hf = mysql_result($res, 0, "content");
    echo($hf);
    if ($form == 'sent') {
        $checkpass = 'true';
        $error = '<div align=center><font face=$fontface color=red size=2><b>Please, correct the following:<br>';
        if (ereg('%', $name) || ereg('<', $name) || ereg('>', $name)) {
            $error = $error . 'Your name contains inadmissible characters<br>';
            $checkpass = 'false';
        }
        if ($name == "") {
            $error = $error . 'You must enter your name<br>';
            $checkpass = 'false';
        }
        $trimail = trim($email1);
        $res = mysql_query("select count(*) from user where email='$trimail1'");
        if (mysql_result($res, 0) != 0) {
            $error = $error . 'Your e-mail address is already registered<br>';
            $checkpass = 'false';
        }
        if (!ereg('@', $email1) || !ereg('.', $email1)) {
            $error = $error . 'Your e-mail address is invalid<br>';
            $checkpass = 'false';
        }
        if ($email1 != $email2) {
            $error = $error . 'Your e-mail address doesn\'t match<br>';
            $checkpass = 'false';
        }
        if ($passwd == "") {
            $error = $error . 'You must enter your password<br>';
            $checkpass = 'false';
        } elseif (strlen($passwd) < 6) {
            $error = $error . 'Your password must be at least 6 characters long<br>';
            $checkpass = 'false';
        }
        if (ereg('%', $passwd) || ereg(' ', $passwd)) {
            $error = $error . 'Your password contains inadmissible characters<br>';
            $checkpass = 'false';
        }
        if ($C->sfrfvi('count(*)', 'user', 'where email="'.addslashes($email1).'"') === 1) {
            $error = $error . 'The e-mail address is already registered<br>';
            $checkpass = 'false';
        }
        /*
            check the signup ip. it must not be used before. it it has been used, then the user can't sign up.
            Hardi. 21.07.2008 10:21
            IPB
        */
        if ($Cuscus->sfrfvi('COUNT(*)', 'user', 'where activate_IP = "' . $_SERVER['REMOTE_ADDR'] . '"')) {
            $error .= 'This IP has already been used<br>';
            $checkpass = 'false';
        }
        //eo IPB
        if ($termscheck != 1) {
            $error = $error . 'Your must check and agree to our terms<br>';
            $checkpass = 'false';
        }
        if ($checkpass != 'true') {
            $error = $error . '</font></b></div>';
            echo($error);
        }
    }
    if ($checkpass != 'true') {
        echo("<table border=0 cellpadding=5 cellspacing=0 width=100%><form action=$PHP_SELF method=post name=nu><input type=hidden name=form value=sent>\n");
        if (isset($ref) && is_numeric($ref)) {
            echo("<input type=hidden name=ref value=$ref>");
        }
        echo("<tr><td class=boxtext  width=50% align=right valign=top><font >نام شما:</td><td class=boxtext  width=50% align=left valign=top><input value=\"$name\" type=text name=name size=20 maxlength=100></td></tr>\n");
        echo("<tr><td class=boxtext  align=right valign=top><font >ایمیل شما:</td><td class=boxtext  align=left valign=top><input value=\"$email1\" type=text name=email1 size=20 maxlength=100></td></tr>\n");
        echo("<tr><td class=boxtext  align=right valign=top><font >تایید ایمیل:</td><td class=boxtext  align=left valign=top><input value=\"$email2\" type=text name=email2 size=20 maxlength=100></td></tr>\n");
        echo("<tr><td class=boxtext  align=right valign=top><font >رمز عبور:</td><td class=boxtext  align=left valign=top><input value=\"$passwd\" type=password name=passwd size=20 maxlength=20></td></tr>\n");
        echo("<tr><td class=boxtext  align=center valign=top colspan=2><input type=checkbox");
        if ($termscheck == 1) {echo(" checked");}
        echo(" name=termscheck value=1><font > I agree with <a href=terms.php target=_blank><b><font>terms and conditions</b></a></td></tr>\n");
        /*echo("<tr><td class=boxtext  align=center valign=top colspan=2><b><font ><b><font color=red>Important:</font></b> Your site must not have any pop-up windows, must not break out of frames, must not use any forwarding or redirection!</b></td></tr>\n");*/
        echo("<tr><td class=boxtext  align=center valign=top colspan=2><input type=submit value=\"Register!\"></td></tr>\n");
        echo("</form></table>\n");
    } else {
        srand((double)microtime()*1000000);
        $ac = rand(1000, 10000);
        $name = trim($name);
        $email = trim($email1);
        $sitename = trim($sitename);
        $name = addslashes($name);
        $sitename = addslashes($sitename);
        $res = mysql_query("select value from adminprops where field='inibon'");
        $inibon = mysql_result($res, 0, "value");
        if (!isset($ref) || !is_numeric($ref)) {$ref=0;}
        $date = date("Y-m-d H:i:s");
        $secid = GRS(10);
        $res = mysql_query("insert into user (name, email, passwd, ref, acctype, credits, joindate, minmax, lastaccess, ac, secid) values ('$name', '$email', '$passwd', $ref, 1, 0, '$date', 1, '$date', $ac, '$secid')");
        $usrid = mysql_insert_id();
        $surpres = mysql_query("update adminprops set value=value-$inibon where field='surplu'");
        $res = mysql_query("select value from admin where field='email'");
        $admail = mysql_result($res, 0, "value");

        if ($ref != 0) {

            $getrefemail = mysql_query("select email from user where id=$ref");

            if (mysql_num_rows($getrefemail) !=0) {
                $refemail = mysql_result($getrefemail, 0, "email");

                mail($refemail, "New Referral At $title", "Hello, a new referral has joined your $title downline!\n\nThank you for promoting your $title referral URL!\n\n$title Admin\nhttp://$siteurl/\n$admail", "From: \"$title Admin\" <$admail>");

            }
        }
        mail($email, "Thank you for registration at $title!", "$name, Thank you for registration!\n\nYour $title login is: $email\nYour $title password is: $passwd\n\nTo activate your account you must open the following link:\n$self_url" . "activate.php?ac=$ac&i=$usrid\nClick or copy-paste it to your browser's query string.\n\nYour referral link  is:\nhttp://$siteurl?ref=$usrid\nYou will earn 0.1 credit every time your referant shows a site!\n\nBy activating your account, you agree to receive future emails. You can stop receiving by deleting your account.\n\n$title Admin\nhttp://$siteurl/\n$admail", "From: \"$title Admin\" <$admail>");
        echo("<p align=center class=\"big\">از ثبت نام شما متشکریم</p>");
        echo("<p align=center>لینک فعال سازی به این ایمیل ارسال شد $email.</p>");
        echo("<p align=center>لطفا پوشه اسپم خود را هم چک کنید.</p>");
    }
    ufooter();
}
include('footer.php');
?>
 
آخرین ویرایش توسط مدیر:

vahid2007

تازه وارد
کسی نیست کمک کنه نیاز دارم هزینه اش را پرداخت می کنم

 

Mohammad

مدیر انجمن
پرسنل مدیریت
دوست من. برای قرار دادن کد امنیتی باید یک سشن تعریف کنی. و کد تصویر رو قرار بدی. و یک شرط بزاری که مقدار ارسال شده اگر برابر با مقدار سشن بود شرط درسته و برو ارسال کن در غیر اینصورت پیغام بده کد امنیتی اشتباه هست

 

vahid2007

تازه وارد
دوست من. برای قرار دادن کد امنیتی باید یک سشن تعریف کنی. و کد تصویر رو قرار بدی. و یک شرط بزاری که مقدار ارسال شده اگر برابر با مقدار سشن بود شرط درسته و برو ارسال کن در غیر اینصورت پیغام بده کد امنیتی اشتباه هست
میشه شما یه کد امنیتی تو این فرم ثبت نام بزارید ؟

من هر کاری کردم باز هم ارور میده

 
آخرین ویرایش توسط مدیر:

ehsan_pars

تازه وارد
دوستان فرم رو هاست من کامل کار میکنه و میزنه پیام با موفقیت ارسال شد ولی هیچ میلی برام نمیاد . قسمت $to رو هم درست ست کردم .
با سلام شایدشما از هاست رایگان استفاده می کنید-این هاست ها فکر کنم اجازه نمی دن از سرورشون نامه ارسال بشه-منم همین مشکل رو دارم-اگه مشکل از جای دیگه بود لطفا منو درجریان بزارید با تشکر

 

ahora7

تازه وارد
سلام آقا محمد عزيز. سپاس از اين فرم مفيد. اما بنده مشكل دارم. يكي اينكه كد امنيتي توي لوكال هاست (كامپيوتر) مياد اما توي فضاي هاستم روي نت نمياد. و يكي ديگه اينكه هر ايملي رو در قسمت $to ميزارم و تست ميكنم ايملي ارسال نميشه.

لطفا راهنمايي كنيد چيكار كنم؟

ضمنا هاستم هم رايگان نيست. دايركت ادمين هست

 

venoos

تازه وارد
با سلام من این فرم را اینجا اپلود کردم و کد امنیتی کار نمی کنه

چرا؟



با تشککر

 

iPersianScript

کاربر عضو
با سلام من این فرم را اینجا اپلود کردم و کد امنیتی کار نمی کنه چرا؟



با تشککر
. سلام

. در چند پست قبل اشاره شد.. هاستتون رایگان هست.. :|:|

 

shaahin.shk

تازه وارد
سلام محمد جان ، ببخشید وقتت رو میگیرم ، من از این فرم تو قالبم استفاده کردم البته با یه کم تغییرات خیلی عالی و خوب بود و فکر می کنم همه نیاز های وبمستر ها رو تامین کنه . ولی دو تا مشکل داره که امیدوارم لطف کنی در موردش راهنماییم کنی چون واقعا حیفه :

اول اینکه پیام ها به ایمیلی غیر از ایمیل سرور هاست ارسال نمیشه و فکر میکنم به خاطر این باشه که تنظیمات smtp ایمیل آدرس های خارجی براش تعریف نشده .

دوم هم اینکه پیام ها از utf8 پشتیبانی نمیشه و به صورت ناخوانا میاد و در این مورد هم من تنظیمات unicode رو تو کدها ندیدم .

خیلی ممنونت میشم راهنمایی کنی ، چون من نیاز دارم که ایمیل ها به یه ایمیل آدرس خارجی مثل یاهو یا جیمیل ارسال بشه ، البته تنظیمات smtp اونها رو دارم ولی نحوه وارد کردن اون و یونیکد رو بلد نیستم .البته هاستم هم رایگان نیست و از پلسک استفاده می کنم .

خیلی ممنون

 

m0rt3za

تازه وارد
سلام

کد امنیتی رو نشون نمیده

بزرگی و کوچکی حروف رو هم تغییر دادم ولی درست نشد

مشکل چیه؟

 

khaales

تازه وارد
سلام

اولا خیلی تشکر می کنم از آماده کردن این بسته خوب و شکیل

اما این بسته چند تا اشکال داره که اگر اونها رفع بشه مشکلی نمی مونه. من با سعی و خطا و یه کم کدنویسی و تغییر کدهای موجود این کار رو کردم و خواستم اینجا بگم که دوستان م هم استفاده کنند


کد:
            $to = "info@chibepazam.com";
            $name = $_POST['name'];
            $sub = $_POST['subject'];
            $subject = "A New Message from Contacus ChiBepazam Form!!!";
            $from = $_POST['email'];
            $user_message = $_POST['message'];
توی فایل کانتکت اصلی قسمتی مشابه این رو پیدا کنید

اولا متغیر name وجود نداره و اون خط رو باید اضافه کنید وگرنه ایمیل هایی که براتون میاد جلوی نام رو خالی می گذاره

ثانیا برای من ایمیل ها می رفت توی اسپم و برای این که این جوری نشه باید یه ***** توی میل باکس م درست می کردم که همه ی ایمیل هایی که از این طریق میاد برن توی یه فولدر خاص

برای همین از روی subject کپی کردم و اسمش رو sub گذاشتم و از اون توی متن ایمیل استفاده کردم که موضوعی که فرد نظر دهنده نوشته رو اونجا بهم بگه ولی subject اصلی که موضوع ایمیل می شه رو خودم یه جمله ثابت گذاشتم که از روش متوجه بشم این ایمیل از کجا اومده و مال چیه و بره تو یه فولدر خاص.


کد:
            $body = "\n".
            "نام: $name\n".
            "موضوع: $sub\n".
            "ایمیل: $from \n".
            "توضیحات: \n ".
            "$user_message\n".
بقیه تغییراتی که دادم هم مربوط به تم خودم می شد

می تونید نتیجه رو اینجا ببینید:



 

irclub

تازه وارد
در اینجا آموزشش را داره
 
بالا