标签: status-message

php geonames timezone中的回显状态消息

我正在使用以下代码php来获取时区:

$url = 'http://api.geonames.org/timezone?lat=' . $latitude . '&lng=' . $longitude . '&username=demo';
        $xml = simplexml_load_file($url);

        foreach($xml->children() as $timezone)
        {


            echo "TimezoneId: ".$timezone->timezoneId." ";
            echo "DstOffset : ".$timezone->dstOffset." ";
            echo "GmtOffset : ".$timezone->gmtOffset." ";

}
Run Code Online (Sandbox Code Playgroud)

它工作但是对于Antartica的纬度和经度,例如它给出错误状态消息:

<status message="no timezone information found for lat/lng" value="15"/>
Run Code Online (Sandbox Code Playgroud)

如何回应这条消息?

我试试这个:

if ($xml->status) {
    echo "error: ".$timezone->status['message']. "";


         }
Run Code Online (Sandbox Code Playgroud)

但是不行

php timezone echo status-message geonames

15
推荐指数
1
解决办法
268
查看次数

跨多个'app'服务器的Catalyst :: Plugin :: StatusMessage

所以我在Catalyst应用程序中使用Catalyst :: Plugin :: StatusMessage.唯一的问题是,现在我有一个负载平衡器,后面有两个应用程序服务器,都运行催化剂.因此,如果在一个应用服务器上设置了状态消息,然后重定向了用户,然后负载均衡器将它们发送到第二个应用服务器,则用户将看不到状态消息,因为状态消息是本地消息应用服务器.无论如何,我可以在应用服务器上共享这些状态消息,这样我就不必担心负载均衡器将它们发送到哪个服务器了?谢谢!

perl catalyst status-message

5
推荐指数
1
解决办法
181
查看次数

如何最好地在页面之间为用户传递消息

所以事件链是:

  1. 用户提交表单.
  2. 在处理提交期间,会生成一条消息,例如"您的记录已保存".
  3. 用户被重定向到新页面,比如搜索结果.
  4. 新页面需要显示消息.

那么,问题是如何从第2步到第3步获取消息?这只是一个简单的例子......还有许多其他更复杂的例子.

我正在使用PHP.

需求:

  • 支持多条消息,需要根据需要在接收机器上进行格式化
  • 消息可以添加到同一页面上(例如在步骤4中)
  • 从任何函数或对象内部添加的消息

我提出了一些选择:

  • 作为数组存储在会话变量中,并在每次显示后清空
  • 传递为get或query参数; 因为你经常处理这个并且必须记得得到它会变得烦人; 因为它可以变长,它可以很容易地超过查询字符串的最大长度
  • 基于每个会话存储在数据库中(可能并不总是为登录用户); 这将需要在每个页面上添加额外的插入,可能是多个,并在每个页面上进行额外选择

目前我一直在会话中将消息存储在一个数组中,但我想知道是否有更好的方法.我不认为上面的其他两个选项非常好.

编辑:我使用会话方法的2个函数:AddStatusMsg()(向数组添加元素)和DisplayStatusMsg()(返回HTML格式的消息并清空数组).

php session messages status-message

4
推荐指数
1
解决办法
2219
查看次数

标签 统计

status-message ×3

php ×2

catalyst ×1

echo ×1

geonames ×1

messages ×1

perl ×1

session ×1

timezone ×1