0

我创建了一个网站,其中包含筹款活动的注册表。它具有简单的字段,例如“名字、姓氏、电子邮件等”。在他们点击第一页上的“提交”后,他们会被带到另一个页面,在那里他们可以通过 Paypal 付款。

我已经知道如何在显示“立即购买”的地方插入 Paypal 功能。但是,就我而言,我想要 2 种不同的 Paypal 表格:

  1. 如果用户已经注册了另一个特定的会议,他们支付 10 美元(我已经通过 phpmyadmin 在数据库表中获得了注册与会者的列表)
  2. 如果用户没有注册大会,他们需要支付 15 美元

如何对其进行编码,以便我可以验证用户是否在已注册与会者的数据库表中并获得 10 美元的费率?(也许我可以通过表格上使用的电子邮件地址进行验证)

这就是我现在为我的 php 文件所拥有的(默认为非与会者的 15 美元常规费率)

<html>
<div class="container">
    <head><title>Payment Page</title></head>
    <body>
    <h1>Step 2: Payment</h1>
    <p class="content">Please proceed onto payment via Paypal.</p>
<div></div>
<ul>
    <li>The fee for an attendee is $10</li>
    <li>The fee for a non-attendee is $15</li>

</ul>

    </body>

<head>
<link rel="stylesheet" type="text/css" href="container.css">
</head>

</html>

<div></div>
<br></br>


    <form action="https://www.paypal.com/cgi-bin/webscr" method="post">  
    <input type="hidden" name="cmd" value="_xclick">  
    <input type="hidden" name="business" value="tracyjones@gmail.com">  
    <input type="hidden" name="item_name" value="Fundraiser">  
    <input type="hidden" name="item_number" value="Rate">  
    <input type="hidden" name="amount" value="15.00">  
    <input type="hidden" name="no_shipping" value="0">  
    <input type="hidden" name="no_note" value="1">  
    <input type="hidden" name="currency_code" value="USD">  
    <input type="hidden" name="lc" value="AU">  
    <input type="hidden" name="bn" value="PP-BuyNowBF">  
    <input type="image" src="https://www.paypal.com/en_AU/i/btn/btn_buynow_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online.">  
    <img alt="" border="0" src="https://www.paypal.com/en_AU/i/scr/pixel.gif" width="1" height="1">  
</form>  
4

2 回答 2

0

你真正需要做的就是改变价格,所以在

<input type="hidden" name="amount" value="15.00"> 

接下来查询名称列表:

<?php
require_once{'config.php');

$query="SELECT * FROM usertable";
$result=mysql_query($query) or exit("Sql Error".mysql_error());
$num_results = mysql_num_rows($result)-1; 

$in=0;
for ($i=0; $i<=$num_results;$i++){
$userindb=mysql_result($result,$i,"usernamecolumn");
if ($userindb==$userinputted){
echo "<input type='hidden' name='amount' value='10.00'>";
$in=1;
exit;
}
}
if ($in==0){
echo "<input type='hidden' name='amount' value='15.00'>";}

?>

当然,您必须检索发布数据并将其设置为 $userinputted。我希望这会有所帮助,如果需要,请向我询问更多详细信息。

于 2013-02-08T12:29:43.680 回答
0

编辑 试试这个:

 <?php


// Event name
$event = "2013 VIA-1 5K Run Fundraiser";



// Registration fees for attendees and non-attendees
$fee_attendee = 10;
$fee_nonAttendee = 15;


$paypal_email = 'payment@example.com ';

// Registration closing date (will go until 11:59 PM Central Standard Time of this day)
$close_month = 03;
$close_day = 08;
$close_year = 2013;

// $time = time(); Easier to use the build in now function of MySQL. 


function clean($in)
{
    $out = trim(strip_tags($in));
    $out = addslashes($out);
    return $out;
}



function listform(){
$host = "host";
$user = "username";
$password = "password";
$database = "dbname";

// open connection to databse
$link = mysqli_connect($host, $user, $password, $database);
        IF (!$link){
            echo ("Unable to connect to database!");
        }
        ELSE {
           //Get organisations from table organisations
           $query = "SELECT * FROM  organisations ORDER BY name ASC"; 
           $result = mysqli_query($link, $query);
                while($row = mysqli_fetch_array($result, MYSQLI_BOTH)){
                    echo "<option value=".$row['id_organisations'].">".$row['name']."</option>\n";
                }
        }
        mysqli_close($link);
}

//Check if variables are post if so filter the input if not initiating variables for form
IF (isset($_POST['firstname'])){  
     $firstname  = filter_var($_POST['firstname'], FILTER_SANITIZE_STRING);    
}
ELSE {
    $firstname  = "";
}

IF (isset($_POST['lastname'])){
            $lastname   = filter_var($_POST['lastname'],FILTER_SANITIZE_STRING); 
}
ELSE {
    $lastname   = "";
}

IF (isset($_POST['org'])){
   $org = $_POST['org'];
}
ELSE {
    $org    = "";
}

IF (isset($_POST['email'])){
    $email  = filter_var(filter_var($_POST['email'],FILTER_SANITIZE_EMAIL),FILTER_VALIDATE_EMAIL);
}
ELSE {
    $email  = "";
}

IF (isset($_POST['attendant'])){
    $attendant  = filter_var(filter_var($_POST['attendant'],FILTER_SANITIZE_STRING));
}
ELSE {
    $attendant  = "";
}
IF (isset($_POST['waiver'])){
    $waiver = filter_var(filter_var($_POST['waiver'],FILTER_SANITIZE_STRING));
}
ELSE {
    $waiver  = "";
}



function submit_form(){
$host  = "host";
$user = "username";
$password = "password";
$database = "dbname";

    $firstname  = filter_var($_POST['firstname'], FILTER_SANITIZE_STRING); 
    $lastname   = filter_var($_POST['lastname'], FILTER_SANITIZE_STRING); 
    $org    = $_POST['org'];
    $email  = filter_var(filter_var($_POST['email'],FILTER_SANITIZE_EMAIL),FILTER_VALIDATE_EMAIL);
    $attendant  = $_POST['attendant'];

    // open connection to database
    $link = mysqli_connect($host,$user, $password, $database);
        IF (!$link){
            echo ("Unable to connect to database!");
        }
        ELSE {
           //INSERT VALUES INTO DATABASE
           $query = "INSERT INTO basicinfo (firstname,lastname,email,attendant,org,time) VALUES('".$firstname."', '".$lastname."', '".$email."', ".$attendant.", ".$org.", NOW())";
           return mysqli_query($link,$query);

        }
//close connection to database
        mysqli_close($link);

    }





function payment (){
$host = "host";
$user = "username";
$password = "password";
$database = "dbname";

$firstname  = filter_var($_POST['firstname'], FILTER_SANITIZE_STRING); 
$lastname   = filter_var($_POST['lastname'], FILTER_SANITIZE_STRING);





// open connection to databse
$link = mysqli_connect($host, $user, $password, $database);
        IF (!$link){
            echo ("Unable to connect to database!");
        }
        ELSE {
           //Is someone registered at other conference from table registration
           $query = "SELECT * FROM  registration WHERE firstname ='".$firstname."' AND lastname='".$lastname."'"; 
           $result = mysqli_query($link, $query);
           $rows = mysqli_fetch_array($result, MYSQLI_BOTH);         
                if ( $rows > 0){
                    $amount = 10.00;
                    $form_registrar= <<< heredoc
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">


<html>
<div class="container">
    <head><title>Payment Page</title></head>
    <link rel="stylesheet" type="text/css" href="container.css">
    <body>
    <h1>Step 2: Payment</h1>
    <p class="content">Please proceed onto payment via Paypal.</p>
<div></div>
<ul>
    <li>The fee for an attendee is $10</li>
    <li>The fee for a non-attendee is $15</li>

</ul>
<div>Your fee is $$amount</div>



    <form action="https://www.paypal.com/cgi-bin/webscr" method="post">  
    <input type="hidden" name="cmd" value="_xclick">  
    <input type="hidden" name="business" value="tracyjones@gmail.com">  
    <input type="hidden" name="item_name" value="Fundraiser">  
    <input type="hidden" name="item_number" value="Rate">  
    <input type="hidden" name="amount" value="$amount">  
    <input type="hidden" name="no_shipping" value="0">  
    <input type="hidden" name="no_note" value="1">  
    <input type="hidden" name="currency_code" value="USD">  
    <input type="hidden" name="lc" value="AU">  
    <input type="hidden" name="bn" value="PP-BuyNowBF">  
    <input type="image" src="https://www.paypal.com/en_AU/i/btn/btn_buynow_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online.">  
    <img alt="" border="0" src="https://www.paypal.com/en_AU/i/scr/pixel.gif" width="1" height="1">  
</form>

    </body>
</html>

heredoc;
                    return $form_registrar;
                }
                else {
                    $amount = 15.00;
                    $form_registrar= <<< heredoc
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">


<html>
<div class="container">
    <head><title>Payment Page</title></head>
    <link rel="stylesheet" type="text/css" href="container.css">
    <body>
    <h1>Step 2: Payment</h1>
    <p class="content">Please proceed onto payment via Paypal.</p>
<div></div>
<ul>
    <li>The fee for an attendee is $10</li>
    <li>The fee for a non-attendee is $15</li>

</ul>
   <div>Your fee is $$amount</div>



    <form action="https://www.paypal.com/cgi-bin/webscr" method="post">  
    <input type="hidden" name="cmd" value="_xclick">  
    <input type="hidden" name="business" value="tracyjones@gmail.com">  
    <input type="hidden" name="item_name" value="Fundraiser">  
    <input type="hidden" name="item_number" value="Rate">  
    <input type="hidden" name="amount" value="$amount">  
    <input type="hidden" name="no_shipping" value="0">  
    <input type="hidden" name="no_note" value="1">  
    <input type="hidden" name="currency_code" value="USD">  
    <input type="hidden" name="lc" value="AU">  
    <input type="hidden" name="bn" value="PP-BuyNowBF">  
    <input type="image" src="https://www.paypal.com/en_AU/i/btn/btn_buynow_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online.">  
    <img alt="" border="0" src="https://www.paypal.com/en_AU/i/scr/pixel.gif" width="1" height="1">  
</form>

    </body>
</html>

heredoc;
                    return $form_registrar;
                }
        }
        mysqli_close($link);
}

//Warning messages initiation
$warning_firstname  = "*Required";
$warning_lastname   = "*Required";
$warning_org  = "*Required";
$warning_email   = "*Required";
$warning_attendant   = "*Required";
$warning_waiver      = "*Required";





$formfirstpart = <<<EODformfirspart
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <title>Form 5K RUN </title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <link href="style.css" type="text/css" rel="stylesheet" media="screen"/>

    </head>
    <body style="background-color:gold">

            <div>We're excited to introduce the 5K Run to VIA-1! During this year's conference, Individuals can register to participate in the fun across University of Iowa's campus in order to raise money for this year's CPP</div>
    <div class="row">
        <form action="{$_SERVER['PHP_SELF']}" method="POST" name="registration">
           <div class="column grid_5">
               <label for='first'>First Name:</label></br>
            <input type="text" name="firstname" id="first" maxlength="25" tabindex='1' VALUE="$firstname" /><span class="warning">$warning_firstname</span></br></br>
            <label for='first'>Last Name:</label></br>
            <input type="text" name="lastname" id='lastname' maxlength="25" tabindex='1' VALUE="$lastname" /><span class="warning">$warning_lastname</span></br></br>
            <label for='email'>E-mail:</label></br>
            <input type="text" name="email" id='email' maxlength="100" tabindex='3' VALUE="$email" /><span class="warning">$warning_email</span></br></br>


           <label for="org">Organization:</label><br />
            <select id="org" name="org" tabindex="5">

EODformfirspart;

$formlastpart = <<<EODlastpart
                            </select>
                <span class="warning">$warning_org</span><br /><br />

                    <label for='attendant'>Are you attending VIA-1?</label><br />

                <input type='radio' class='radio' name='attendant' id='attendant-yes' value='1' /> <label for='attendant-yes'>Yes</label><br />
            <input type='radio' class='radio' name='attendant' id='attendant-no' value='0' /> <label for='attendant-no'>No </label><br />$warning_attendant<br />


            <input type='checkbox' class="radio" name="waiver" id="waiver" value="1"  /> <label for='waiver'>I understand and agree to the terms of <a href='waiver.php' target="_blank">the waiver</a>.$warning_waiver</label>
        </div>

    <div class='column grid_10 right'>
            <input type="submit" class='button' name="submit" value="submit" tabindex='7' />
            </form>
</div>
    </body>
</html>
EODlastpart;








IF(!IsSet($_POST['submit'])){ // Check if form is not send, if not display empty form.

echo $formfirstpart;
echo listform();
echo $formlastpart; 
}

ELSEIF (IsSet($_POST['submit']) AND (isset($firstname) OR isset($lastname) OR isset($email) OR  isset($org) OR isset($attendant))) {
$warning_counter = 0;
if ($firstname == "") {      
        $warning_firstname = 'Please provide your first name and / or a valid name';
                $warning_counter = + 1 ;
        }
if ($firstname == "") {      
        $warning_lastname = 'Please provide your last name and / or a valid name';
                $warning_counter = + 1;
        }
if ($email == "") {      
        $warning_email = 'Please provide your email adress and / or a valid email adress';
                $warning_counter = +1;
        }

if ($org == " ") {      
        $warning_org = 'Please select your organisation';
                $warning_counter = +1;
        }

if ($waiver == "") {      
        $warning_waiver = 'You have to accept the waiver agreement the otherwise you cannot attend'; 
                $warning_counter = +1;
        }
if ($attendant == "") {      
        $warning_attendant = 'Do you attend VIA-1?';
                $warning_counter =+1;
        } 
 if ($warning_counter>0){               
$formfirstpart1 = <<<EODformfirspart1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <title>Form 5K RUN </title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <link href="style.css" type="text/css" rel="stylesheet" media="screen"/>

    </head>
    <body style="background-color:gold">

            <div>We're excited to introduce the 5K Run to VIA-1! During this year's conference, Individuals can register to participate in the fun across University of Iowa's campus in order to raise money for this year's CPP</div>
    <div class="row">
        <form action="{$_SERVER['PHP_SELF']}" method="POST" name="registration">
           <div class="column grid_5">
               <label for='first'>First Name:</label></br>
            <input type="text" name="firstname" id="first" maxlength="25" tabindex='1' VALUE="$firstname" /><span class="warning">$warning_firstname</span></br></br>
            <label for='first'>Last Name:</label></br>
            <input type="text" name="lastname" id='lastname' maxlength="25" tabindex='1' VALUE="$lastname" /><span class="warning">$warning_lastname</span></br></br>
            <label for='email'>E-mail:</label></br>
            <input type="text" name="email" id='email' maxlength="100" tabindex='3' VALUE="$email" /><span class="warning">$warning_email</span></br></br>


           <label for="org">Organization:</label><br />
            <select id="org" name="org" tabindex="5">


EODformfirspart1;



$formlastpart1 = <<<EODlastpart1

                            </select>
                <span class="warning">$warning_org</span><br /><br />

                    <label for='attendant'>Are you attending VIA-1?</label><br />

                <input type='radio' class='radio' name='attendant' id='attendant-yes' value='1' /> <label for='attendant-yes'>Yes</label><br />
            <input type='radio' class='radio' name='attendant' id='attendant-no' value='0' /> <label for='attendant-no'>No </label><br />$warning_attendant<br />


            <input type='checkbox' class="radio" name="waiver" id="waiver" value="1"  /> <label for='waiver'>I understand and agree to the terms of <a href='waiver.php' target="_blank">the waiver</a>.$warning_waiver</label>
        </div>

    <div class='column grid_10 right'>
            <input type="submit" class='button' name="submit" value="submit" tabindex='7' />
            </form>
</div>
    </body>
</html>

EODlastpart1;
    echo $formfirstpart1;
    echo listform();
    echo $formlastpart1;
 }
 IF ($warning_counter == 0){
submit_form();
echo payment();

 }
}


?>
于 2013-02-08T14:24:15.263 回答