简体   繁体   中英

My webpage stops loading when reaching a php tag in javascript

I have a problem with a website which I never had before on other sites, it's probably something simple, but can't seem to get it. Please see and advise.

<!--All Header Elements-->
<?php 
$pageName = "Easy-Quote";
$siteName = "Bloemendal";
include("../Includes/header_non_index.inc"); 
include("../Includes/function12.inc"); 
?> <?php error_reporting (E_ALL ^ E_NOTICE); ?>
<!--All Header Elements-->
<body>
<script type="text/javascript">

var total = 0;

var allVenues = "";
var allVenuePricing = "";
var allTents = "";
var allTentPricing = "";
var allDFPricing = "";
var allMenus = "";
var allMenuPricing = "";
var allSF = "";

var venueName = "";
var venuePrice = 0;
var tentName = "";
var tentPrice = 0;
var DF = "";
var DFPrice = 0;
var menuName = "";
var menuPrice = 0;
var serviceFee = 0;

var getGuests = null;
var totalField = null;
var venueField = null;
var tentField = null;
var DFField = null;
var menuField = null;

//Get Fields
function getFields()
{
     getGuests = document.getElementById('Guests');
     totalField = document.getElementById('TotalField');
     depositField = document.getElementById('DepositField');
     venueField = document.getElementById('getValue');
     tentField = document.getElementById('getTent');
     DFField = document.getElementById('getDF');
     menuField = document.getElementById('getMenu');
     serviceField = document.getElementById('getServiceCharge');
}

function convertAllArrays()
{
    <?php
    $allVenues=getVenues(); 
    $allVenuePricing=getVenuePricing();
    $allTents=getTents(); 
    $allTentPricing=getTentPricing();
    $allDFPricing=getDFPricing();
    $allMenus=getMenus(); 
    $allMenuPricing=getMenuPricing();
    $allSF=getServiceFee(); 

    //##################Declaring All Arrays###########################\\
        echo "allVenues = ". json_encode($allVenues) . ";\n"; //All the Venue Names
        echo "allVenuePricing = ". json_encode($allVenuePricing) . ";\n"; //All the Venue Pricing
        echo "allTents = ". json_encode($allTents) . ";\n"; //All the Tent Names
        echo "allTentPricing = ". json_encode($allTentPricing) . ";\n"; //All the Tent Pricing 
        echo "allDFPricing = ". json_encode($allDFPricing) . ";\n"; //All the Dance Floors
        echo "allMenus = ". json_encode($allMenus) . ";\n"; //All the Menu Names
        echo "allMenuPricing = ". json_encode($allMenuPricing) . ";\n"; //All the Menu Pricing
        echo "allSF = ". json_encode($allSF) . ";\n"; //All the Service Fees
    ?>
}

function activeControl()
{

    //Check Venue Field
    if(getGuests.value > 0)
    {
        venueField.disabled = false;
    }else{
        venueField.options[0].selected = true;
        venuePrice = 0;
        venueName = "";
        venueField.disabled = true; 
    }

    //Check Tent Field
    if(venueField.selectedIndex == 1)
    {
        tentField.disabled = false;
    }else{  
        tentPrice = 0;
        tentName = "";
        tentField.options[1].selected = true;
        tentField.disabled = true;
    }

    //Check Menu Field
    if(venueField.selectedIndex > 0)
    {
        menuField.disabled = false;
    }else{
        menuPrice = 0;
        menuName = "";
        menuField.options[0].selected = true;
        menuField.disabled = true;  
    }

    //Check Dance Floor Field
    if(venueField.selectedIndex == 1)
    {
        DFField.disabled = false;
    }else{
        DFField.checked = false;
        DF = "No";
        DFPrice = 0;
        DFField.disabled = true;    

    }

    updateTotal();
}

function updateTotal()
{   

    //Get Venue Details 
    var getSelectedVenue = venueField.selectedIndex;
    if(getSelectedVenue > 0)
    {
        venueName = allVenues[getSelectedVenue];
        venuePrice = allVenuePricing[getSelectedVenue]
    }

    //Get Tent Details  
    var getSelectedTent = tentField.selectedIndex;
    if(getSelectedTent > 1)
    {
        tentName = allTents[getSelectedTent-1];
        tentPrice = allTentPricing[getSelectedTent-1]
    }else if(getSelectedTent == 1)
    {
        tentName = "";
        tentPrice = 0;
    }

    //Get DF Details    
    if(DFField.checked)
    {
        DF = "Yes";
        DFPrice = allDFPricing[1];
    }else
    {
        DF = "No";
        DFPrice = 0;
    }

    //Get Menu Details  
    var getSelectedMenu = menuField.selectedIndex;
    if(getSelectedMenu > 0)
    {
        menuName = allMenus[getSelectedMenu];
        menuPrice = allMenuPricing[getSelectedMenu]
    }

    //Get Service Fee Details   
    var getSelectedSF =serviceField.selectedIndex;
    if(getSelectedSF > 0)
    {
        serviceFee = allSF[getSelectedSF];
    }

    venuePrice = parseFloat(venuePrice,10);
    tentPrice = parseFloat(tentPrice,10);
    DFPrice = parseFloat(DFPrice,10);
    menuPrice = parseFloat(menuPrice,10);
    serviceFee = parseFloat(serviceFee,10);


    //Update Total Field
    total = venuePrice + tentPrice +DFPrice + (menuPrice*getGuests.value);
    total = total + (total*serviceFee);
    totalField.value = "R"+total;

    //Update Deposit Fee
    depositField.value = "R"+(total*0.3);
}



</script>
<!--Global Elements-->

That is the first 196 lines of the site. Offline it loads, but when uploaded to the webserver, it only uploads up to:

function convertAllArrays()
{

PS: I know that calling php variables in javascript is not ideal, but it should suffice for my purpose.

!!EDIT!!
Website Link: http://bloemendal.co.za/Easy-Quote/

!!EDIT!!
The first few line of code in the function12.inc include. the getVenues() etc functions are declared in this include:

<?php
//############################Venues###############################\\
function getVenues()
{
    include("../Includes/db_bloem_01_logon.inc");             
                $cxn = mysqli_connect($host,$user,$passwd,$dbname);
                $query = "SELECT VenueName FROM venues WHERE ID < 5";
                $results = mysqli_query($cxn, $query) or die ("Could't execute query");

      $allVenues= array();

        $counter = 1;
        while($row = mysqli_fetch_assoc($results))
        {
              extract ($row);
              $allVenues[$counter] = "$VenueName";
              $counter++;
        }     
    return $allVenues;
}

function getVenuePricing()
{
    include("../Includes/db_bloem_01_logon.inc");             
                $cxn = mysqli_connect($host,$user,$passwd,$dbname);
                $query = "SELECT Price FROM venues WHERE ID < 5";
                $results = mysqli_query($cxn, $query) or die ("Could't execute query");

      $allVenuePricing= array();

        $counter = 1;
        while($row = mysqli_fetch_assoc($results))
        {
              extract ($row);
              $allVenuePricing[$counter] = "$Price";
              $counter++;
        }     
    return $allVenuePricing;
}

When you have php in a script and the php throws an error the error prints in the script tag, so it's not going to show up on your browser. Chances are there's a problem with the php inside your javascript. Move the php outside the script tag to make sure that it runs without error.

your code

$allVenues=getVenues(); 

you can't assing a value to a php variable as a return of a JavaScript function

When the PHP interpreter read your code and build up the web page to be served take the value of $allVenues and put it into the page. Let say that variable is null : your line of code, served to the browser will be

null=getVenues();

the function

mysqli_fetch_assoc

doesn't exists (as far as I know)

there is a

mysql_fetch_assoc

no my-sql-improved

(but is deprecated)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM