ช่วยดูให้หน่อยครับ ผิดตรงไหนทำไมถึงไม่เข้าเงื่อนไข

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ช่วยดูให้หน่อยครับ ผิดตรงไหนทำไมถึงไม่เข้าเงื่อนไข

ช่วยดูให้หน่อยครับ ผิดตรงไหนทำไมถึงไม่เข้าเงื่อนไข
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Registration</title>
  
</head>
<body>
<?php
session_start();

include_once 'connect.php';

$captcha;       
if(isset($_POST['g-recaptcha-response'])){
$captcha=$_POST['g-recaptcha-response'];
$response=json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']), true);        
}

if(isset($_POST['submit'])  && $response['success'] == true){ // เมื่อคลิกที่กที่ปุ่ม 
    /// ทำคำสั่งเพิ่มข้อมูลหรืออื่นๆ

	$code_feed = "0123456789";
	$code_length = 3;  // Set this to be your desired code length
	$final_code = "";
	$feed_length = strlen($code_feed);

	for($i = 0; $i < $code_length; $i ++) {
	$feed_selector = rand(0,$feed_length-1);
	$final_code .= substr($code_feed,$feed_selector,1);
	}
	
	$uname = mysqli_real_escape_string($con, $_POST['uname']);
	$nickname = mysqli_real_escape_string($con, $_POST['nickname']);
	$phone_c = mysqli_real_escape_string($con, $_POST['phone_c']);
	$mobile = mysqli_real_escape_string($con, $_POST['mobile']);
	$company = mysqli_real_escape_string($con, $_POST['company']);
	$line_id = mysqli_real_escape_string($con, $_POST['line_id']);

	$email = mysqli_real_escape_string($con, $_POST['email']);
	$upass = md5(mysqli_real_escape_string($con, $_POST['pass']));
	
	if(mysqli_query($con, "INSERT INTO users(name,nickname,phone_c,mobile,company,line_id,email,code_rand) VALUES('".$uname."','".$nickname."','".$phone_c."','".$mobile."','".$company."','".$line_id."','".$email."','".$final_code."')"))
	{
    	$msg = " <script>
 swal('Good job!', 'Thank you for register!','success');
  </script>
  ";
	


			$to = "yuttakarn.i@w-property.com";
            $subject = "My subject";
            $txt = "Number code Register : ".$final_code."";
            $headers = "From: ".$email."" . "rn" .
            "CC: ";

            mail($to,$subject,$txt,$headers);
		
		
        // กรณีต้องการตรวจสอบการแจ้ง error ให้เปิด 3 บรรทัดล่างนี้ให้ทำงาน กรณีไม่ ให้ comment ปิดไป
        ini_set('display_errors', 1);
        ini_set('display_startup_errors', 1);
        error_reporting(E_ALL);
 
// กรณีมีการเชื่อมต่อกับฐานข้อมูล
//require_once("dbconnect.php");
 
        $accToken = "";
        $notifyURL = "https://notify-api.line.me/api/notify";
 
$headers = array(
    'Content-Type: application/x-www-form-urlencoded',
    'Authorization: Bearer '.$accToken
);
$data = array(
    'message' => ' มีผู้ลงทะเบียน  Corporate smart 5 : 
	ชื่อคุณ  :'.$uname.'
	รหัสโค้ดสำหรับใช้ยืนยัน  '.$final_code.'
	ชื่อเล่น 	: '.$nickname.' 
	เบอร์โทรบริษัท : '.$phone_c.' 
	เบอร์มือถือ : '.$mobile.' 
	ID Line : '.$line_id.'
	ชื่อบริษัท : '.$company.' '
);
// ส่วนของการส่งการแจ้งเตือนผ่านฟังก์ชั่น cURL
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $notifyURL);
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0); // ถ้าเว็บเรามี ssl สามารถเปลี่ยนเป้น 2
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0); // ถ้าเว็บเรามี ssl สามารถเปลี่ยนเป้น 1
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec( $ch );
curl_close( $ch );
 
// ตรวจสอบค่าข้อมูล ว่าเป็นตัวแปร ปรเภทไหน ข้อมูลอะไร
var_dump($result);
 
// การเช็คสถานะการทำงาน 
$result = json_decode($result,TRUE);
// ดูโครงสร้าง กรณีแปลงเป็น array แล้ว
//echo "<pre>";
//print_r($result);


  
  }else{
    $msg = 'Please click on the reCAPTCHA box.';
  }

}


?>

ผมลองทำตามเว็บต่างๆแล้ว แต่มันติดเงื่อนไข ตรงถ้าไม่กด google recaptcha  จะให้มันแสดง error มันๆไม่ยอมแสเงอะไรเลยไม่เข้าเงื่อนไขอะไรเลนครับ แต่พอกด google recaptcha  ข้อมูล ทำงานปกติ แต่ติดตรงที่เวลาไม่กดอยากให้มันมี error ขึ้นมา


Awordmart 04-08-2018 19:32:06

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
เงื่อนไขตรวจสอบ capha น่าจะเป็นตัวนี้

if(isset($_POST['g-recaptcha-response'])){
$captcha=$_POST['g-recaptcha-response'];
$response=json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']), true);        
}


ดังนั้นน่าจะใช้ else กับเงื่อนไขนี้หรือป่าว

if(isset($_POST['g-recaptcha-response'])){
$captcha=$_POST['g-recaptcha-response'];
$response=json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']), true);        
}

}else{
   // error
}


ninenik 04-08-2018
 ความคิดเห็นที่ 2
if(isset($_POST['submit'])  && $response['success'] == true){ // เมื่อคลิกที่กที่ปุ่ม

ไม่ต้องใส่ใช่ไหมครับ


awordmart 05-08-2018 11:25






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ