Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在单独的页面中回显内容_Php - Fatal编程技术网

Php 如何在单独的页面中回显内容

Php 如何在单独的页面中回显内容,php,Php,我不知道这是否可行,但在本页我有以下代码: $moduleHTML = ""; while($sqlstmt->fetch()) { $moduleHTML .= "<option value='$dbModuleId'>" . $dbModuleId . " - " . $dbModuleName . "</option>".PHP_EOL; $outputmodule = ""; $outputmodule .=

我不知道这是否可行,但在本页我有以下代码:

$moduleHTML  = "";  

 while($sqlstmt->fetch()) { 
    $moduleHTML .= "<option value='$dbModuleId'>" . $dbModuleId . " - " . $dbModuleName . "</option>".PHP_EOL;  
    $outputmodule = ""; 
        $outputmodule .= "<p><strong>Module:</strong> " . $dbModuleId .  " - "  . $dbModuleName . "</p>"; 
} 

问题是,我收到了上述回音的未定义错误。我的问题是,如何将module.php页面中的$dbModuleId和$dbModuleName回显到上面的editsession.php页面脚本中?

php脚本是在不同的请求期间调用的,还是它们彼此包含在一起?如果不同的请求不同,您可以将变量存储在$\u会话中,并使其在请求之间可用。如果在同一个请求中,那么该变量将在同一范围内可用,或者您可以使用global关键字跨范围共享


通常不推荐使用Globals。还有globals数组。这取决于您是否在同一请求中。

如果您不想使用会话,您可以将值作为json数组传回,然后对其进行解码,并使用jquery附加值

   $outputArray = array();  

     while($sqlstmt->fetch()) { 
        $outputArray['moduleHTML'] = "<option value='$dbModuleId'>" . $dbModuleId . " - " . $dbModuleName . "</option>".PHP_EOL;  

        $outputArray['outputModule']  = "<p><strong>Module:</strong> " . $dbModuleId .  " - "  . $dbModuleName . "</p>"; 
    } 
    echo json_encode($outputArray);
然后在你的页面上

<script type="text/javascript">

function getModules() { 
    var course = jQuery("#coursesDrop").val(); 
    jQuery('#modulesDrop').empty(); 
    jQuery('#modulesDrop').html('<option value="">Please Select</option>'); 
    jQuery.ajax({ 
        type: "post", 
        url:  "module.php", 
        data: { course:course }, 
        success: function(response){
            var outputjQuery.parseJSON(response)
            jQuery('#modulesDrop').append(output.moduleHTML); 
            jQuery('#outputModule').html(output.outputModule); 
       });
    }); 


}


</script> 

...

<?

$moduleHTML = "";  
$moduleHTML .= '<select name="modules" id="modulesDrop">'.PHP_EOL; 
$moduleHTML .= '<option value="">Please Select</option>'.PHP_EOL;  
$moduleHTML .= '</select>';
$moduleHTML .= '<div id="outPutModule"></div>;

echo $moduleHTML;

我能想到的唯一方法是将值存储在$\u会话变量中。但这可能会很混乱,您必须在完成后重置$\u会话值。您可以使用URL中的var值重定向到另一个页面:然后在新页面中使用$\u GET['var']读取var值。Idk如果安全是一个问题,如果是的话,我不推荐这种方法。如果我将module.php页面中的代码与editsession.php页面放在同一个页面中,有没有一种方法可以代替ajax实际导航到一个单独的页面来检索Modules下拉菜单的下拉值,我可以让ajax访问同一页面中的下拉菜单吗?您好,jquery的调用取决于用户从editsession.php页面的课程下拉菜单中选择的内容。当用户从课程下拉菜单中选择一个选项时,它将使用ajax访问module.php页面,并显示模块下拉菜单中的值,这些值根据所选课程的不同而变化。那我该怎么办?
<script type="text/javascript">

function getModules() { 
    var course = jQuery("#coursesDrop").val(); 
    jQuery('#modulesDrop').empty(); 
    jQuery('#modulesDrop').html('<option value="">Please Select</option>'); 
    jQuery.ajax({ 
        type: "post", 
        url:  "module.php", 
        data: { course:course }, 
        success: function(response){
            var outputjQuery.parseJSON(response)
            jQuery('#modulesDrop').append(output.moduleHTML); 
            jQuery('#outputModule').html(output.outputModule); 
       });
    }); 


}


</script> 

...

<?

$moduleHTML = "";  
$moduleHTML .= '<select name="modules" id="modulesDrop">'.PHP_EOL; 
$moduleHTML .= '<option value="">Please Select</option>'.PHP_EOL;  
$moduleHTML .= '</select>';
$moduleHTML .= '<div id="outPutModule"></div>;

echo $moduleHTML;