将数据发布到不带表单的URL


Post data to URL without form

我正试图将数据发布到我的url,但表单无法识别发布的任何内容。

http://localhost/webpanel/createkeys.php?pcname=joe&username=guessme

那么$post值肯定应该存储在下面的代码中吗?

$_POST['pcname'];
$_POST['username'];

但当我加载我发布的网址时,我会得到这个错误:

致命错误:未捕获异常"PDOException",消息为'SQLSTATE[23000]:完整性约束冲突:1048列'pcname'中不能为null

其余的代码发布在下面,这是一个简短的php文件,但无法解决问题。

<?php

// if(!isset($_POST) || empty($_POST['pcname'])) {
//  exit;
// }
$pcname = $_POST['pcname'];
$username = $_POST['username'];
include 'db.php';
$stmt = $connection->prepare('INSERT INTO dummy (pcname, username, privatekey) VALUES (?, ?, ?)');
$stmt->execute([
    $pcname,
    $username,
    $privatekey
]);

您必须使用$_GET而不是$_POST:

$_GET['pcname'];
$_GET['username'];

$_GET,您可以大胆地使用$_REQUEST,它同时包含这两种情况,但这通常是不好的做法。

您可以通过在php中执行Curl请求来模拟$_POST。

http://php.net/manual/en/book.curl.php