Javascript 致命错误:调用未定义的函数

Javascript 致命错误:调用未定义的函数,javascript,php,function,undefined,Javascript,Php,Function,Undefined,我正在尝试使用javascript文件中定义的函数验证输入表单输入字段的字符串,我在head标记中调用该文件,这是index.php文件中的第一个包含。在调用mod10()函数之前,我进行了很多检查,这些检查都是通过的,但一旦调用mod10()函数,我就会得到以下错误: 致命错误:调用中未定义的函数mod10() /Applications/XAMPP/xamppfiles/htdocs/modderfc/Content/new_registration.php 第46行 下面是引发错误的代码块

我正在尝试使用javascript文件中定义的函数验证输入表单输入字段的字符串,我在head标记中调用该文件,这是index.php文件中的第一个包含。在调用mod10()函数之前,我进行了很多检查,这些检查都是通过的,但一旦调用mod10()函数,我就会得到以下错误:

致命错误:调用中未定义的函数mod10() /Applications/XAMPP/xamppfiles/htdocs/modderfc/Content/new_registration.php 第46行

下面是引发错误的代码块:

//Check if the ID Number entered is a valid ID Number
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $fieldTitle = "Player ID Number";
    if (empty($_POST["player_id_number"])) {
        $player_id_numberErr = $fieldTitle . $requiredErrorText;
    } else {
        // check if the ID Number entered is a valid ID Number
        if (mod10($player_id_number,13) == FALSE) {           //line 46
            $player_id_numberErr = $id_numberValidationErrorText;
        } else {
            $player_id_number = test_input($_POST["player_id_number"]);
        }
    }
}
我尝试在if(mod10($player_id_number,13)==FALSE)之前使用以下命令设置$player_id_number字段{line链接此链接:

$player_id_number = test_input($_POST["player_id_number"]);
但这会导致相同的错误,与之前失败的线路相同:

致命错误:调用第47行/Applications/XAMPP/xamppfiles/htdocs/modderfc/Content/new_registration.php中未定义的函数mod10()

作为参考,我还在.js文件中包含了函数:

function mod10(num, validLength) {  
if (num == "" || num == null) return true;
var valid = "0123456789"; 
var sCCN = num.toString().replace (/ /g,''); 
var len = sCCN.length;  
var iCCN = parseInt(sCCN,10);
var iTotal = 0;  // integer total set at zero
var bResult = false;  
var temp;  // temp variable for parsing string
var calc;  // used for calculation of each digit

for (var j=0; j<len; j++) {
    temp = "" + sCCN.substring(j, j+1);
    if (valid.indexOf(temp) == "-1"){bResult = false;}
}

if(len != validLength) {
      bResult = false;
}
else
{  // num is proper length - let's see if it is a valid mod10 number

    for (var i=len;i>0;i--) {               // LOOP throught the digits 
          calc = parseInt(iCCN,10) % 10;    // right most digit
          calc = parseInt(calc,10);         // assure it is an integer
          iTotal += calc;                   // running total of the number as we loop - Do Nothing to first digit
          i--;                              // decrement the count - move to the next digit
          iCCN = iCCN / 10;                 // subtracts right most digit 
          calc = parseInt(iCCN,10) % 10 ;   // NEXT right most digit
          calc = calc *2;                   // multiply the digit by two

          switch(calc){
            case 10: calc = 1; break;       //5*2=10 &amp; 1+0 = 1
            case 12: calc = 3; break;       //6*2=12 &amp; 1+2 = 3
            case 14: calc = 5; break;       //7*2=14 &amp; 1+4 = 5
            case 16: calc = 7; break;       //8*2=16 &amp; 1+6 = 7
            case 18: calc = 9; break;       //9*2=18 &amp; 1+8 = 9
            default: calc = calc;           //4*2= 8 &amp;   8 = 8  -same for all lower numbers
          }                 

        iCCN = iCCN / 10;  // subtracts right most digit 
        iTotal += calc;  // running total of the number as we loop

      }  // END OF LOOP

    bResult =  iTotal%10 == 0 // check to see if the sum Mod 10 is zero

    }
return bResult; // Return the results
函数mod10(num,validLength){
如果(num==“”| | num==null)返回true;
var valid=“0123456789”;
var sCCN=num.toString().replace(//g',);
var len=sCCN.长度;
var-iCCN=parseInt(sCCN,10);
var iTotal=0;//整数总计设置为零
var-bResult=false;
var temp;//用于分析字符串的临时变量
var calc;//用于计算每个数字

对于(var j=0;j您正在将php与javascript混合在一起。php永远无法执行
mod10
函数,因为它是用JS编写的。简单回答:用php重新编写
mod10
函数。

理解客户端代码和服务器端代码之间的区别很重要。 PHP(服务器端)将首先运行,并生成html(和JavaScript,如果您愿意),浏览器将加载该过程的输出

从那时起,您就处于客户端,拥有JavaScript等前端工具供您使用

如果希望从php调用JavaScript函数,可以在
部分,但该代码仅在浏览器加载页面后运行。php不会实际运行该函数,只将其打印为文本


如果您希望从客户端访问服务器代码,您可以使用AJAX。

Umm…因为您无法从PHPAnswer调用JS函数,所以php错误输出中有。您的php代码中没有函数mod10()。您尝试访问javascript函数??您不能在php中调用javascript函数(通常情况下).PHP是在Web服务器上运行的,JavaScript是在浏览器中运行的。谢谢。这是有道理的。真希望我有能力重新编码它。