小编Sam*_*oid的帖子

谷歌reCAPTCHA g-recpatcha-response在PHP中没有任何价值

ps:我放弃了这个,因为我找不到任何解决方案,并实现了我自己的php验证码,这是一种待遇:) - http://www.the-art-of-web.com/php/captcha/

我花了很多时间和几天试图解决这个问题,但我似乎无法弄明白.我在网上阅读了很多不同的教程和问题.

请记住,我的PHP级别是相当基础的.

我似乎无法在我的php文件中获得'g-recaptcha-response'$ _POST值.

我总结了下面需要的重要代码......

文件1:contact.php

在Head标签之前

<?php 
session_start(); // start php session

// Setup session variables to save the form data
if( isset($_SESSION['contact_form_values']) ){
    extract( $_SESSION['contact_form_values'] );
}

include('contactengine.php');
?>
Run Code Online (Sandbox Code Playgroud)

在头标签

<script src='https://www.google.com/recaptcha/api.js'></script><!-- reCAPTCHA form -->
Run Code Online (Sandbox Code Playgroud)

在Form标签之间Action ="",以便它自己发布包含contactengine.php文件的自身,这样只有当用户点击提交按钮时它才能运行?

<form class="contactform" method="POST" action="">

<div class="g-recaptcha" data-sitekey="6Lc92gkTAAAAAFKjZEOlY0cg9G8ubmlVoC13Xf3T"></div>
Run Code Online (Sandbox Code Playgroud)

文件2:contactengine.php

在此之间

if($_SERVER["REQUEST_METHOD"] == "POST")
Run Code Online (Sandbox Code Playgroud)

我有

if( isset( $_POST['g-recaptcha-response'] ) ){
        $captchaResponse = $_POST['g-recaptcha-response'];
    }
Run Code Online (Sandbox Code Playgroud)

现在这是变量$ captchaResponse没有被填充的点,因为我输出它的值,如下所示:

if( !$captchaResponse ){ // check the POST recaptcha response value
        $resultMsg = 'Please check …
Run Code Online (Sandbox Code Playgroud)

html php captcha recaptcha contact-form

5
推荐指数
1
解决办法
4509
查看次数

Android您是否可以从链接的startActivityForResult获取活动结果

我有以下活动屏幕

活动A - 包含链接到活动B的按钮

活动B - 包含订单确认,然后是下一个按钮,打开活动C(捕获签名)

活动C - 弹出一个对话框,供用户输入其签名和一个完整的按钮.

活动A - 包含意图开始启动活动B并实现onActivityForResult

Intent intent = new Intent( this, ConfirmLines.class );
startActivityForResult( intent, GET_SIGNATURE );

protected void onActivityResult( int requestCode, int resultCode, Intent intent )
  {
    super.onActivityResult( requestCode, resultCode, intent );
    switch ( requestCode )
    {
      case GET_SIGNATURE:
        if ( resultCode == RESULT_OK )
        {
          getIntent().putExtra( SIGNATURE_DATA, intent.getStringExtra( SignatureCapture.SIGNATURE_RESULT ) );
          getIntent().putExtra( SIGNATURE_TIME, "34552655544" ); // todo - remove hardcoded signature time
          showDialog( PRINT_NAME );
        }
        else
        {
          //reset data …
Run Code Online (Sandbox Code Playgroud)

android android-intent android-activity start-activity onactivityresult

4
推荐指数
1
解决办法
4116
查看次数