سخن امروز
  • قوانین کلی
  • ترجمه آنلاین
  • آپلود فایل
  • بازارچه تالار
قبل از هر گونه فعالیت ، پرسش و یا پاسخ به دیگران ، لطفا قوانین تالارهای گفتگوی پرشین اسکریپت را مطالعه کنید. برای مطالعه قوانین اینجا کلیک کنید.
09/20 09/8
09/04

کاربران برچسب زده شده

صفحه 1 از 22 12311 ... آخرینآخرین
نمایش نتایج: از 1 به 10 از 217
Like Tree65Likes

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

  1. Top | #1

    تاریخ عضویت
    April 2008
    شماره عضویت
    2
    محل سکونت
    PersianScript
    نوشته ها
    8,854
    سیستم مدیریت محتوا
    وردپرس
    انجمن ساز
    vBulletin
    امتیاز کاربری
    54 از 100
    تشکر
    7,549
    تشکر شده 5,641 بار در 2,947 پست
    یاد شده
    در 4 پست
    برچسب زده شده
    در 9 تاپیک

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

    در این مطلب قصد داریم آموزش دهیم که چگونه یک فرم تماس با ما همراه با کد امنیتی طراحی کنید و در سایت خود استفاده نمایید.


    مواد اولیه :

    1. نرم افزار محبوب Notepad++ - [Only registered and activated users can see links. ]
    2. یا نرم افزار DreamWeaver - [Only registered and activated users can see links. ]


    نیازمندی های درک آموزش:

    1. آشنایی با مفاهیم HTML و CSS
    2. آشنایی با PHP در حد مبتدی


    شروع آموزش:

    مرحله اول: طراحی فرم تماس با ما (html)

    در ابتدا یک صفحه php در نرم افزار DreamWeaver میسازیم و داخلش یک فرم شبیه به زیر طراحی میکنیم. نام این صفحه رو میزاریم contact.php
    (طراحی Table یا CSS بستگی به خود شما داره)
    من چند فیلد و یک دکمه در این فرم گذاشتم که name (نام) هر فرم به صورت زیر هست:
    نام: name
    ایمیل:email
    موضوع:subject
    متن پیام:message
    بعدا هم قراره برای کد امنیتی یک فیلد با نام code تعریف کنم.
    و دکمه (submit)


    من فرم خودم رو طراحی کردم و به این صورت در اومده:
    کد HTML:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>تماس با ما</title>
    <link href="style.cیss" rel="stylesheet" type="text/css">
    </head>
    <body>
    <div id="main">
    <div class="content">
    <h2>ارتباط با ما</h2> 
        <p>برای تماس با ما میتوانید از فرم زیر استفاده نمایید</p>
        <div class="forms">                        
        <form action="" method="post">
        <label for="username"> نام : </label>
        <input type="text" class="form" value="" name="name">
        <br/><br/><br/>
        <label for="email"> ایمیل : </label>
        <input type="text" id="email" value="" class="form-ltr" name="email">
        <br/><br/><br/>
        <label for="sub"> موضوع : </label>
        <input type="text" id="sub" value="" class="form" name="subject">
        <br/><br/><br/>
        <label for="mess"> پیام شما : </label>
        <textarea class="form" id="mess" rows="7" name="message"></textarea>
        <br/>
    
        <br/><br/><br/>
        <input type="submit" name="submit" value="  ارسال  ">
        </form>
        </div>
        </div>
        
        
    </div>
    </body></html>
    همون طور که میبینید من فرم رو به وسیله POST به همین صفحه ارسال میکنم.
    پیشنمایش:
    [Only registered and activated users can see links. ]


    --------------------------
    مرحله دوم - طراحی CSS:
    من برای زیبا کردن طرح فرم تماس با ما, کد CSS رو طراحی کردم. برای class form,content,... همچنین برای input و textarea هم CSS تعریف کردم که به این صورت در اومده:

    کد:
    body {
        font-family:tahoma;
        font-size:8pt;
        color:#787878;
        direction:rtl;
        text-align:right;
        margin:0 auto;
        width:500px;
        padding:0px;
        background-color:#fff;
        
    }
    
    .error{
        width:400px;
        border:1px #d3400d solid;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        margin:5px 10px 10px 10px;
        padding:10px 10px 10px 10px;
        background:#ff8053;
    }
    
    .ok{
        width:400px;
        border:1px #a1cb45 solid;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        margin:5px 10px 10px 10px;
        padding:10px 10px 10px 10px;
        background:#eaf8cc;
        display:block;
    
    }
    
    #main{
        background-color:#ffffff;
    }
    
    .clear{clear:both}
    
    form {
        margin:0px;
        padding:0px;
    }
    
    a {
        color:#ffffff;
        text-decoration:none;
    }
    
    a:hover {
        color:#fec053;
    }
    
    input, select, textarea {
        font-family:tahoma;
        padding:5px;
        font-size:8pt;
        border: 1px solid #cacaca;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
    }
    input[type="submit"]{
        font-family:tahoma;
        padding:5px;
        font-size:9pt;
        border: 1px solid #cacaca;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
    }
    
    input[type="submit"]:hover{
        font-family:tahoma;
        padding:5px;
        font-size:9pt;
        border: 1px solid #7613ae;
        background:#7613ae;
        color:#fff;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
    }
    
    input:hover ,select:hover,textarea:hover {
        border: 1px solid #6295f3;
        padding:5px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
    }
    
    .content {
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px;
        margin:50px 0 0 0;
        padding:10px;
        text-align:justify;
        border:1px solid #F2F2F2;
        
    }
    
    #copyright{padding-top:20px;text-align:center}
    
    .forms {
        direction: rtl;
        padding-right:20px;
        text-align: right;
        font: normal 11px Tahoma, Geneva, sans-serif;
    }
    .forms h2 {
        font: bold 11px tahoma;
        padding: 8px 2px;
        border-bottom: 1px solid #CCC;
    }
    
    .forms label {
        width: 100px;
        float: right;
        margin: 5px 0 0 0;
    }
    
    .forms .form, .forms .form-ltr {
        width: 200px;
        float: right;
        padding: 2px;
        font: normal 11px Tahoma, Geneva, sans-serif;
        margin: 5px 0;
    }
    .forms .form-ltr {
        direction: ltr;
        text-align: left;
    }
    .forms .text {
        width: 250px;
        height: 100px;
        overflow: auto;
        font: normal 11px/1.4 Tahoma, Geneva, sans-serif;
    }
    پیشنمایش:
    [Only registered and activated users can see links. ]


    -----------------------

    مرحله سوم - ساخت فایل کد امنیتی:
    من قصد دارم یک تصویر بسازم که داخلش چند عدد (چهار رقم) رو به صورت تصادفی بسازه و به کاربر نمایش بده. بعدا قراره ما با استفاده از سشن (session) ها بررسی کنیم که آیا مقدار وارد شده کاربر با مقدار داده شده درست هست یا خیر

    کد ساخته شده به شرح زیر هست: این کد رو با نام captcha.php ذخیره میکنیم.

    کد PHP:
    <?php

    session_start
    ();

    $string '';

    for (
    $i 0$i 4$i++) {
        
    // this numbers refer to numbers of the ascii table (lower case)
        
    $string .= chr(rand(4857));
    }

    $_SESSION['rand_code'] = $string;

    $dir 'fonts/';

    $image imagecreatetruecolor(17060);
    $black imagecolorallocate($image000);
    $color imagecolorallocate($image10010090);
    $white imagecolorallocate($image255255255);

    imagefilledrectangle($image,0,0,399,99,$white);
    imagettftext ($image3001040$color$dir."acmesai.ttf"$_SESSION['rand_code']);

    header("Content-type: image/png");
    imagepng($image);

    ?>
    همون طور که در کد بالا میبینید ما از یک پوشه با نام fonts یک فونت با نام acmesai.ttf رو برای نمایش اعداد با این فونت میخونیم.
    و از آخر به صورت خروجی تصویر چاپ میکنیم.(تنظیمات دیگه ای مثل رنگ اعداد و... هست که خودتون میتونید به دلخواه وارد کنید.

    -------------
    حالا ما برای نمایش کد امنیتی در فرم خودمون این کد رو به فرم اضافه میکنیم.

    کد HTML:
    <label for="Email"> کد امنیتی : </label>
        <image src="captcha.php" />
        <br/><br/><br/>
        <label for="code"> وارد کنید : </label>
        <input type="text" value="" id="code" class="form-ltr" name="code">
        <br/><br/><br/>
    مرحله چهارم - بررسی و ارسال ایمیل:

    در این مرحله ما وارد فایل contact.php میشیم و بالای کد های html , دستورات php رو آغاز میکنیم.

    مینویسیم :

    کد PHP:
    <?php

    session_start
    ();

    if(isset(
    $_POST['submit'])) {

        if(!empty(
    $_POST['name']) && !empty($_POST['email']) && !empty($_POST['message']) && !empty($_POST['code']) && !empty($_POST['subject'])) {

            if(
    $_POST['code'] == $_SESSION['rand_code']) {

                
    // send email
                
                
    $accept "پیغام شما با موفقیت ارسال شد. با تشکر";
                
    $to "persianscript.ir@gmail.com";
                
    $subject $_POST['subject'];
                
    $from $_POST['email'];
                
    $user_message $_POST['message'];
                
                
    $body "\n".
                
    "نام: $name\n".
                
    "ایمیل: $from \n".
                
    "توضیحات: \n ".
                
    "$user_message\n".
                
                
    $headers "From: $from \r\n";
                
    $headers .= "Reply-To: $from \r\n";
                
                
    mail($to$subject$body$headers);
            } else {

                
    $error "کد امنیتی را اشتباه وارد کرده اید! دوباره امتحان کنید";

            }

        } else {

            
    $error "لطفا تمامی فیلد ها را تکمیل نمایید.";

        }

    }

    ?>
    در ابتدا ما لایه جلسه رو روشن میکنیم. (سشن ها - برای بررسی صحت درست ارسال شدن کد امنیتی)

    سپس با دستور شرط میگیم اگر کاربر دکمه submit را زده بود دستورات زیر مجموعه را اجرا کن

    بعد از مرحله بالا ما شرط میزاریم که اگر فیلد های name,emailmsubject,message,code توسط کاربر خالی ارسال نشده بود کد های زیر رو اجرا کن در غیر اینصورت مقدار error برابر هست با "لطفا تمامی فیلد ها را تکمیل نمایید."
    (قرار هست بعدا مقدار error یا accept چاپ بشن که کاربر رو از وضعیت فرم اگاه کنن)

    در دستور بعدی ما میگیم در صورتی که سشن code که توسط کاربر ارسال شده برابر با مقدار داده شده کد تصادفی (rand_code) هست محتویات رو ایمیل کن و به کاربر بگو که فرم شما ارسال شد در غیر اینصورت بگو کد امنیتی رو اشتباه وارد کردی!

    حالا در صورتی که کاربر کد رو درست ارسال کرده بود و تمامی شرط ها بر قرار بود و کاربر کد امنیتی رو درست ارسال کرده بود ما میایم و مقدار های ارسال شده توسط کاربر رو داخل یک متغیر میریزیم و بعد با استفاده از تابع mail() میفرستیم به کاربر

    کدوم کاربر؟ همون کاربری که ایمیلش داخل قسمت متغیر $to هست.


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

    کد PHP:
    <?php if(!empty($error)) echo '<div class="error">'.$error.'</div>'?>
    <?php 
    if(!empty($accept)) echo '<div class="ok">'.$accept.'</div>'?>
    این کد ها میگن در صورتی که مقدار error یا accept خالی نبود اون وقت چاپشون کن!


    تمام...

    پیشنمایش کامل اسکریپت:
    [Only registered and activated users can see links. ]


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


    [Only registered and activated users can see links. ]
    mnc, amirhvr, jafar1374 و 31 نفر دیگر این مطلب را می پسندند.
    [Only registered and activated users can see links. ]
    ============================
    [Only registered and activated users can see links. ]

    ارتــــبــــــاط بـــــا مـــ[Only registered and activated users can see links. ]ــــن:
    Gtalk: persianscript.ir
    Yahoo!: ps_ir

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


  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    محل سکونت
    Advertising world
    نوشته ها
    Many
    دونیت | جذب حمایت مالی 09/07
     

  3. Top | #2

    تاریخ عضویت
    August 2009
    شماره عضویت
    6862
    محل سکونت
    فارس
    نوشته ها
    950
    امتیاز کاربری
    40 از 100
    تشکر
    272
    تشکر شده 107 بار در 73 پست
    یاد شده
    در 0 پست
    برچسب زده شده
    در 0 تاپیک

    پیش فرض

    اگر بخواهیم فیلدی اضاف کنیم بجز ظاهرفرم جایی هم باید تغییر داد یانه؟
    این فرم با فرونت پیج هم میشه ساخت درسته؟

  4. Top | #3

    تاریخ عضویت
    June 2010
    شماره عضویت
    9745
    نوشته ها
    1,407
    امتیاز کاربری
    41 از 100
    تشکر
    842
    تشکر شده 1,496 بار در 917 پست
    یاد شده
    در 0 پست
    برچسب زده شده
    در 0 تاپیک

    پیش فرض

    اگر بخواهیم فیلدی اضاف کنیم بجز ظاهرفرم جایی هم باید تغییر داد یانه؟
    بله باید تغییر داد.
    این فرم با فرونت پیج هم میشه ساخت درسته؟
    بله ظاهرش رو میشه اما برای بررسی فرم و ارسال ایمیل نرم افزار DreamWeaver بهتر جواب می ده

  5. 3 کاربر به دلیل پست مفید mahdiali35 از وی تشکر کرده اند:


  6. Top | #4

    تاریخ عضویت
    December 2010
    شماره عضویت
    11749
    محل سکونت
    شیراز
    نوشته ها
    46
    امتیاز کاربری
    24 از 100
    تشکر
    10
    تشکر شده 0 بار در 0 پست
    یاد شده
    در 0 پست
    برچسب زده شده
    در 0 تاپیک

    پیش فرض

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

  7. Top | #5

    تاریخ عضویت
    December 2010
    شماره عضویت
    11749
    محل سکونت
    شیراز
    نوشته ها
    46
    امتیاز کاربری
    24 از 100
    تشکر
    10
    تشکر شده 0 بار در 0 پست
    یاد شده
    در 0 پست
    برچسب زده شده
    در 0 تاپیک

    پیش فرض

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

  8. Top | #6

    تاریخ عضویت
    April 2008
    شماره عضویت
    2
    محل سکونت
    PersianScript
    نوشته ها
    8,854
    سیستم مدیریت محتوا
    وردپرس
    انجمن ساز
    vBulletin
    امتیاز کاربری
    54 از 100
    تشکر
    7,549
    تشکر شده 5,641 بار در 2,947 پست
    یاد شده
    در 4 پست
    برچسب زده شده
    در 9 تاپیک

    پیش فرض

    دوست عزیز! اسکریپت تست شده هست. در لوکال تست نکنید!...
    [Only registered and activated users can see links. ]
    ============================
    [Only registered and activated users can see links. ]

    ارتــــبــــــاط بـــــا مـــ[Only registered and activated users can see links. ]ــــن:
    Gtalk: persianscript.ir
    Yahoo!: ps_ir

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

  9. کاربران زیر به خاطر پست مفید Mohammad از وی تشکر کرده اند:


  10. Top | #7

    تاریخ عضویت
    December 2010
    شماره عضویت
    11749
    محل سکونت
    شیراز
    نوشته ها
    46
    امتیاز کاربری
    24 از 100
    تشکر
    10
    تشکر شده 0 بار در 0 پست
    یاد شده
    در 0 پست
    برچسب زده شده
    در 0 تاپیک

    پیش فرض

    نه من رو هاست خودم گذاشتم ولی کار نمی کرد

  11. Top | #8

    تاریخ عضویت
    December 2010
    شماره عضویت
    11749
    محل سکونت
    شیراز
    نوشته ها
    46
    امتیاز کاربری
    24 از 100
    تشکر
    10
    تشکر شده 0 بار در 0 پست
    یاد شده
    در 0 پست
    برچسب زده شده
    در 0 تاپیک

    پیش فرض

    ایمیل میفرسته ولی ...
    موارد بالا را بخونید

  12. Top | #9

    تاریخ عضویت
    December 2010
    شماره عضویت
    11749
    محل سکونت
    شیراز
    نوشته ها
    46
    امتیاز کاربری
    24 از 100
    تشکر
    10
    تشکر شده 0 بار در 0 پست
    یاد شده
    در 0 پست
    برچسب زده شده
    در 0 تاپیک

    پیش فرض

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

  13. Top | #10

    تاریخ عضویت
    April 2008
    شماره عضویت
    2
    محل سکونت
    PersianScript
    نوشته ها
    8,854
    سیستم مدیریت محتوا
    وردپرس
    انجمن ساز
    vBulletin
    امتیاز کاربری
    54 از 100
    تشکر
    7,549
    تشکر شده 5,641 بار در 2,947 پست
    یاد شده
    در 4 پست
    برچسب زده شده
    در 9 تاپیک

    پیش فرض

    من براتون دمو میدم تا از سالم بودن سیستم مطمئن بشید. موفق باشید
    [Only registered and activated users can see links. ]
    ============================
    [Only registered and activated users can see links. ]

    ارتــــبــــــاط بـــــا مـــ[Only registered and activated users can see links. ]ــــن:
    Gtalk: persianscript.ir
    Yahoo!: ps_ir

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

صفحه 1 از 22 12311 ... آخرینآخرین

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •