我正在尝试创建一个仅使用 PHP 的网页(不需要任何 HTML 元素),但是当我运行该页面时,出现以下错误: 在此处输入图像描述

,javascript,php"/>

首页 > 解决方案 > 为什么我的php页面显示错误

我正在尝试创建一个仅使用 PHP 的网页(不需要任何 HTML 元素),但是当我运行该页面时,出现以下错误: 在此处输入图像描述

问题描述

我正在尝试创建一个仅使用 PHP 的网页(不需要任何 HTML 元素),但是当我运行该页面时,出现以下错误: 在此处输入图像描述

这是我的页面的代码:

<script>
<?php
    if(isset($_COOKIE['string']) and isset($_COOKIE['studentarrays'])){
        $string = $_COOKIE['string'];
        $array = explode(",",$string);
        array_shift($array);
        $studentstring = $_COOKIE['studentarrays'];
        $studentarrays = explode(",",$studentstring);

?>
    var array = <?php echo $studentarrays ?>;
    alert(array);
<?php
    }
?>
</script>

在此处输入图像描述

我做错了什么?

编辑:正如有人指出我有一个 SESSION 变量而没有启动会话,所以这部分错误现在已经得到修复。另外,当我将代码复制到该网站时,我忘记包含会话代码,很抱歉造成混淆。感谢您的所有回复,看来我在这个页面上犯了一些错误,所以我决定返回并尽可能简化这个页面,删除任何我不需要的东西。这是我的新代码:

<script>
<?php
    include"databaseconnection.php";
    session_start();

    if(isset($_COOKIE['studentarrays'])){
        $studentstring = $_COOKIE['studentarrays'];
        $studentarrays = explode(",",$studentstring);
        $teacherid = $_SESSION['username'];
    }
?>
</script>

这似乎现在没有错误,但我不知道它到底是什么导致了错误。如果我找出原始代码导致错误的部分,我将更新这篇文章,在此之前请忽略这个问题


请试试 -

jlabel.setText("Your Text");
jLabel.setVisisble(true);

标签: javascriptphp

解决方案


如果您想使用 JavaScript 对象表示法(JSON)将数组(php)传递给 JS。

使用json_encode()函数:该函数既可以接受一维数组,也可以接受多维数组。

const array = JSON.Parse("<?php echo json_encode($studentarrays) ?>");
    alert(array);

或者

const array = "<?php echo json_encode($studentarrays) ?>";
    console.log(array);

您也可以使用 PHPimplode()函数: implode()函数用于构建一个字符串,该字符串在 JavaScript 中成为数组文字。

<?php
  
// Creating a PHP Array
$studentarrays = array('John', 'Foo', 'Bar');
  
?>
const array = "<?php echo '["' . implode('", "', $studentarrays) . '"]' ?>";
    console.log(array);

推荐阅读