2017-05-25 2 views
0

Ich bin CAPTCHA Problem in jemand anderen Code, wo die Formular-Methode ist "POST" Fehler in der action.php-Datei ist der Code wie folgt:

$key=substr($_SESSION['key'],0,5); 
$number = $_GET['img_code']; 

if($_GET['img_code']){ 
    if($number==$key) 
    { 
     echo "done"; 
     exit(); 
    } 
    else 
    { 
     echo false; 
     exit(); 
    } 
} 

ich habe var_dump($_GET['img_code']) versucht, und wie erwartet ich null Wert immer bin.

aber wenn ich es mache var_dump($_POST['img_code']) bekomme ich den richtigen Wert.

aber sobald ich es POST setze, beginne ich Fehler bekommen „Captcha nicht korrekt eingegeben

Jede Hilfe sehr geschätzt wird

UPDATE:.. FORM metho

<form action="{$Site_Root}signup.php" method="post" class="frmRegister tutor-registration" name="frmRegister" id="frmRegister" enctype="multipart/form-data" >

Weitere Aktualisierung:

Wenn ich $_REQUEST['img_code'] benutze und dann tut einem var_dump Ich erhalte den passenden String für $ key und $ Anzahl wie string(5) "f065a" string(5) "f065a"

aber Problem ist, wenn ich das zum Beispiel als Bedingung beantrage: - „Captcha nicht korrekt eingegeben“ Ich erhalte

if(isset($_POST['email'])){ 
if ($key==$number){     // condition line is added by me 
     if(!empty($_FILES['photo']['name'])) 
     { 
      $_POST['photo'] = fileUpload($_FILES['photo'],TUTOR); 
      $thumb->image($physical_path['Tutor'].$_POST['photo']); 
      $thumb->size_width(120); 
      $thumb->jpeg_quality(100); 
      $filename = $thumb->get2(); //small_thumb_ 
     } 
     else 
     { 
      $_POST['photo'] = ""; 
     } 
     $tutor_id = $tut->Insert($_POST); 
     $to_email = $_POST['email']; 
     global $mail; 
     $mail = ''; 
     $mail = new htmlMimeMail(); 
     $mail->setFrom($config[WC_CONTACT_US]); 
     //Set Cc 
     // $mail->setCc(array($config[WC_CONTACT_US])); 
     $mail->setSubject('Welcome to TuitionJobsPortal.com!'); 
     $tpl2 = new Smarty; 
     $tpl2->template_dir = $physical_path['EmailTemplate']; 
     $tpl2->compile_dir = $physical_path['Site_Root']. 'templates_c/'; 
     $tpl2->debugging = DEBUG; 

     $tpl2->assign(array("membername" => $_POST['tutor_name'], 
          "vcode"   => $_POST['verification_code'], 
          "tutor_id"  => $tutor_id, 
          "Templates_Image" => $virtual_path['Site_Root'].'templates/images/', 
          "Site_Root" => $virtual_path['Site_Root'], 
         )); 

     $content = $tpl2->fetch('registration'. $config['tplEx']); 
     $mail->setHtml($content); 

     $result = $mail->send(array($to_email)); 
     header("location: signup.php?signup=true"); 
     exit(); 
    } 
} //this is added. 
+0

Haben Sie ändern '$ _GET' in' $ _POST' beide, wo Sie Einstellung '$ number' und in die 'if'-Aussage? Wenn ja, können Sie 'var_dump ($ number, $ key)' sehen, wenn sie übereinstimmen? – rickdenhaan

+0

THen ändern Sie es, um '$ _POST' zu verwenden – RiggsFolly

+0

Oder vielleicht war die Submit-URL' /action.php? Img_code = X'? – fubar

Antwort

0

ich glaube nicht, Sie _POST $ zugreifen können Daten von $ _GET, also entweder Änderungsformular Methode GET oder Zugangsdaten geschrieben $_POST['img_code'] verwenden.

0

können Sie verwenden, um die $_REQUEST globale Variable, kann es die Arbeit von beiden tun GET und POST,