Javascript PHP将变量从表单传递到PHP

Javascript PHP将变量从表单传递到PHP,javascript,php,jquery,wordpress,forms,Javascript,Php,Jquery,Wordpress,Forms,我更像是一个前端开发人员,所以后端的东西有时让我感到困惑 我从一个现有的网站上复制了一些代码,但在新的网站上它并没有像预期的那样运行 我正在使用一个酒店预订小部件。主页上有一个表格,用于输入入住和退房日期。单击“提交”按钮时,表单链接到所有可用房间的可用性表 在当前网站上,表单上输入的日期将传递到可用性表。然而,当我复制代码时,它不再像那样工作。我错过了什么 以下是表格代码: <script type="text/javascript"> jQuery(document).read

我更像是一个前端开发人员,所以后端的东西有时让我感到困惑

我从一个现有的网站上复制了一些代码,但在新的网站上它并没有像预期的那样运行

我正在使用一个酒店预订小部件。主页上有一个表格,用于输入入住和退房日期。单击“提交”按钮时,表单链接到所有可用房间的可用性表

在当前网站上,表单上输入的日期将传递到可用性表。然而,当我复制代码时,它不再像那样工作。我错过了什么

以下是表格代码:

<script type="text/javascript">

jQuery(document).ready(function() {
    jQuery('.MyDate1').datepicker({
        dateFormat : 'dd/mm/yy'
    });

jQuery(document).ready(function() {
    jQuery('.MyDate2').datepicker({
        dateFormat : 'dd/mm/yy'
 minDate:  0,
onSelect: function(date){
var date2 = $('.MyDate2').datepicker('getDate');
            date2.setDate(date2.getDate()+1);
            $('.MyDate1').datepicker('setDate', date2);
    });

</script>

<?php 
// ==================================================
// Displays the Booking Panel Date selection options.
// ==================================================

// Set up some default Check-in/Check-out Dates.
$checkinToday = date('d/m/Y');
$checkoutTomorrow = mktime(0, 0, 0, date('m'), date('d')+1, date('Y'));
$checkoutTomorrow = date('d/m/Y', $checkoutTomorrow);
?>
              <form name="bookingform" action="https://www.clarionsuitesgateway.com.au/clarionhotel/booking-system/" method="post">
              <div class="booking-h3">Check Availability</div>
              <div class="booking-row">
                <div class="booking-label">Check In Date</div>
                <div class="booking-field"><input name="frmCheckin" id="frmCheckin" type="text" class="MyDate1" value="<?php echo $checkinToday; ?>" style="width:100%" /></div>
              </div>
              <div class="booking-row">
                <div class="booking-label">Check Out Date</div>
                <div class="booking-field"><input name="frmCheckout" id="frmCheckout" type="text" class="MyDate2" value="<?php echo $checkoutTomorrow; ?>" style="width:100%" /></div>
              </div>
              <div class="booking-row">
                <div class="booking-row-box">
                  <div class="booking-label">Adults</div>
                  <div class="booking-field">
                      <select id="frmAdults" name="frmAdults">
                        <?php for ($i = 1; $i <= 10; $i++): ?>
                                  <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
                        <?php endfor; ?>
                      </select>            
                  </div>
                </div>
                <div class="booking-row-box">
                  <div class="booking-label">Children</div>
                  <div class="booking-field">
                      <select id="frmChildren" name="frmChildren">
                        <?php for ($i = 0; $i <= 10; $i++): ?>
                                  <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
                        <?php endfor; ?>
                      </select>            
                  </div>
                </div>
                <br clear="all">
              </div>
              <div class="booking-row">
                <div class="booking-button">
                  <input type="submit" value="Check Availability" name="Send" alt="Check Availability" />
                  <input type="hidden" name="Submit" />
                </div>
              </div>              
              </form>

jQuery(文档).ready(函数(){
jQuery('.MyDate1').datepicker({
日期格式:“日/月/年”
});
jQuery(文档).ready(函数(){
jQuery('.MyDate2').datepicker({
日期格式:“日/月/年”
minDate:0,
onSelect:功能(日期){
var date2=$('.MyDate2').datepicker('getDate');
date2.setDate(date2.getDate()+1);
$('.MyDate1').datepicker('setDate',date2);
});
检查可用性
登记日期

这可能与“新”站点表上的字段有关。请检查以确保它们是正确的数据类型。是否使用MySQL?我猜您可能没有正确连接到数据库。如果它在本地服务器上工作,但不会将任何数据放入新服务器表中,则PHP o可能没有问题r Javascript。查看您的数据库。

这可能与“新”站点表上的字段有关。请检查以确保它们是正确的数据类型。您是否使用MySQL?我猜您可能没有正确连接到数据库。如果它在本地服务器上工作,但不会将任何数据放入新服务器表中PHP或Javascript可能没有问题。请查看您的数据库。

因此,如果您在可用性表页面上
print\r($\u POST);
它是空的吗?谢谢您的回答!您能给我指一下执行该命令的新手指南吗?那么如果您
print\r($\u POST)
在可用性表页面上,它是空的吗?谢谢你的回答!你能给我指一下执行该命令的新手指南吗?非常感谢你花时间回答。两个站点都在同一台服务器上,这让我觉得如果它在一台服务器上工作,它应该在另一台上工作,对吗?所以当我将表单操作设置为在现有的可用性表中,日期是通过的。但是,一旦我将其设置到新站点,日期就不会通过。非常感谢您的帮助!好吧,这取决于情况。我需要您提供更多信息。您是否使用MySQL存储表中的数据?是否与您尝试存储变量的表完全相同?如果这是一个不同的表或不同的数据库。请告诉我。您是否收到任何错误消息?在SQL查询中,请尝试执行或终止()查看是否有错误消息。如果您使用的是相同的脚本和相同的表,它应该可以工作,但如果您正在更改到不同的数据库,它可能无法通过您的设置。再次感谢。可用性表本身嵌入了iFrame,因此它来自外部预订应用程序的服务器。我认为在iFrame之前页面上的代码中,是将日期传递到可用性表的东西-请参阅下面的代码注释。我没有收到错误消息。具体来说,这部分代码:
if(isset($_POST[“Submit”]){if(strlen($_POST['frmCheckin']){$arrchekindate=explode(“/”,$_POST['frmCheckin'];$CheckinDay=$arrCheckinDate[0];$CheckinMonth=date(“M”,mktime(0,0,0,$arrCheckinDate[1,2012]);$CheckinYear=$arrCheckinDate[2];]
非常感谢您花时间回答。两个站点都在同一台服务器上,这让我觉得如果它在一台服务器上工作,那么它应该在另一台服务器上工作,对吗?因此,当我将表单操作设置为现有的可用性表时,日期会被传递。但一旦我将其设置为新站点,它们就不会被传递。真的是感谢您的帮助!这要看情况而定。我需要您提供更多的信息。您是否使用MySQL存储表中的数据?它是否与您尝试存储变量的表完全相同?如果它是不同的表或不同的数据库,请让我知道。您是否收到任何错误消息?在您的SQL查询中,请尝试执行或终止()查看是否有错误消息。如果您使用的是相同的脚本和相同的表,它应该可以工作,但如果您正在更改到不同的数据库,它可能无法通过您的设置。再次感谢。可用性表本身嵌入了iFrame,因此它来自外部预订应用程序的服务器。我认为在iFrame之前页面上的代码中,是将日期传递到可用性表的东西-请参阅下面的代码注释。我没有收到错误消息。具体来说,这部分代码:
if(isset($_POST[“Submit”]){if(strlen($_POST['frmCheckin']){$arrchekindate=explode(“/”,$_POST['frmCheckin'];$CheckinDay=$arrCheckinDate[0];$CheckinMonth=date(“M”,mktime(0,0,0,$arrCheckinDate[1,2012]);$CheckinYear=$arrCheckinDate[2];}
<?php
// ==================================================
// BOOKING BUTTON specific page.
// ==================================================
// Set some default dates incase nothing is selected (we're not doing any error checking for this).
// Today
$CheckinDay = date('d');
$CheckinMonth = date('m');
$CheckinYear = date('Y');
// Tomorrow
$CurrentDate = date('Y/m/d');
$Tomorrow = strtotime('+1 day', strtotime($CurrentDate)) ;
$Tomorrow = date('d/m/Y', $Tomorrow);
$arrCheckoutDate = explode("/", $Tomorrow);
$CheckoutDay = $arrCheckoutDate[0];
$CheckoutMonth = date("M", mktime(0, 0, 0, $arrCheckoutDate[1], 1, 2012));
$CheckoutYear = $arrCheckoutDate[2];

$NumberAdults = 1;
$NumberChildren = 0;

if ( isset($_POST["Submit"]) ) 
{
    if ( strlen($_POST['frmCheckin']) )
    {
        $arrCheckinDate = explode("/", $_POST['frmCheckin']);
        $CheckinDay = $arrCheckinDate[0];
        $CheckinMonth = date("M", mktime(0, 0, 0, $arrCheckinDate[1], 1, 2012));
        $CheckinYear = $arrCheckinDate[2];
    }
    if ( strlen($_POST['frmCheckout']) )
    {
        $arrCheckoutDate = explode("/", $_POST['frmCheckout']);
        $CheckoutDay = $arrCheckoutDate[0];
        $CheckoutMonth = date("M", mktime(0, 0, 0, $arrCheckoutDate[1], 1, 2012));
        $CheckoutYear = $arrCheckoutDate[2];
    }
    $NumberAdults = $_POST['frmAdults'];
    $NumberChildren = $_POST['frmChildren'];
}
?>
<?php get_header(); ?>
<div id="ContentOuterContainer">
  <div id="ContentInnerContainerBookings">
       <?php while ( have_posts() ) : the_post(); ?>

                 <iframe src="https://www.thebookingbutton.com.au/xxx/properties/xxx?utf8=%E2%9C%93&locale=en&check_in_date=<?php echo $CheckinDay;?>+<?php echo $CheckinMonth;?>+<?php echo $CheckinYear;?>&check_out_date=<?php echo $CheckoutDay;?>+<?php echo $CheckoutMonth;?>+<?php echo $CheckoutYear;?>&number_adults=<?php echo $NumberAdults; ?>&number_children=<?php echo $NumberChildren; ?>&commit=Check+Availability" height="590" width="1047" frameborder="0" scrolling="yes" allowtransparency="true"></iframe>


       <?php endwhile; ?>
    <div class="clear"></div>
  </div>
</div>
<div class="gap"></div>
<?php get_footer(); ?>