我有一个集成了iframe的Wordpress页面,其中包含如下所示的预订日历脚本。
<div class="booking-calendar">
<iframe id="frame1" name="frame1" src="http://www.xxxxxx.co.uk/booking/frontend/" width="100%" height="450px" frameborder="0" scrolling="auto"></iframe>
</div>
这个iframe中的脚本演示可以在这里找到:http://www.phpjabbers.com/hotels-booking-system/我想做的是,一旦用户点击"立即预订"按钮,将他们重定向到Paypal页面。目前的设置是,他们必须点击"立即付款"按钮才能进入这个Paypal页面进行付款。此"立即付款"按钮的代码如下:
<?php
if ($deposit > 0) {
if ($_REQUEST['payment_type'] == 'paypal') {
?>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="<?php echo $SETTINGS_DB["paypal_address"]; ?>">
<input type="hidden" name="item_name" value="Booking confirmation - <?php echo $BookingID; ?>">
<input type="hidden" name="item_number" value="">
<input type="hidden" name="amount" value="<?php echo number_format($deposit, 2, '.', ''); ?>">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="<?php echo $Currencies[$SETTINGS_DB["currency"]]; ?>">
<input type="hidden" name="lc" value="US">
<input type="hidden" name="bn" value="PP-BuyNowBF">
<input type="hidden" name="return" value="<?php echo $SETTINGS_DB["thankyou_page"]; ?>">
<input name="submit" type='submit' value='PAY NOW' >
</form>
<?php
header ("https://www.paypal.com/cgi-bin/webscr");
exit;
?>
我想知道如何重定向,让用户在不点击Pay的情况下自动转到Paypal页面?如果有人能把我带向正确的方向,那就太好了。我知道隐藏的价值必须转移到贝宝页面,我只是不知道如何做到这一点,所以它们被转移了。有什么想法吗?任何提示都将不胜感激。
我一直在尝试自己解决这个问题,所以到目前为止我所做的是:由于我希望在用户单击"预订"按钮后重定向到PayPal,我将"立即支付"表单中的隐藏字段复制到了带有"预订"键的部分-->最后一段代码:
($deposit > 0) {
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="<?php echo $SETTINGS_DB["paypal_address"]; ?>">
<input type="hidden" name="item_name" value="Booking confirmation - <?php echo $BookingID; ?>">
<input type="hidden" name="item_number" value="">
<input type="hidden" name="amount" value="<?php echo number_format($deposit, 2, '.', ''); ?>">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="<?php echo $Currencies[$SETTINGS_DB["currency"]]; ?>">
<input type="hidden" name="lc" value="US">
<input type="hidden" name="bn" value="PP-BuyNowBF">
<input type="hidden" name="return" value="<?php echo $SETTINGS_DB["thankyou_page"]; ?>">
<?php }
?>
<div style="float:left"><input type="submit" value="Book"></div>
<div style="clear:both"></div>
</form>
一旦用户点击"预订"按钮,代码将检查是否与以下内容一起提交:
elseif ($_REQUEST["ac"]=='save_booking') {
然后预订详细信息(姓名、电话、电子邮件等)将插入数据库,如下所示:
$sql = "INSERT INTO ".$TABLES["bookings"]." SET
`from` = '".Date2MySQL(SaveToDB($_REQUEST["from"]))."',
`to` = '".Date2MySQL(SaveToDB($_REQUEST["to"]))."',
`name` = '".SaveToDB($_REQUEST["name"])."',
`email` = '".SaveToDB($_REQUEST["email"])."',
`phone` = '".SaveToDB($_REQUEST["phone"])."',
`notes` = '".SaveToDB($_REQUEST["notes"])."',
`people` = '".SaveToDB($_REQUEST["people"])."',
`payment_type` = '".SaveToDB($_REQUEST["payment_type"])."',
`dt` = now()";
$sql_result = mysql_query ($sql, $connection ) or die ('request "Could not execute SQL query" '.$sql.mysql_error());
$BookingID = mysql_insert_id();
$total_price = 0;
$sql = "SELECT * FROM ".$TABLES["rooms"]." ORDER BY id DESC";
$sql_result = mysql_query ($sql, $connection ) or die ('request "Could not execute SQL query" '.$sql);
while ($row = mysql_fetch_assoc($sql_result)) {
if ($_REQUEST["room_".$row["id"]]>0) {
$sql = "INSERT INTO ".$TABLES["bookings_rooms"]." SET
`booking_id` = '".$BookingID."',
`room_id` = '".$row["id"]."',
`quantity` = '".SaveToDB($_REQUEST["room_".$row["id"]])."'";
$sql_resultT = mysql_query ($sql, $connection ) or die ('request "Could not execute SQL query" '.$sql.mysql_error());
$total_price = $total_price + $_REQUEST["room_price_".$row["id"]]*$_REQUEST["room_".$row["id"]];
};
};
$sql = "UPDATE ".$TABLES["bookings"]." SET
`price` = '".$total_price."'
WHERE id = '".$BookingID."'";
$sql_result = mysql_query ($sql, $connection ) or die ('request "Could not execute SQL query" '.$sql.mysql_error());
$deposit = $SETTINGS_DB["payment_deposit"];
$sql = "SELECT * FROM ".$TABLES["bookings"]." WHERE id='".$BookingID."'";
$sql_result = mysql_query ($sql, $connection ) or die ('request "Could not execute SQL query" '.$sql);
$booking = mysql_fetch_assoc($sql_result);
$sql = "SELECT * FROM `".$TABLES["bookings_rooms"]."` INNER JOIN ".$TABLES["rooms"]." ON ".$TABLES["rooms"].".id = ".$TABLES["bookings_rooms"].".room_id WHERE `".$TABLES["bookings_rooms"]."`.booking_id='".$BookingID."'";
$sql_resultP = mysql_query ($sql, $connection ) or die ('request "Could not execute SQL query" '.$sql);
while ($rooms = mysql_fetch_assoc($sql_resultP)) {
$roomsemail .= $rooms["quantity"]." x ".$rooms["room_type"].", ";
};
$message = ReadFromDB($SETTINGS_DB["email_message"]);
$search_tokens=array("{name}","{email}","{phone}","{from_date}","{to_date}","{price}","{rooms}");
$replace_tokens=array(ReadFromDB($booking["name"]),ReadFromDB($booking["email"]),ReadFromDB($booking["phone"]),MySQL2Date(ReadFromDB($booking["from"])),MySQL2Date(ReadFromDB($booking["to"])),formatCurrencyExport($booking["price"]),$roomsemail);
$message=str_replace($search_tokens,$replace_tokens,$message);
$mailheader = "From: ".$SETTINGS_DB["admin_email"]."rn";
$mailheader .= "Reply-To: ".$SETTINGS_DB["admin_email"]."rn";
$mailheader .= "Content-type: text/plain; charset=UTF-8rn";
mail($booking["email"], $SETTINGS_DB["email_subject"], $message, $mailheader);
if ($SETTINGS_DB["admin_email"]) {
mail($SETTINGS_DB["admin_email"], $SETTINGS_DB["email_subject"], $message, $mailheader);
}
在数据被插入数据库后,我想让用户自动转到PayPal支付页面,所以我在上面的代码后面插入了这个代码:
header ("https://www.paypal.com/cgi-bin/webscr");
exit;
?>
现在,当我点击"预订"按钮时,什么都没有发生,表单消失了,所以我在页面上只有一些说明文本,但我们没有重定向到PayPal页面。有人能给我指正确的方向吗?