控制台.log在 PHP 后端


console.log in php backend

  I did also creating a different class. but still not working...
but if I place the  '<script>console.log("message here");</script>' will work..

索引.html
假设这是一个完整的代码。

    <form action="post.php" method="post">
    <input type="text" name="name" id="name"/>
    <input type="submit" value="submit"/>
    </form>
//post.php
    <?PHP 
if(isset($_POST['name'])){
        echo "<script>console.log('".$_POST['name']."');</script>";
    }
?>

我的问题是,我无法使用控制台.log提交表单。 但是如果我在重定向中这样做它会起作用..

我类下的函数是...

public function console($data) { 
  if(is_array($data) || is_object($data)) { 
     echo("<script>console.log('".json_encode($data)."');</script>"); 
  } else {
     echo("<script>console.log('".$data."');</script>"); 
  } 
} 

它在PHP中不起作用,因为缺少console.log的字符串参数。

输出应该是

<script>console.log(name);</script>

而不是

<script>console.log("name");</script>

溶液

echo '<script>console.log("'.$_POST['name'].'");</script>';

如果您尝试调试或查看从前端到后端发布的值,则只需使用 chrome 检查器即可。

  1. 右键单击浏览器中的任意位置,然后单击 inspect element
  2. 单击network选项卡。
  3. 提交具有所需值的表单。
  4. 在左侧单击post.php .
  5. 单击右侧的headers并向下滚动以查找Form Data
  6. 您将在此处列出所有帖子变量以及相应的值。

您似乎正在尝试调试$_POST变量,如果是这种情况,那么请注意,console.log()javascript中使用的前端调试工具,与php无关。

php中检查变量内容的好方法很少。

1. print_r

这将输出一个变量的内容,该变量可以是arrayobjectstring,以人类可读的格式。

echo '<pre>';
print_r($_POST);
echo '</pre>';
die();

2. var_dump

这将输出变量的内容以及额外的相应详细信息,例如 datatypeslength

var_dump($_POST);
die();