【发布时间】:2015-06-14 20:54:07
【问题描述】:
我编写了一个关于电影的简单 PHP 调查应用程序,并且我正在使用其中一个众包服务来收集数据。为了验证和评价工人,我必须在最后一页生成 VCODE (https://microworkers.com/vcode.php),以便工人可以提交它作为完成我的任务的证明。
我必须将此 URL 提供给用户:http://www.yourwebsite.com/start.php?campaign={{CAMP_ID}}&worker={{MW_ID}}
用户会看到这样的 URL:(数字由众包站点插入,worker_Id 对于每个工人都是唯一的) http://www.yourwebsite.com/start.php?campaign=AB1234&worker=CD456
现在我的问题是:我需要获取参数(广告系列和工作人员 ID)并将它们保留到调查结束。只有这样,我的网站才能生成正确的 VCode,该 VCode 将被
众包系统。
但我不知道为什么我只得到NULL 值。
这就是我在第一个 index.php 页面上收集值的方式:
$Campaign_id = $_GET["campaign"];
$Worker_id = $_GET["worker"];
然后在这个页面之后是另一个 php 页面,我在其中插入登录值(例如电子邮件或密码),我写道:
$sql = "INSERT INTO MEMBER (worker_Id, password, email, confirmcode) VALUES (:worker_Id, :password, :email, :confirmcode)";
$stmt = $conn->prepare($sql);
$stmt->execute(array(':password' => $password, ':email' => $emailTrimmed, ':confirmcode' => $activation, 'worker_Id' => $Worker_id));
$stmt->closeCursor();
但是当我检查数据库时,它为 worker_Id 插入了 NULL。
我知道我的代码有一些问题,因为在我的第一页中我使用了一些表单,并且它们都使用“post”方法。其中一种形式用于登录,当用户单击“登录”时,操作是“sendEmail.php”页面,我在其中插入用户信息(例如数据库中的电子邮件、密码和 worker_Id)。我不知道问题是因为我的方法是 post 并且我使用了 _GET?如果是,我该怎么办,因为我认为我不应该更改帖子来获取,因为我必须获得推荐“帖子”的密码。或者,如果问题是因为我必须在索引页中写 "$Worker_id = $_GET["worker"];?
我真的很困惑,希望有人能帮助我。
【问题讨论】:
-
真的是
worker_Id而不是worker_id吗?您的 var 名称的某种标准会有所帮助 -
@Dagon:在我的表中,我将其命名为worker_Id,但我将其存储在Worker_id 变量中