【问题标题】:Two PHP forms on same page同一页面上的两个 PHP 表单
【发布时间】:2013-07-17 19:07:39
【问题描述】:

我现在在同一页面上有两个 php 表单,问题是我通过 iframe 调用它们,但验证码不起作用,尽管我对具有不同输入字段的两个表单使用相同的脚本。现在发生的情况是,当我们第一次点击验证码并输入正确的验证码时,它会将我们带到您输入了错误的验证码,然后我们填写正确的验证码,然后向我们显示谢谢...为什么当我们第一次输入时它不显示感谢正确的验证码??????

            <?php
            session_start();
            $tuCurl = curl_init();
            curl_setopt($tuCurl, CURLOPT_URL, $url);
            curl_setopt($tuCurl, CURLOPT_RETURNTRANSFER, 1);    
            $tuData = curl_exec($tuCurl); 
            curl_close($tuCurl); 
            $userip = explode(',',$tuData);
            $ipcountry = str_replace('"', '', $userip[3]);

            include "libmail.php";  
            $errors = '';
            //print_r($_POST);
            if(isset($_POST['email']))
            {
                if(empty($_SESSION['6_letters_code'] ) ||
                  strcasecmp($_SESSION['6_letters_code'], $_POST['captcha']) != 0)
                {
                    $errors .= "You have entered wrong captcha code!";
                }elseif($_FILES["userfile"]["size"] > 1048576)
                {
                    $errors .= "You can upload maximum of 800kb file!";
                }else{

                        $productsq      = $_POST['productsq'];
                    $name       = $_POST['name'];
                    $position       = $_POST['position'];
                    $phone      = $_POST['phone'];

                    $company    = $_POST['company'];
                    $companyweb = $_POST['companyweb'];
                    $address    = $_POST['address'];
                    $country    = $_POST['country'];
                                    $brief      = $_POST['brief'];
                    $email      = $_POST['email'];


                    $captcha    = $_POST['captcha'];

                    $sender = $contact_email;

                    function clean_string($string) {
                      $bad = array("content-type","bcc:","to:","cc:","href");
                      return str_replace($bad,"",$string);
                    }

                    if(trim($productsq) !='')
                        $email_message .= "*I'm interested in  : ".clean_string($productsq)."\n"."\n";

                    if(trim($name) !='')
                        $email_message .= "Full Name: ".clean_string($name)."\n"."\n";

                                if(trim($position) !='')
                        $email_message .= "Position/Title: ".clean_string($position)."\n"."\n";

                                            if(trim($phone) !='')
                        $email_message .= "Phone: ".clean_string($phone)."\n"."\n";

                    if(trim($company) !='')
                        $email_message .= "Company Name: ".clean_string($company)."\n"."\n";

                        if(trim($companyweb) !='')
                        $email_message .= "Website URL: ".clean_string($companyweb)."\n"."\n";


                    if(trim($address) !='')
                        $email_message .= "Full Address: ".clean_string($address)."\n"."\n";


                    if(trim($country) !='')
                        $email_message .= "Country: ".clean_string($country)." (IP Address) : $ipcountry  ".$_SERVER['REMOTE_ADDR']."\n"."\n";



                    if(trim($brief) !='')
                        $email_message .= "About Myself : ".clean_string($brief)."\n"."\n";

                    $random = mt_rand();
                    $m= new Mail; // create the mail
                    $m->From( $name."<$email>" );
                    $m->To( "abc@gmail.com" );

                    $m->Subject( "Form2 - ".$random );  

                    $m->Body( $email_message);
                    $m->Priority(2) ;

                    if($_FILES["userfile"]["tmp_name"]){
                        move_uploaded_file($_FILES["userfile"]["tmp_name"], 'uploadedfiles/'.$_FILES["userfile"]["name"]);
                        $file_upload = 'uploadedfiles/'.$_FILES["userfile"]["name"];
                        $m->Attach( $file_upload) ;
                    }
                    $m->Send();
                header('location:thankyou.php');
                    if($_FILES["userfile"]["tmp_name"]){
                        unlink($file_upload);
                    }
                }
            }


            ?>

【问题讨论】:

    标签: php forms captcha


    【解决方案1】:

    验证码图像代码通常存储在会话变量中。当您显示第二个表单时,您将覆盖第一个表单的验证码。

    【讨论】:

    • 那么先生你能建议我做什么吗?其实我不知道php代码太多请先生
    • 要么不要在同一页面上使用 2 个验证码,要么在会话中给它们不同的名称。
    • 尝试为两种形式使用不同的变量名 captca
    • 实际上不,我没有收到任何错误 bt 正在发生的事情是一个表单的验证码工作正常 bt 当我填写正确时另一个人的验证码显示您的验证码不正确 :(
    猜你喜欢
    • 2014-03-23
    • 1970-01-01
    • 1970-01-01
    • 2016-03-26
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    • 2014-07-22
    相关资源
    最近更新 更多