يتم التشغيل بواسطة Blogger.

تصميم وبرمجة صفحة مع الكود سورس بـjQuery و Bootstrap و PHP

http://progduzero.blogspot.com/

قررت عمل درس بسيط عن برمجة صفحة إتصل بنا بسيطة بإستخدام Bootstrp و jQuery لكي تتم عملية الـProcessing بدون إعادة تحميل للصفحة.
في البداية هذا هو كود التصميم:



رمز PHP:
<!DOCTYPE html>
<
html lang="en">
  <
head>
    <
meta charset="utf-8">
    <
meta http-equiv="X-UA-Compatible" content="IE=edge">
    <
meta name="viewport" content="width=device-width, initial-scale=1">
    <
script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>     <script src="http://code.jquery.com/jquery-1.11.0.js"></script>
    <title>Traidnt Contact us</title>
    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
  </head>
  <body>

<div class="row">
  <div class="col-md-6 col-md-offset-3">
  <div class="panel panel-primary">
    <h3>&nbsp;Contact Form</h3>
  </div>  
</div>
</div>

<!-- Start Row -->
<div class="row">
  <div class="col-md-6 col-md-offset-3">

<div class="panel panel-default">
  <div class="panel-heading">
    <h3 class="panel-title">Contact Form</h3>
  </div>
  <div class="panel-body">
    <table class="table">
      <tr>
        <td>Name</td>
        <td><input type="text" id="name" class="form-control" placeholder="YOUR NAME"></td>
      </tr>
      <tr>
        <td>Email</td>
        <td><input type="email" id="email" class="form-control" placeholder="YOUR EMAIL"></td>
      </tr>
      <tr>
        <td>Message</td>
        <td><textarea id="message" class="form-control" placeholder="Type whatever you wanna send to us" rows="5"></textarea></td>
      </tr>
      <tr>
        <td></td>
        <td><input type="submit" onclick="send()" value="SEND MESSAGE" class="btn btn-primary"</td>
      </tr>
    </table>
  </div>
  <div class="panel-footer">You can send me directly through ErwinChafros@gmail.com</div>
</div>

</div>
</div>
<!-- End Row -->

<div class="row">
  <div class="col-md-6 col-md-offset-3">
  <div class="panel panel-default">
    <div class="panel-footer">All Rights Reserved 2015 &copy;</div>
  </div>  
</div>
</div>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>
  </body>
</html> 

وهذا هو شكل التصميم:

تصميم وبرمجة إتصل بنا بـjQuery و Bootstrap و PHP بدون إعادة تحميل للصفحة 

كما تلاحظون فالصفحة بسيطة جدًا وهي بإستخدام Bootstrap، ولكن يجب ملاحظة التالي:
1- قمت بوضع إدراج للجي كويري خلال هذين السطرين:

 <script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>     <script src="http://code.jquery.com/jquery-1.11.0.js"></script> 
2- لم أقم بإستخدام وسم Form في نموذج إتصل بنا، بل قمت بوضع الـinputs مباشرةً، لأن إستخدام وسم Form سيضطر الصفحة إلى إعادة التحميل، أما نحن سنستخدم تقنية jQuery لوضع كود PHP لإرسال الإيميل بدون إعادة تحميل.
3- في زر الإرسال قمت بوضع خاصية onclick وقمت بوضع send() والتي هي الدالة التي سنقوم بكتابتها، والتي تقوم بأخذ قيم الـinputs لتحولها عن طريق POST method إلى صفحة أخرى لكي يتم كتابة كود الـPHP ثم إرجاع النتيجة إلي مكان محدد في صفحتنا الأصلية بدون إعادة تحميل.
4- إستخدمنا خاصيات id للـinputs ولم نستخدم name لأننا سنستخدمها في كود جافاسكربت.
الآن سنقوم بكتابة كود الـjQuery والذي سيكون كالتالي:
رمز Code:
<script>
function registerusers(){
  
$(function() {
  var name       = $("#name").val()
  var email   = $("#email").val()
  var message      = $("#message").val()
      $.ajax({
        url: 'process.php?newmsg',
        type: 'POST',
        data: {name:name,email:email,message:message},
        success: function(data) {
          $("#result").html(data);
              }
        });
    
});
}
</script>
وحسب هذا الكود، ستظهر النتيجة في div له id اسمه result، لذلك في صفحتنا سنقوم بكتابة هذا السطر في أى مكان نريده:
رمز PHP:
<div id="result"></div
وفي كود الجافاسكربت قمنا بإنشاء متغير name, email, message والذي كل منهم يحتوى على قيمة الـinput الذي الـid الخاص به هو name, email, message على الترتيب، ثم قمنا بتحديد أن صفحة الـPeocessing ستدعى process.php في GET method تدعي newmsg، ولذلك يجب علينا إنشاء بجانب ملفنا، ملف آخر يدعى process.php، والبيانات السابقة أخذها من الـinputs سيتم إرسالها عبر Super Global Variable $_POST، وهذا هو الكود الذي يجب أن يكون في صفحة process.php
رمز PHP:
<?php if(isset($_GET['newmsg']))
{
    
$name $_POST['name'];
    
$email $_POST['email'];
    
$message $_POST['message'];
}
هكذا نستطيع أخذ البيانات مع الأخذ في الإعتبار أن الـkey في $_POST يجب أن يكون هو نفسه الموجود في كود الجافاسكربت، والآن سنكمل كتابة ملف Process.php ونقوم بإرجاع ما نريده.
رمز PHP:
<?php if(isset($_GET['newmsg']))
{
    
$name $_POST['name'];
    
$email $_POST['email'];
    
$message $_POST['message'];
    if(
$name != "" && $email != "" && $message != "")
    {
        
$send mail ("ErwinChafros@gmail.com","Message from: $name"$message"Email: $email");
        if(
$send)
        {
            echo 
"Your message has been sent, We'll contact you soon";
        }
        else
        {
            echo 
"There's something went wrong, We're working to fix this as soon as possible";
        }
    }
    else
    {
        echo 
"You have to fill all fields";
    }
}
الكود بسيط، وليس الهدف منه شرح كيفية عمل صفحة إتصل بنا بشكل إحترافي، ولكن الهدف هو معرفة كيفية إستخدام كود الجافاسكربت البسيط هذا في برامجك، حتى لا تضطر في كل موضع أن تجعل المستخدم مضطرًا لإعادة تحميل الصفحة في كل مرة يتفاعل مع موقعك، لذلك فمن الأفضل إستخدام هذا الكود البسيط في جميع الأجزاء التفاعلية في موقعك.





  
جميع الحقوق محفوظة © 2013 devlotec
تصميم : يعقوب رضا