Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.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 无法从本地托管网页将表单发布到本地mysql服务器_Php_Node.js - Fatal编程技术网

Php 无法从本地托管网页将表单发布到本地mysql服务器

Php 无法从本地托管网页将表单发布到本地mysql服务器,php,node.js,Php,Node.js,我试图将表单的内容发布到本地托管的MySQL服务器,在运行以下php脚本时收到405 Method Not Allowed错误 <?php $host = "localhost"; $dbUsername = "root"; $dbPassword = ""; $dbname = "test"; $connect = mysqli_connect($host, $dbUsername, $dbPassword, $dbname); mysqli_query($connect, "IN

我试图将表单的内容发布到本地托管的MySQL服务器,在运行以下php脚本时收到405 Method Not Allowed错误

<?php

$host = "localhost";
$dbUsername = "root";
$dbPassword = "";
$dbname = "test";

$connect = mysqli_connect($host, $dbUsername, $dbPassword, $dbname);

mysqli_query($connect, "INSERT INTO data (nickname, location, crop, rowspacing, plantspacing, orientation)
VALUES ('$_POST[nickname-input]', '$_POST[location-input]', '$_POST[crop-input]', '$_POST[row-input]', '$_POST[plant-input], '$_POST[orientation-input]')");

?>

405错误源于chrome developer tools。

我猜您使用的是
npm http server
,因为您引用了“node.js日志”,它不支持
POST
,因为它是只读服务器。您可以尝试像或这样的替代方案,它们支持
POST
,但node默认情况下不支持PHP,它只支持javascript

如果您已经在为MySQL使用XAMPP,那么您可以在那里托管整个内容,完全取消节点服务器,或者通过使用javascript重写php代码

如果我模仿我认为是您的设置,则在提交表单时会出现相同的错误:

D:\Test>http-server --cors -p 80

Starting up http-server, serving ./

Available on:  
  http://192.168.0.10:80  
  http://127.0.0.1:80  
Hit CTRL-C to stop the server  
[Thu May 24 2018 15:42:35 GMT-0700 (Pacific Daylight Time)] "GET /test.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36"
[Thu May 24 2018 15:42:41 GMT-0700 (Pacific Daylight Time)] "POST /insert.php" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36"
[Thu May 24 2018 15:42:41 GMT-0700 (Pacific Daylight Time)] "POST /insert.php" Error (404): "Not found"

听起来您可能在apache配置文件中删除了POST。我没有更改apache配置文件中的任何值。我查看了php.ini文件,没有发现任何异常。您可以通过
curl
或类似方式手动发送POST请求吗?我正在XAMPP上运行MySQL服务器。我可以使用XAMPP命令行成功地操作数据库。
"POST /insert.php" Error (404): "Not found"
D:\Test>http-server --cors -p 80

Starting up http-server, serving ./

Available on:  
  http://192.168.0.10:80  
  http://127.0.0.1:80  
Hit CTRL-C to stop the server  
[Thu May 24 2018 15:42:35 GMT-0700 (Pacific Daylight Time)] "GET /test.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36"
[Thu May 24 2018 15:42:41 GMT-0700 (Pacific Daylight Time)] "POST /insert.php" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36"
[Thu May 24 2018 15:42:41 GMT-0700 (Pacific Daylight Time)] "POST /insert.php" Error (404): "Not found"