النتائج 1 إلى 8 من 8

الموضوع: مساعدة في php و ال ajax

  1. #1
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,270

    مساعدة في php و ال ajax



    حاولت ان استخدم ال ajax في مسألة بسيطة الا وهي عند مقارنة اسم وكلمة مرور اذا المعلومات صحيحة يظهر كلمة "YES" واذا المعلومات خطيء يظهر كلمة "NO"

    طبعا لاحقا سوف اغير بحيف معلومات اسم المستخدم والباسورد تتحقق عن طريق قواعد البيانات ولاكني في الوقت الحالي مجرد محاولة تعلم ال AJAX


    هذا هو الكود الحالي


    كود:
    <!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" dir="ltr" lang="en">
    <head>
    
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="-1" />
    <meta http-equiv="Cache-Control" content="no-cache" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    </head>
    <body>
    <?php
    
    
    echo '
    <script type="text/javascript">
    
    function showUser(str, str2)
    {
    	
    	//check if string is empty
    if (str=="")
      {
      document.getElementById("txtHint").innerHTML="you must type a username";
      return;
      }
      
      
      	//check if string is empty
    if (str2=="")
      {
      document.getElementById("txtHint").innerHTML="you must type a password";
      return;
      }
      
      
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      
      } else  {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      
      
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
      	{
        document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        }
      }
      
    xmlhttp.open("POST","test.php?action=login",true);
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send();
    
    
    
    }
    </script>';
    
    
    $action = $_POST['action'];
    
    if($action == "login"){
    
    if( $_POST['username'] == "test" && $_POST['password'] == "test"){
    echo "YES";
    } else {
    echo "NO";
    }
    
    
    
    } else {
    
    
    
    echo "<div align=\"center\" style=\"width: 400px;\">
    <form onsubmit=\"showUser(username.value, password.value\">
    User Name: <input type=\"text\" name=\"username\" size=\"25\" value=\"\" /><br />
    Password : <input type=\"password\" name=\"password\" size=\"25\" value=\"\" /><br />
    <input type=\"submit\" value=\"Log in...\" />
    
    <div id=\"txtHint\"><b></b></div>
    
    </form>
    
    </div>";
    
    
    }
    
    echo "</body>
    </html>";
    
    ?>

    في الوقت الحالي ياغير الرابط الي شيء مشابه ل هذا

    test.php?username=test&password=test

    والمفروض ان يضهر كلمة "YES" على الشاشة لانني احاول استخدام طريقة ال POST


    يرجا المساعدة في تعديل هذا الكود ليعمل باشكل الصحيح

    وشكرا لكم





    __________________


    عاشت فلسطين وعاشت المقاومة
    http://www.palintefada.com/arabic
    http://www.palissue.com/arabic
    موقع انتفاضة فلسطين - موقع القضية الفلسطينية
    الكاسر



  2. #2
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2007
    المشاركات
    2,065


    أخى من الممكن أن أعدل لك هذه الفورم كى تعمل و لكن من الأفضل أن تقرأ هذا الدرس لتتعلم كيف تقوم بعمل ما تريده من برمجيات بالأجاكس

    http://crazy-eng.com/705/






  3. #3
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,270


    شكرا لك اخي الكريم على المساعدة وعلى هذا الدرس

    سؤال اذا سمحت لي

    طريقة عرض الخطا - كيف ممكن ان اضغ اخطيء بجانب ال text field وايضا تغير لون ال text field?


    عندما يكون البريد الالكتروني خاطيء اذا غير لون ال text field border الي احمر واذا كان البريد صحيح حول لون ال text field اخضر


    شكرا لك ولمساعدتك





    __________________


    عاشت فلسطين وعاشت المقاومة
    http://www.palintefada.com/arabic
    http://www.palissue.com/arabic
    موقع انتفاضة فلسطين - موقع القضية الفلسطينية
    الكاسر


  4. #4
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2007
    المشاركات
    2,065


    كود PHP:
    document.getElementById('login_email').style.border '1px solid red'
    و إذا كان الإدخال سليم غير لونها لأخضر

    كود PHP:
     document.getElementById('login_email').style.border '1px solid green'

    أضفها بعد أى رسالة خطأ مع تغيير id ال input

    يعنى مثلاً تريدها بعد البريد الإلكترونى الخاطئ إذن تضيفها كالتالى


    كود PHP:

    document
    .getElementById('login_email_errors').innerHTML "<li>صيغة البريد الإلكترونى غير صحيحة</li>";  login_errors=1;     

    document.getElementById('login_email').style.border '1px solid red'







  5. #5
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,270


    شكرا لك اخي العزيز

    عم بحاول اجعل ال AJAX ولاكن للاسف لا تعمل!!!!!


    هذا الكود الحالي من ملفي- اذا بتسمح تشوفهم وتشوف ايش المشكلة

    عندما اضغط زر login يتغير الرابط الي التالي index.php?action=login
    ولاكن لا يتم عرض اي نتائج!

    هذا كود ملف ال index.php
    كود:
    <?php
    require_once("../includes/config.php");
    require_once("../functions/functions.php");
    
    include("../includes/meta-general.php");
    ?>
    
    
    
    
    <script src="login.js"></script>
    
    <style type="text/css">
    
      html {
      font: 85% arial, helvetica, sans-serif;
      background: #fff;
      color: #777777;
      line-height: 1;
      direction: ltr;
      }
    
    input {
      display: inline-block;
      height: 29px;
      margin: 3px;
      padding: 0 8px;
      background: #fff;
      border: 1px solid #d9d9d9;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      -webkit-border-radius: 3px;
      -moz-border-radius: 3px;
      border-radius: 3px;
      color: #363636;
       
      }
      
      
    input:focus {
      display: inline-block;
      height: 29px;
      margin: 3px;
      padding: 0 8px;
      background: #fff;
      border: 1px solid #d24836;
    
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      -webkit-border-radius: 3px;
      -moz-border-radius: 3px;
      border-radius: 3px;
      
         -moz-box-shadow:    inset 0 0 7px #e1e1e1;
       -webkit-box-shadow: inset 0 0 7px #e1e1e1;
       box-shadow:         inset 0 0 7px #e1e1e1;
      }
      
      
      .signin-box {
    	  
      display: inline-block;
      width: 300px;
      margin: 0 auto; 
     
      padding: 15px;
      
      background: #fff;
      border: 0;
    
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      -webkit-border-radius: 3px;
      -moz-border-radius: 3px;
      border-radius: 3px;
      
      -moz-box-shadow:    inset 0 0 7px #e1e1e1;
       -webkit-box-shadow: inset 0 0 7px #e1e1e1;
       box-shadow:         inset 0 0 7px #e1e1e1;	  
    	  
      }
    
    
    
      
    </style>
    
    
    
    
    <?php
    
    
    DisplayMeta("$CompanyName - Restricted Access","$CompanyName - Restricted Access","$CompanyName - Site Administration Login");
    
    
    $action = $_POST['action'];
    
    if($action == "login"){
    
    
    echo "test";
    
    /// if member is not found >>>>>> Send A JSON 
    if( $_POST['email'] == "test" && $_POST['password'] == "test"){
    	
    	echo "Good work";
    	
    } else {
    	
    $json = '{"loginchecks": {';    
    
            $json .= '"logincheck":[ ';    
    
                $json .= '{"notfound":  "'; if(!$found){ $json .= 1; }  $json .='"}';
    
            $json .= ']';
            
    $json .= '}}';        
    
    echo $json;     
    }
    
    
    } else {
    
    
    
    echo '
    
    <div class="signin-box">
      <label for="admin"><strong>Administrator Login</strong></label><br /><br />
      <form  name="reg-form" id="reg-form" onSubmit="return LoginblockSubmit();" method="post">
    
    <div class="email-div">
      <label for="Email"><strong class="email-label">Username</strong></label>
      <input spellcheck="false" name="email" id="Email" value="" type="text">
    </div>
    <div class="passwd-div">
      <label for="Passwd"><strong class="passwd-label">Password</strong></label>
      <input name="password" id="Passwd" type="password">
    </div>
      <input class="g-button g-button-submit" name="signIn" id="signIn" value="Sign in" type="submit">
    
    
    <div id="login_no_errors" class="errors" align="right"></div>
    <div id="login_password_errors" class="errors" align="right"></div>
    <div id="login_errors" class="errors" align="right"></div>
    
    
      </form>
      
      
    
    </div>
    
      ';
    
    
    }
    
    echo "</body>
    </html>";
    
    ?>


    وهذا ملف ال login.js

    كود:
                var sendReq = getXmlHttpRequestObject();
                var receiveReq = getXmlHttpRequestObject();
                var email ;
                var password;
                var login_errors=0;
                
    /////////////////////////////////////////////////////////////////////////////////////////
    
              //Gets the browser specific XmlHttpRequest Object
                function getXmlHttpRequestObject() {                
                    if (window.XMLHttpRequest) {
                        return new XMLHttpRequest();
                    } else if(window.ActiveXObject) {
                        return new ActiveXObject("Microsoft.XMLHTTP");
                    } else {
                        document.getElementById('login_no_errors').innerHTML = 'المتصفح الخاص بك يحتاج إلى تحديث !';
                    }
                }
    
    ///////////////////////////////////////////////////////////////////////////////////////// Mail & Password check via Ajax
          function checklogin() {                                
                                
                    if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
                        receiveReq.open("POST", 'admin/index.php?action=login', false);                                    
                        receiveReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');                    
                        receiveReq.onreadystatechange = handleReceiveLoginCheck;                                         
                        var param = 'email=' + email+'&password='+password;                                                                
                        receiveReq.send(param);                                        
                    }            
                }
                            
                function handleReceiveLoginCheck() {                                
                    if (receiveReq.readyState == 4) {                    
                        
                        var response = eval("(" + receiveReq.responseText + ")");                               
                        
                        var notfound = response.loginchecks.logincheck[0].notfound;                    
                                           
                        if(notfound == 1) { 
                                                   
                            login_errors=1;                                                
                            
                            // to remove please wait
                            document.getElementById('login_no_errors').innerHTML = '';
                            
                            document.getElementById('login_errors').innerHTML = "<li>يوجد خطأ فى كلمة المرور أو إسم المستخدم</li>";                                              
                        }
                        
                    }
                                    
                }  
                
    //////////////////////////////////////////////////// Block the Submit Button , validate ,Reset all values  to Revalidate
                
                function LoginblockSubmit() {               
    // RESET
    login_errors = 0;
    document.getElementById('login_errors').innerHTML ="";                           
    document.getElementById('login_email_errors').innerHTML ="";                           
    document.getElementById('login_password_errors').innerHTML ="";                           
    document.getElementById('login_no_errors').innerHTML = '<img src="http://www.swalif.net/softs/images/misc/loading_1.gif" border="0" /> إنتظر من فضلك .. ';
                                    
                    LoginValidate();
                    return false;
                }
    
    
    ///////////////////////////////////////////////////////////////////////////////////////// Entries Validation
                
                function LoginValidate(){                
                    
                   email = document.getElementById('email').value; 
                   password = document.getElementById('password').value; 
               
               
    //---------------------------------------------------------------------------------------//
                   
                   if(!email){                                  
    // to remove please wait
    document.getElementById('login_no_errors').innerHTML = '';                   
    
    document.getElementById('login_email_errors').innerHTML = "<li>من فضلك أدخل بريدك الإلكترونى</li>";     login_errors=1;           
                   }else if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)){
    // to remove please wait
    document.getElementById('login_no_errors').innerHTML = '';
    
    document.getElementById('login_email_errors').innerHTML = "<li>صيغة البريد الإلكترونى غير صحيحة</li>";  login_errors=1;     
                   }
    //---------------------------------------------------------------------------------------//                              
                   if(!password){
    // to remove please wait
    document.getElementById('login_no_errors').innerHTML = '';                                      
    
    document.getElementById('login_password_errors').innerHTML = "<li>من فضلك أدخل كلمة المرور</li>"; login_errors=1;
                   }
    
     
     
    //---------------------------------------------------------------------------------------//                               
        if(login_errors == 0){
                       
                       
                       checklogin();
                       
                       if(login_errors == 0){                       
                                          
                     document.getElementById('login_no_errors').innerHTML = '<img src="http://www.swalif.net/softs/images/misc/true.png" border="0" /> تم تسجيل الدخول بنجاح<br /> <img src="http://www.swalif.net/softs/images/misc/loading_1.gif" border="0" /> جارى إعادة التحويل .. '; 
                     setTimeout("location.href='index.php'", 2000);                                                                    
                                                  
                       }
                                                             
                   }
                   
                    
                }
    //---------------------------------------------------------------------------------------//


    شكرا جزيلا عزيزي





    التعديل الأخير تم بواسطة elkaser ; 09-06-2012 الساعة 04:32 AM
    __________________


    عاشت فلسطين وعاشت المقاومة
    http://www.palintefada.com/arabic
    http://www.palissue.com/arabic
    موقع انتفاضة فلسطين - موقع القضية الفلسطينية
    الكاسر


  6. #6
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2007
    المشاركات
    2,065


    أخى الكريم إنت دمجت ملف js/login/login.php

    مع ملف login_form.php ؟

    هذا غير صحيح لأن الملف الاول يتم جلبه بالبوست و لا يحتوى على أى هيدر ولات فووتر و لا أى تاجز إنما هو يرجع مصفوفة json بها 0 أو 1 فقط !!!!!! ثم أين الإستعلامات و أين الربط بقاعدة البيانات ؟؟؟

    ثانياً ألاحظ شئ غريب

    كود PHP:

    if(){

    }else{


    }else{




    أخى الكريم نظام الدخول الذى أعطيته لك مطبق هنا http://3naw.in فتفضل بتجربته و الإستفادة منه





    التعديل الأخير تم بواسطة khashabawy ; 09-06-2012 الساعة 01:30 PM

  7. #7
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,270


    شكرا اخي الكريم للمساعدة - تقريبا مشي الحال ولاكن الان عندما اكتب اي بريد واي باسورد يقوم بعملية الدخولّ!!!!


    هذا كود ال php الحالي الذي غيرته انا

    كود:
    <?php
    @ob_start();   
    @session_start();
    
    
    /// Receive Posted data
    $email = $_POST['email'];
    $password = $_POST['password'];
    
    
    
    if(   ($email == "test@test.com") AND ($password == "test") ){
    	$found = true;
    } else {
    	$found = false;	
    }
    
    
    /// if member is not found >>>>>> Send A JSON 
    $json = '{"loginchecks": {';    
    
            $json .= '"logincheck":[ ';    
    
                $json .= '{"notfound":  "'; if(!$found){ $json .= 1; }  $json .='"}';
    
            $json .= ']';
            
    $json .= '}}';        
    
    /// if member is found >>>>>> declare cookies
    if($found){ 
        
    ////////// Set sessions here :)
         
    	   
        
    }
    
    
    echo $json;        
        
         
    
    ?>

    المفروض اذا الايميل test@test.com
    والباسورد test

    يمشي الحال وذا لا المفروض يظهر خطاء!





    __________________


    عاشت فلسطين وعاشت المقاومة
    http://www.palintefada.com/arabic
    http://www.palissue.com/arabic
    موقع انتفاضة فلسطين - موقع القضية الفلسطينية
    الكاسر


  8. #8
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2007
    المشاركات
    2,065


    غير

    كود PHP:

    if(   ($email == "test@test.com") AND ($password == "test") ){
        
    $found true;
    } else {
        
    $found false;    

    إلى

    كود PHP:

    if(   ($email == "test@test.com") AND ($password == "test") ){
        
    $found true;












ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض