【问题标题】:Post data to URL without form将数据发布到没有表单的 URL
【发布时间】:2016-05-03 21:39:36
【问题描述】:

我正在尝试将数据发布到我的网址,但表单无法识别正在发布的任何内容。

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

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

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

但是当我加载我发布的那个网址时,我收到了这个错误:

致命错误:带有消息的未捕获异常“PDOException” 'SQLSTATE [23000]:违反完整性约束:1048 列 'pcname' 在

中不能为空

其余代码贴在下面,这是一个简短的 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
]);

【问题讨论】:

  • 我们可以看看你的表格吗?可能你没有使用 POST 方法
  • 我看到你的 URL 中有参数,你确定不需要使用 $_GET 代替 $_POST 吗?

标签: php mysql post


【解决方案1】:

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

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

【讨论】:

  • 啊,真的吗?我想是因为我在 url 中发布数据......我不得不使用 POST 愚蠢的我:/谢谢你,。没有意识到不使用表单时使用了GET
  • 或者$_REQUEST 将包含两者的组合(具有顺序偏好),但无论出于何种原因,它通常被视为不好的做法。 (编辑:哦,是的the cookie factor
  • @JoseManuelAbarcaRodríguez 当然,但我必须等待 7 分钟,我不知道这一点感到很愚蠢。非常感谢!
【解决方案2】:

$_GET,你大胆地使用了 $_REQUEST,它同时拥有这两者,但这通常是不好的做法。

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

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

【讨论】:

  • 谢谢 :) 我应该研究一下谢谢!
猜你喜欢
  • 1970-01-01
  • 2013-05-29
  • 2011-04-17
  • 2015-10-10
  • 2016-10-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-16
  • 1970-01-01
相关资源
最近更新 更多