我编写了一个WordPress页面,用户可以在上面提交自己的名字。按submit后,它将向外部API发送一个API请求,外部API将返回有关其名称的信息。这是一个简单的概述:
<form action="" method="post">
Name: <br><input name="example" type="text" /><br>
<input name="submit" type="submit" />
</form>
<?php
if (isset($_POST[\'submit\'])) {
$example = $_REQUEST[\'example\'];
$result = $customcontact->lookupByName($example); /** API PHP Library */
print_r($result);
}
?>
在下一步中,我想保存这些请求,并简要概述每个用户的请求历史。这样他们就可以查看和检查以前的请求,而无需拨打新的电话。
有没有人能给我指出正确的方向,或者知道类似的教程/指南?
非常感谢!
做记号
最合适的回答,由SO网友:Tom 整理而成
做记号
我不得不为多个工作做类似的事情。这是一个更大的主题,但我会尝试将其分步骤分解,希望能让您朝着正确的方向前进。
我已将代码分解为多个步骤,并在此处概述了这些步骤:
if (isset($_POST[\'submit\'])) {
$example = $_REQUEST[\'example\'];
$result = $customcontact->lookupByName( $example );
/** API PHP Library */
$save_data = array(); //step 1
$key = time(); //step 2
$save_data[ $key ][\'epoch\'] = $key; //step 3
$save_data[ $key ][\'timestamp\'] = date( \'Y-m-d H:i:s\' ); //step 4
$save_data[ $key ][\'data\'] = $result; //step 5
$existing_log = maybe_unserialize( get_option( \'my_site_option_saved_data\' ) ); //step 6
$existing_log[] = $save_data; //step 7
update_option( \'my_site_option_saved_data\', maybe_serialize( $existing_log ) ); //step 8
}
获得数据后,创建一个新数组获取唯一的值(在本例中为历元时间)。这将成为“日志”中该条目的数组键将历元时间添加到数组中,作为API调用时间的记录(有关历元时间的更多信息,请参阅:
https://en.wikipedia.org/wiki/Unix_time)向数组中添加人类可读的日期和时间。我使用的格式对SQL查询很友好,以防您需要对数据进行排序或查询将API结果添加到数组中现在我们拥有了数组中的所有数据。我们进入数据库,获取现有的日志数据,并尝试将其取消序列化(从数据库条目转换为数组)一旦我们有了一个现有数据数组,我们就可以向其中添加一个新数组,这就是我们的新数据最后,我们重新序列化数据并将其保存到数据库中注意事项:
这不是很高效。有一个更好的方法,但如果您需要这个来进行测试,它会起作用取出数据时,请参阅步骤6。我正在使用get_option
并通过maybe_unserialize
.这应该让你开始了。如果你有任何问题,请告诉我。
汤姆
EDIT
以下是我在回答中使用的WordPress函数的链接:
这里有一些附加链接,指向更一般的日志讨论和可在服务器端使用的软件。