0

似たような質問をいくつか見ましたが、回答されていないか、探していたものと正確に一致しませんでした。

私のウェブページに短いフォームがあります。「送信」ボタンを押すと、フォームの内容が電子メールとして送信されます。ここで、管理費を支払うことができるペイパル ページにユーザーをリダイレクトする機能を追加したいと考えています。

フォームの「送信」ボタンにコードを追加して、顧客をペイパルのチェックアウトにリダイレクトする方法はありますか (「今すぐ購入」を押したかのように)、またはカスタムを作成する方法はありますか?フォームを送信する機能もある「今すぐ」ボタン?

4

2 に答える 2

2
<?php
session_start();
/* Set the variables below */

$contact_us = "contact-form";

$website_url = 'http://www.yourwebsite.com/';
$error_page_url = $website_url . 'error.html';
$paypal_page_url = $website_url . 'paypalpageurl.html';
$dummy_email = 'no-reply@yourwebsite.com';
$receiver_email_id = 'me@yourwebsite.com';

/** WARNING !! Dont make changes below ***/

if(!empty($_REQUEST['uri'])){
    $uri=$_REQUEST['uri'];
}else{
    $uri='';
}


switch($uri){
    case $contact_us:
        contact();
        break;
    default:
        ?><meta HTTP-EQUIV="REFRESH" content="0; url=<?php echo $website_url; ?>"><?php

}
function contact($request = "Contact Form"){

    global $error_page_url, $paypal_page_url, $dummy_email, $receiver_email_id,$website_url;

    $subject = "[yourwebsite.com] - Contact Form"; 
    $email = htmlentities($_REQUEST['email']);
    $name = htmlentities($_REQUEST['name']);
    $phone = htmlentities($_REQUEST['phone']);  
    $comment = htmlentities($_REQUEST['comment']);
    $filter = htmlentities($_REQUEST['filter']);
    $headers = "From:" . $dummy_email;
    $headers1 = "From:" . 'no-reply@yourwebsite.com'; 


    $formatted_message = "Request : " . $request . "\n" . "\n" .
                         "Sender Name : " . $name . "(" . $email . ")" . "\n" . "\n" .
                         "Email : " . $email . "\n" . "\n" .    
                         "Phone : " . $phone . "\n" . "\n" .                             
                         "Comment : " . "\n" . $comment . "\n" . "\n";
    $formatted_message_client = "Hi " . $name . ","."\n" . "\n" .
                                "Thanks for contacting us. We will get back to you soon." . "\n" . "\n" .
                                "Regards," . "\n" .
                                "yourwebsite.com Team";

        if($_POST['check'] != $_SESSION['check']) {
                session_destroy();
            ?><meta HTTP-EQUIV="REFRESH" content="0; url=<?php echo $error_page_url; ?>"><?php
        }
        else {
            session_destroy();
            if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
                ?><meta HTTP-EQUIV="REFRESH" content="0; url=<?php echo $error_page_url; ?>"><?php
            }
            else {
        if($name == '' or $email == '' or $phone == '' or $filter != ''){
        ?><meta HTTP-EQUIV="REFRESH" content="0; url=<?php echo $error_page_url; ?>"><?php 
    }else{
        if( mail($receiver_email_id, $subject, $formatted_message, $headers1) &&  
            mail($email, $subject, $formatted_message_client, $headers)){
                    //session_destroy();
            ?><meta HTTP-EQUIV="REFRESH" content="0; url=<?php echo $paypal_page_url; ?>"><?php
        }else{
            ?><meta HTTP-EQUIV="REFRESH" content="0; url=<?php echo $error_page_url; ?>"><?php
        }
    }
    }
}
}
?>
于 2012-10-30T17:08:11.057 に答える
0

いいえ、フォームの送信は電子メールまたは HTTP のいずれかで行われます。

JavaScript を使用して何かを偽造しようとすることもできますが、これは奇妙で興味深い方法で壊れる可能性があるため、適切な方法は、CGI からのフォーム送信を処理し、リダイレクト ステータス コードを返すことです。

于 2012-10-30T16:54:15.100 に答える