duanshan1511 2018-07-08 21:23
浏览 64

PHP表单按钮不提交; 页面仅刷新

This form originally used reCAPTCHA v1 but I have removed the associated code. I am collecting user registration info to post to MySQL database but the submit button only refreshes the page and does not lead further to the message that there is a confirmation email to follow. The files are accessible and functional but the form itself and the submission does not work.

I have tried to include reCAPTCHA v2 as a replacement and did so successfully but the form still does not submit. I have since removed it. Furthermore, I have removed fields to see if the checkbox for Terms and Conditions is the issue because it doesn't throw an error unlike the other fields if unchecked but that also didn't work. I've reviewed prior questions about PHP form submission issues and all I found was that the button type was incorrect as in not submit but it is the correct type. The database is confirmed connected which is the called for 'config.php'

PHP Code of the Form:

$data['PageName']='SIGN UP FOR YOUR FREE ACCOUNT TODAY';
$data['PageFile']='signup';
$data['PageTitle'] = 'Sign Up - GPW'; 

include('../config.php');
require_once('recaptchalib.php');

// Get a key from https://www.google.com/recaptcha/admin/create
$publickey = "6Ld3c-YSAAAAAIIdQocSje_bq1a7Sti3QymRM5hw";
$privatekey = "6Ld3c-YSAAAAAJqrQBNAR_Qb40Mh4BveQ_q8bjv0";

# the response from reCAPTCHA
$resp = null;
# the error code from reCAPTCHA, if any
$error = null;

if($_SESSION['login']){
    header("Location:{$data['Host']}/members/index.php");
    echo('Logged In');
    exit;
}
if($post['action']=='go')optimize('common');
if($post['send']){
    if(!$post['newuser']){
        $data['Error']='Your username can not be empty.';
    }elseif(verify_username($post['newuser'])){
        $data['Error']='For your username you can use only next letters [A..Z, a..z, 0..9].';
    }elseif(!$post['newpass']){
        $data['Error']='Your password can not be empty.';
    }elseif(strlen($post['newpass'])<$data['PassLen']){
        $data['Error']="Your password must be at least {$data['PassLen']} characters long.";
    }elseif($post['newpass']!=$post['cfmpass']){
        $data['Error']='Your password and confirm should be not different.';
    }elseif($post['newuser']==$post['newpass']){
        $data['Error']='Your password can not be same as your username.';
    }elseif(!$post['newques']){
        $data['Error']='Please enter a valid security question.';
    }elseif(!$post['newansw']){
        $data['Error']='Please enter a valid security answer.';
    }elseif(!$post['newmail']||verify_email($post['newmail'])){
        $data['Error']='Please enter your valid e-mail address.';
   }elseif($data['UseExtRegForm']&&!$post['newfname']){
        $data['Error']='Please enter your first name.';
   }elseif($data['UseExtRegForm']&&!$post['newlname']){
        $data['Error']='Please enter your last name.';
   }elseif($data['UseExtRegForm']&&!$post['newaddress']){
        $data['Error']='Please enter your address.';
   }elseif($data['UseExtRegForm']&&!$post['newcity']){
        $data['Error']='Please enter your city.';
   }elseif($data['UseExtRegForm']&&!$post['newcountry']){
        $data['Error']='Please enter your country.';
   }elseif($data['UseExtRegForm']&&!$post['newzip']){
      $data['Error']='Please enter your postal code.';
   }elseif($data['UseExtRegForm']&&!$post['newphone']){
      $data['Error']='Please enter your telephone number.';
    }elseif($post['terms']!='on'){
        $data['Error']='Please read our Terms and Conditions before signup.';
    }elseif(!is_user_available($post['newuser'])){
        $data['Error']='Sorry but this username already taken.';
    }elseif(!is_mail_available($post['newmail'])){
        $data['Error']='Sorry but this e-mail address already taken.';
    }else{
        if (isset($_POST["recaptcha_response_field"])) {
            $resp = recaptcha_check_answer($privatekey,$_SERVER["REMOTE_ADDR"],$_POST["recaptcha_challenge_field"],$_POST["recaptcha_response_field"]);
            //print_r($_SERVER["REMOTE_ADDR"]);

                if ($resp->is_valid) { 
                    create_confirmation(
                        $post['newuser'],
                        $post['newpass'],
                        $post['newques'],
                        $post['newansw'],
                        $post['newmail'],
                        $post['newfname'],
                        $post['newlname'],
                        $post['newcompany'],
                        $post['newregnum'],
                        $post['newdrvnum'],
                        $post['newaddress'],
                        $post['newcity'],
                        $post['newcountry'],
                        $post['newstate'],
                        $post['newzip'],
                        $post['newphone'],
                        $post['newfax'],
                        get_member_id($_SESSION['sponsor'])
                    );
                    unset($_SESSION['turing']);
                    $data['PostSent']=true;
                }
        } else {
            $error = $resp->error;
        }
    }
}else{
    if($data['UseTuringNumber'])$_SESSION['turing']=gencode();
}
display('members');
?>
  • 写回答

1条回答 默认 最新

  • duanji9481 2018-07-08 22:18
    关注
    type=submit name=send
    

    Missing quotes

    type="submit" name="send"
    
    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?