سوال در فرم تماس با ما در سایت های استاتیک ؟

abi_designer

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

من یک راهنمائی نیاز داشتم اونم اینکه من یک سایت استاتیک دارم و از اونجایی که یک سایت استاتیک نمی تونه به خودی خود فرم تماس با ما ایجاد کند، باید از php استفاده کنم.

روش درست کردن فرم تماس با ما رو دوستان تو سایت گذاشتن، سوال من اینه که چه جوری الان من این صفحه ی طراحی شده و کد نویسی شده php رو به سایت خودم ارتباط بدم ؟

لطفا راهنمائیم کنید.

با تشکر

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

kasraa

کاربر عضو
خب میتونی فرم رو درست کنی و روی هاستت قرار بدی و آدرس بدی

یا اگر میخوای توی قالبت فراخوانی کنی اگر با php نمیخوای میتونی از ایفرم استفاده کنی :


کد:
<iframe width="487" height="463" src="adrese-form" name="contact" scrolling="no" align="center" border="0" frameborder="0">


</iframe>
 

abi_designer

تازه وارد
من کمی آماتور هستم میشه کمی ساده تر بهم بگین.

شما گفتین باید صفحه ای که با php طراحی کردم تو هاستم بذارم و آدرس بدم ؟

آدرس چی باید بدم ؟

این ifram که گفتین یعنی دیگه نیاز نیست صفحه ای داینامیک با php طراحی کنم، یک صفحه معمولی html فرم تماس با ما درست کنم و اینو کد داخلش بذارم ؟

راستی یه چیز دیگه واسه درست کردن فرم تماس با ما تو php باید یک صفحه با نام Contact.php و یکی ام برای کد امنیتی با نام captcha.php درست کنم. فقط همین 2 تا است.

 

iPersianScript

کاربر عضو
من کمی آماتور هستم میشه کمی ساده تر بهم بگین.شما گفتین باید صفحه ای که با php طراحی کردم تو هاستم بذارم و آدرس بدم ؟

آدرس چی باید بدم ؟

این ifram که گفتین یعنی دیگه نیاز نیست صفحه ای داینامیک با php طراحی کنم، یک صفحه معمولی html فرم تماس با ما درست کنم و اینو کد داخلش بذارم ؟

راستی یه چیز دیگه واسه درست کردن فرم تماس با ما تو php باید یک صفحه با نام Contact.php و یکی ام برای کد امنیتی با نام captcha.php درست کنم. فقط همین 2 تا است.
.

. سـلام :55:

. فرمی که داری یه صفحه اصلی داره! درسته ؟؟ /:)

. به قسمت src در iframe آدرس یا محل دقیق صفحه اصلی فرم رو وارد کن.. :|:|

. "آدرس صفحه اصلی فرم"=src

. در حد مبتدی شرح دادم! ولی بازم مشکل بود بگو پرشین اسکریپتی ها، سریع و یا بالاخره! راهنمائی می کنن! :67:

. خـوش باشیـد :54:

.

 

kasraa

کاربر عضو
دوست عزیز اگر هم نخواسی از ایفرم استفاده کنی همون فایلو که میسازی مثلا contact.php رو روی سایتت آپلود کن و لینکشو بزار هرجا میخوای

مثلا اگر تو شاخه ی public_html آپلود میکنی آدرسش میشه این :



دادا iPersianScript جون کمتر میای نت :-s

یه کم بیتشر بیا مثل قبل از اطلاعاتت استفاده کنیم :x

 

abi_designer

تازه وارد
یک سوالمو جواب ندادین آیا برای طراحی و درست کردن فرم تماس با ما در php فقط یک صفحه کافیه یا باید دو صفحه طراحی بشه ؟

و اینکه وقتی من صفحه رو تو php درست کردم و به قول شما تو سایت آپلود کردم کجا این صفحه رو به صفحه سایتم ارتباطش بدم که وقتی رو صفحه اصلی سایتم کاربر رفت رو گزینه تماس با ما کیلیک کرد این صفحه contatc.php باز بشه.

یه سوال دیگه ام اینکه من یک فرم تماس با ما از دوستان گرفتم می خواستم بدونم فقط من باید قسمت $to ایمیل وارد کنم و چیز دیگه ای رو نباید تغییر بدم ؟


کد:
<?php
//start session
session_start();

//Design By iran-forum.ir
//www.iran-forum.ir

// prints form
function print_form(){
?>
<style type="text/css">
<!--
.vasat {
    text-align: center;
}
.vasat {
    text-align: center;
}
.ghermez {
    color: #F00;
}
-->
</style>

<p><span class="required">*</span> فيلدهاي مهم</p>
    <form method="post" action="<?php echo $_SERVER[’PHP_SELF’];?>" id="uploadform" enctype="multipart/form-data">
    <p><label for="namefrom">نام <span class="required">*</span></label>
    <input name="namefrom" id="namefrom" type="text" class="field" value="<?= $_SESSION['myForm']['namefrom']; ?>" tabindex="1"/></p>

    <p><label for="company">شرکت</label>
    <input name="company" id="company" type="text" class="field" value="<?= $_SESSION['myForm']['company']; ?>" tabindex="2"/></p>

    <p><label for="emailfrom">ايميل <span class="required">*</span></label>
    <input name="emailfrom" id="emailfrom" type="text" class="field" value="<?= $_SESSION['myForm']['emailfrom']; ?>" tabindex="3"/></p>

    <p><label for="phone">تلفن تماس</label>
    <input name="phone" id="phone" type="text" class="field" value="<?= $_SESSION['myForm']['phone']; ?>" tabindex="4"/></p>

    <p><label for="subject">موضوع <span class="required">*</span></label>
    <input name="subject" id="subject" type="text" class="field" value="<?= $_SESSION['myForm']['subject']; ?>" tabindex="5"/></p>

    <p><label for="comments">پيام <span class="required">*</span></label>
    <textarea name="comments" id="comments" rows="7" cols="10" class="field" tabindex="6"><?= $_SESSION['myForm']['comments']; ?></textarea></p>

    <p><label for="attachment">ارسال فايل<br /></label>
    <input name="attachment" id="attachment" type="file" tabindex="7">    
    <p class="ghermez"><br />
    (حداکثر حجم مجاز 5 مگابايت مي باشد . فايل هاي مجاز rar, zip, pdf, doc, jpg, bmp)

    <p><input type="submit" name="submit" id="submit" value="ارسال پيام"  tabindex="8"/></p>
    <p><input type="hidden" name="submitted"  value="true" /></p>
    </form>
<?php
}

// enquiry form validation

function process_form() {
    // Read POST request params into global vars
    // FILL IN YOUR EMAIL
    $to = "Your Email";
    $subject = trim($_POST['subject']);
    $namefrom = trim($_POST['namefrom']);
    $company = trim($_POST['company']);
    $phone = trim($_POST['phone']);
    $emailfrom = trim($_POST['emailfrom']);
    $comments = trim($_POST['comments']);

    // Allowed file types. add file extensions WITHOUT the dot.
    $allowtypes=array("zip", "rar", "doc", "jpg", "gif", "bmp", "pdf");

    // Require a file to be attached: false = Do not allow attachments true = allow only 1 file to be attached
    $requirefile="false";

    // Maximum file size for attachments in KB NOT Bytes for simplicity. MAKE SURE your php.ini can handel it,
    // post_max_size, upload_max_filesize, file_uploads, max_execution_time!
    // 2048kb = 2MB,       1024kb = 1MB,     512kb = 1/2MB etc..
    $max_file_size="5120";

    // Thank you message
    $thanksmessage="پيام شما با موفقيت ارسال شد . در صورت نياز پاسخ شما را خواهيم داد . با تشکر";

    $errors = array(); //Initialize error array

    //checks for a name
    if (empty($_POST['namefrom']) ) {
        $errors[]='نام خود را وارد نکرديد';
        }

    //checks for an email
    if (empty($_POST['emailfrom']) ) {
        $errors[]='ايميل خود را وارد نکرده ايد';
        } else {

        if (!eregi ('^[[:alnum:]][a-z0-9_\.\-]*@[a-z0-9\.\-]+\.[a-z]{2,4}$', stripslashes(trim($_POST['emailfrom'])))) {
            $errors[]='آدرس ايميل وارد شده اشتباه مي باشد';
        } // if eregi
    } // if empty email

    //checks for a subject
    if (empty($_POST['subject']) ) {
        $errors[]='موضوع پيام خود را وارد نکرده ايد';
        }

    //checks for a message
    if (empty($_POST['comments']) ) {
        $errors[]='پيام خود را وارد نکرده ايد';
        }

     // checks for required file
    // http://amiworks.co.in/talk/handling-file-uploads-in-php/
    if($requirefile=="true") {
        if($_FILES['attachment']['error']==4) {
            $errors[]='You forgot to attach a file';
        }
    }

    //checks attachment file
    // checks that we have a file
    if((!empty($_FILES["attachment"])) && ($_FILES['attachment']['error'] == 0)) {
            // basename -- Returns filename component of path
            $filename = basename($_FILES['attachment']['name']);
            $ext = substr($filename, strrpos($filename, '.') + 1);
            $filesize=$_FILES['attachment']['size'];
            $max_bytes=$max_file_size*1024;

            //Check if the file type uploaded is a valid file type. 
            if (!in_array($ext, $allowtypes)) {
                $errors[]="Invalid extension for your file: <strong>".$filename."</strong>";

        // check the size of each file
        } elseif($filesize > $max_bytes) {
                $errors[]= "Your file: <strong>".$filename."</strong> is to big. Max file size is ".$max_file_size."kb.";
            }

    } // if !empty FILES

    if (empty($errors)) { //If everything is OK

        // send an email
        // Obtain file upload vars
        $fileatt      = $_FILES['attachment']['tmp_name'];
        $fileatt_type = $_FILES['attachment']['type'];
        $fileatt_name = $_FILES['attachment']['name'];

        // Headers
        $headers = "From: $emailfrom";

        // create a boundary string. It must be unique
          $semi_rand = md5(time());
          $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

          // Add the headers for a file attachment
          $headers .= "\nMIME-Version: 1.0\n" .
                      "Content-Type: multipart/mixed;\n" .
                      " boundary=\"{$mime_boundary}\"";

          // Add a multipart boundary above the plain message
          $message ="This is a multi-part message in MIME format.\n\n";
          $message.="--{$mime_boundary}\n";
          $message.="Content-Type: text/plain; charset=\"UTF-8\"\n";
          $message.="Content-Transfer-Encoding: 7bit\n\n";
          $message.="از طرف: ".$namefrom."\n";
          $message.="شرکت: ".$company."\n";
          $message.="تلفن: ".$phone."\n";
          $message.="پيام: ".$comments."\n\n";

        if (is_uploaded_file($fileatt)) {
          // Read the file to be attached ('rb' = read binary)
          $file = fopen($fileatt,'rb');
          $data = fread($file,filesize($fileatt));
          fclose($file);

          // Base64 encode the file data
          $data = chunk_split(base64_encode($data));

          // Add file attachment to the message
          $message .= "--{$mime_boundary}\n" .
                      "Content-Type: {$fileatt_type};\n" .
                      " name=\"{$fileatt_name}\"\n" .
                      //"Content-Disposition: attachment;\n" .
                      //" filename=\"{$fileatt_name}\"\n" .
                      "Content-Transfer-Encoding: base64\n\n" .
                      $data . "\n\n" .
                      "--{$mime_boundary}--\n";
        }


        // Send the completed message

        $envs = array("HTTP_USER_AGENT", "REMOTE_ADDR", "REMOTE_HOST");
        foreach ($envs as $env)
        $message .= "$env: $_SERVER[$env]\n";

        if(!mail($to,$subject,$message,$headers)) {
            exit("ايميل شما ارسال نشد . ممکن است مشکلي در سايت ايجاد شده باشد.لطفا بعدا دوباره سعي کنيد\n");
        } else {
            echo '<div id="formfeedback"><h3>با تشکر</h3><p>'. $thanksmessage .'</p></div>';
            unset($_SESSION['myForm']);
            print_form();

        } // end of if !mail

    } else { //report the errors
        echo '<div id="formfeedback"><h3>Error!</h3><p>The following error(s) has occurred:<br />';
        foreach ($errors as $msg) { //prints each error
                echo " - $msg<br />\n";
            } // end of foreach
        echo '</p><p>دوباره سعي کنيد</p></div>';
        print_form();
    } //end of if(empty($errors))

} // end of process_form()
?>
 

Mohammad

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

گاهی اوقات با یک شرط مشخص میکنن و نیازی نیست به صفحه بعدی بره (اسکریپتی که شما گذاشتید از همون روش تبعیت میکنه)

گاهی اوقات اطلاعات رو post میکنن به صفحه دوم!

ایمیل خودتون رو داخل متغیر to بزارید ردیف میشه

 
بالا