【问题标题】:Store who submitted a form? [closed]商店谁提交了表单? [关闭]
【发布时间】:2014-02-11 01:55:27
【问题描述】:

我们刚刚在我们的 Intranet 上实施了一个表单,它允许 IT 中的任何人(近 100 人)使用特定的 Twitter 帐户向我们的用户发送推文。有没有办法在服务器或其他地方存储在特定时间加载页面的人,或者更好的是,谁填写并提交了表单?

<div style="float: right; width: 450px; padding:20px;">
Use the box below to send out a tweet unrelated to the system status updates further down.<br />
<form name="MaffTwitterText" target="invisibleForm2" id="MaffTwitterText" action="./TweetText.php" method="post">
<textarea name="tweetMafftext" id="textarea" style="width:100%; height: 80px;" maxlength="140" placeholder="Enter your tweet here"></textarea>
<button type="submit" >
Click once only to send tweet
</button><br><iframe name="invisibleForm2" id="invisibleForm2" width="100px" height="25px" frameborder="0" scrolling="no"></iframe>
</form>
</div>

编辑:重新审视这一点,我试图实现的是在包含用户名的表单中获取一个隐藏变量(在 IIS 中禁用匿名),回想起来这是非常糟糕的措辞,因为我不知道是什么我在做。

【问题讨论】:

  • 当然。让他们输入一些标识符(名称)并将其与当前时间戳(可能还有推文)一起存储在数据库中。
  • Is there a way - 是的,有...
  • 您可以将它们存储在数据库中,将推文导出到文件,通过电子邮件将其发送到电子邮件地址。有很多选择。至于确定谁加载了表单并填写了表单,您需要一个登录系统,您可以在其中通过登录者识别用户,或者为用户提供一种方式来指定填写表单的人。至于如果您想像数据库根一样进行某些操作,则有关如何执行此操作的解决方案需要做很多工作。您需要一个数据库表来存储数据,然后需要适当的 php 控制器将数据保存到数据库中。
  • 在 TweetText.php 上通过 $_POST 接收推文并通过 $_SERVER['REMOTE_ADDR'] 获取 IP,现在将推文、IP 和时间戳存储在您的数据库中。

标签: javascript php html forms session


【解决方案1】:

如果你指的是获取用户的IP地址,只需使用https://stackoverflow.com/questions/1437771/how-can-i-get-the-clients-ip-address-in-a-php-webservice的函数即可:

public static function get_remote_ip() {
    if(isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR'])) {
        return $_SERVER['REMOTE_ADDR'];
    } 

    if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        return $_SERVER['HTTP_X_FORWARDED_FOR'];
    }

    return null;
}

然后将其作为隐藏变量发送并将其存储在某个位置,例如 mysqli 数据库或包含推文的文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-03
    • 2014-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多