• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اعتبار سنجی کد کپچا
#1
من یه کد کپچا از یه جا کپی کردم می خوام توی این کد بعد از اعتبار سنجی کد کپچا ،اگر کپچا درست بود به اونجایی که توی اکشن فرم تعریف شده بره برای این کار باید چیکار کد
کد پی‌اچ‌پی:
$(document).ready(function()
{
    $(
"#login_form").submit(function()
    {
        
//remove all the class add the messagebox classes and start fading
        
$("#msgbox").removeClass().addClass('messagebox').text('در حال بررسي...').fadeIn(1000);
    
        $.
post("captcha/validate.php",{ Captcha:$('#captcha').val() } ,function(data)
        {
        if (
data=='no'//if correct login detail
            
{
                $(
"#msgbox").fadeTo(200,0.1,function() //start fading the messagebox
                

                  
//add message and change the class of the box and start fading
                  
$(this).html('كد امنيتي وارد شده صحيح نيست!').addClass('messageboxerror').fadeTo(900,1);
                });    
            } else <!--   
اينجا بايد چي نوشته  تا اگر کاربر کد امنيتي رو درست وارد کرده بود و روي دکمه ورود کليک کرد بره به صفحه اي که در اکشن فرم براي اون تعريف شده  -->
});
        
//check the username exists or not from ajax
         
return false//not to post the  form physically
    
});
function 
refreshCaptcha()
{
    var 
img document.images['captchaimg'];
    
img.src img.src.substring(0,img.src.lastIndexOf("?"))+"?rand="+Math.random()*1000;

  پاسخ
تشکر شده توسط :
#2
کد پی‌اچ‌پی:
else 
{
    
window.location.href "http://test.com";

همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط :
#3
ببخشید من از دستور شما استفاده کردم اما وقتی یوزر و پسورد و کد امنیتی وارد می کنم به صفحه index.php منتقل نمیشه و در همون صفحه میمونه برای برای راهنمایی بیشتر شما تمام کد صفحه لاگین خودم رو براتون میزارم
کد پی‌اچ‌پی:
<?php require_once('../Connections/config.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  
session_start();
}

$loginFormAction $_SERVER['PHP_SELF'];
if (isset(
$_GET['accesscheck'])) {
  
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset(
$_POST['username'])) {
  
$loginUsername=$_POST['username'];
  
$password=$_POST['password'];
  
$MM_fldUserAuthorization "";
  
$MM_redirectLoginSuccess "index.php";
  
$MM_redirectLoginFailed "login.php";
  
$MM_redirecttoReferrer false;
  
mysql_select_db($database_config$config);
  
  
$LoginRS__query=sprintf("SELECT username, password FROM member WHERE username=%s AND password=%s",
    
GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 
   
  
$LoginRS mysql_query($LoginRS__query$config) or die(mysql_error());
  
$loginFoundUser mysql_num_rows($LoginRS);
  if (
$loginFoundUser) {
     
$loginStrGroup "";
    
    if (
PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    
//declare two session variables and assign them
    
$_SESSION['MM_Username'] = $loginUsername;
    
$_SESSION['MM_UserGroup'] = $loginStrGroup;          

    if (isset(
$_SESSION['PrevUrl']) && false) {
      
$MM_redirectLoginSuccess $_SESSION['PrevUrl'];    
    }
    
header("Location: " $MM_redirectLoginSuccess );
  }
  else {
    
header("Location: "$MM_redirectLoginFailed );
  }
}
?>
<!DOCTYPE html> 
<html>
    <head>
        <meta charset="utf-8">        
        <title>سامانه مدیریت</title>
        
        <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
        
        <link rel="stylesheet" href="../css/demo.css">
        <link rel="stylesheet" href="../css/font-awesome.css">
        <link rel="stylesheet" href="../css/sky-mega-menu.css">
    <link href="mlogin/css/style.css" media="all" type="text/css" rel="stylesheet">
<script src="http://code.jquery.com/jquery-1.6.4.js"></script>
<script language="javascript">

$(document).ready(function()
{
    $("#login_form").submit(function()
    {
        //remove all the class add the messagebox classes and start fading
        $("#msgbox").removeClass().addClass('messagebox').text('در حال بررسي...').fadeIn(1000);
    
        $.post("captcha/validate.php",{ Captcha:$('#captcha').val() } ,function(data)
        {
        if (data=='no') //if correct login detail
            {
                $("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox
                { 
                  //add message and change the class of the box and start fading
                  $(this).html('كد امنيتي وارد شده صحيح نيست!').addClass('messageboxerror').fadeTo(900,1);
                });    
            } else 
            
{
    window.location.href = "index.php";
}
        });
        //check the username exists or not from ajax
         return false; //not to post the  form physically
    });
    //now call the ajax also focus move from 
    $("#captcha").blur(function()
    {
        $("#login_form").trigger('submit');
    });
});
function refreshCaptcha()
{
    var img = document.images['captchaimg'];
    img.src = img.src.substring(0,img.src.lastIndexOf("?"))+"?rand="+Math.random()*1000;
}
</script>
    </head>
    <body class="bg-cyan">
        <div class="body">        
            
        <div class="class-login">
      <form method="POST" action="<?php echo $loginFormAction?>" id="login_form" name="login_form">
<fieldset>
<br>
<p style='font-weight:bold; text-align:center'>سامانه مدیریت وب سایت</p>
<p style='font-weight:bold; text-align:center'><br><br>
</p>
<div class="top" > شناسه و گذرواژه را وارد نماييد.</div>

<div >
    <p><br>
      <br>
      <label for="uName" id="name_label">شناسه: </label>
      <input name="username" type="text" id="username" value="" maxlength="20" class="text-input"  />
    </p>
    <p>
      
      <label for="uName" id="name_label">گذرواژه: </label>
      <input name="password" type="password" id="password" value="" maxlength="20" class="text-input"  />
      
      </p>
    <p align=center >
      <img src="captcha/captcha_code_file.php?rand=<?php echo rand(); ?>" id='captchaimg' ><br></p>
     <label for='Captcha' id="captcha_label">كد بالا را وارد نماييد: </label>
    <input type="text" name="Captcha" id="captcha" size="20" value="" class="text-input" />
    <small align=center >اگر قادر به خواندن كد نيستيد، <a href='javascript: refreshCaptcha();'>اينجا</a> كليك كنيد.</small>

        <input name="Submit" type="submit" id="submit" value="  ورود  " class="button"/> <span id="msgbox" style="display:none"></span>
        <br><br>    
</div>

</fieldset>
</form>
        </div>
    </body>
</html> 
با تشکر
  پاسخ
تشکر شده توسط :
#4
اول اینکه این تیکه کد:
کد پی‌اچ‌پی:
if (!isset($_SESSION)) {
  
session_start();


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

دوم اینکه قبل از این خط کد:
کد پی‌اچ‌پی:
header("Location: " $MM_redirectLoginSuccess ); 
قبلش $_SESSION رو var_dump کن ببین چیه خروجیش

در ضمن وقتی با ajax کار می کنی می تونی از فایرباگ استفاده کنی
با فایرباگ دیباگ کن
از کنسولش استفاده کن
ببین وقتی روی دکمه کلیک می کنی چی ارسال می شه؟
به کجا ارسال می شه؟
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط :
#5
Failed to load resource: the server responded with a status of 404 (Not Found)

ببخشید خودتون یه کپچا تست شده ندارین ؟
  پاسخ
تشکر شده توسط :
#6
آدرس رو دارید اشتباه می زنید که این خطا رو نشون می ده

کپچا هم:
https://www.google.com/search?q=free+cap...channel=sb
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان