猿问

无法从PHP函数回显或打印

我在从PHP回显或打印到HTML时遇到问题。我确定我缺少有关PHP工作原理的基本知识,但是我无法在Internet或此处找到有关此问题的任何信息。我很困惑,因为我根本没有收到任何错误或任何有关此问题的信息。除了回声,我的其余代码工作正常。


我通常使用echo()进行测试以确保存在某些东西,但是在此应用程序的整个开发过程中,这个问题困扰着我。只是现在困扰我,因为我将需要回显脚本来加载数据(在使用Vue加载后我将隐藏该脚本)。


奇怪的是,这个问题仅发生在我正在使用的区域内,特别是当它具有array_key_exists时。


如果有人可以帮助我,我将不胜感激(或者,如果有人可以为我提供一个将JSON数据从PHP传输到JavaScript的更好的主意,而不必回显它,因为这在我的代码中为用户欺骗了我的单击器提供了一个薄弱环节游戏)。


我试图在代码的其他部分对此进行测试,结果相同。我不能在任何if语句中使用echo()或print()。我可以在其他地方使用它。


通过使用require,我所有的PHP文件最终都存储在index.php中


<?php

    if (array_key_exists("saveData", $_POST)) {

        $saveData = $_POST['saveData'];

        $token = $_COOKIE['validToken'];

        $token = mysqli_real_escape_string($link, $token);

        $query = "UPDATE userData SET saveData = '$saveData' WHERE token = '$token' LIMIT 1";

        mysqli_query($link, $query);

    }

    if (array_key_exists("logSubmit", $_POST)) {

        $email = $_POST["logEmail"];

        $email = filter_var($email, FILTER_SANITIZE_EMAIL); // Clean Email

        $email = filter_var($email, FILTER_VALIDATE_EMAIL); // Confirm Valid Email

        $query = "SELECT saveData FROM userData WHERE email = '$email' LIMIT 1";

        $loadData = mysqli_query($link, $query);

        echo("SALO Ready!");

    }

?>

我希望这会引起“ SALO就绪”的呼应,但是我什么也没得到。


繁花如伊
浏览 170回答 2
2回答

慕容3067478

只需使用将代码保留在函数内并在发布输入时调用函数名前任:function yourFunctionName(){&nbsp; &nbsp; if (array_key_exists("saveData", $_POST)) {&nbsp; &nbsp; &nbsp; &nbsp; $saveData = $_POST['saveData'];&nbsp; &nbsp; &nbsp; &nbsp; $token = $_COOKIE['validToken'];&nbsp; &nbsp; &nbsp; &nbsp; $token = mysqli_real_escape_string($link, $token);&nbsp; &nbsp; &nbsp; &nbsp; $query = "UPDATE userData SET saveData = '$saveData' WHERE token = '$token' LIMIT 1";&nbsp; &nbsp; &nbsp; &nbsp; mysqli_query($link, $query);&nbsp; &nbsp; }&nbsp; &nbsp; if (array_key_exists("logSubmit", $_POST)) {&nbsp; &nbsp; &nbsp; &nbsp; $email = $_POST["logEmail"];&nbsp; &nbsp; &nbsp; &nbsp; $email = filter_var($email, FILTER_SANITIZE_EMAIL); // Clean Email&nbsp; &nbsp; &nbsp; &nbsp; $email = filter_var($email, FILTER_VALIDATE_EMAIL); // Confirm Valid Email&nbsp; &nbsp; &nbsp; &nbsp; $query = "SELECT saveData FROM userData WHERE email = '$email' LIMIT 1";&nbsp; &nbsp; &nbsp; &nbsp; $loadData = mysqli_query($link, $query);&nbsp; &nbsp; &nbsp; &nbsp; echo("SALO Ready!");&nbsp; &nbsp; }}

哔哔one

还有使用时的方式来输出内容到DOM&nbsp;ob_start使用ob_flush();ob_start(),当调用时,将存储所有输出缓冲区,直到指示将其发送到浏览器为止。看:什么是输出缓冲?(建议的解决方案提供了一个可重用的功能,用于清空缓冲区,将内容发送到浏览器)回声调用后如何刷新输出
随时随地看视频慕课网APP
我要回答