小编Kea*_*ire的帖子

页面刷新后会话消失

这是我第一次在PHP上使用会话.从StackOverflow和其他网站获取一些信息我要建立我的第一个PHP登录但我遇到了问题,不知道如何解决它.

基本上,在我设置会话的那一刻,页面刷新后,此会话消失.不应该留一段时间吗?(可以用set_cookie_params等设置,但这是另一个话题)

我在页面的开头(全局)这段代码:

ini_set('session.cookie_httponly', 1);
ini_set('session.entropy_file', '/dev/urandom');
ini_set('session.hash_function', 'whirlpool');
ini_set('session.use_only_cookies', 1);
ini_set('session.cookie_secure', 1);

session_name("RANDOMID");
session_start();

if (isset($_SESSION['uid']))
{
    if ($_SESSION['ipremote'] !== getUserIP() && $_SESSION['useragent'] !== getUserAgent())
    {
        session_unset();
        session_destroy();

        session_regenerate_id(true);
    }
}
else
{
    session_regenerate_id(true);

    $_SESSION['ipremote'] = getUserIP();
    $_SESSION['useragent'] = getUserAgent();
}
Run Code Online (Sandbox Code Playgroud)

然后在我的login.php文件中,当用户插入正确的信息时:

$_SESSION['uid'] = 3;

header("Location: index.php");
exit;
Run Code Online (Sandbox Code Playgroud)

那之后的重定向UID会消失的问题:我把在结束的index.php页面var_dump中的$_SESSION变量,而我看到的只是每次被设置在该IP和用户代理else条件.

编辑:我试图替换会话初始化的所有内容只是session_start();它的工作原理,我不明白为什么这个安全的会话初始化它不起作用,使会话消失.

php session

8
推荐指数
1
解决办法
970
查看次数

使用Javascript将页脚保持在底部

目前我正试图用Javascript将页脚保持在底部.这是结果:

document.getElementsByTagName('body').onload = function() {KeepFoot()};
var element = document.getElementById('container');
var height = element.offsetHeight;

function KeepFoot() {
    if (height < screen.height) {
        document.getElementById("footer").style.position = "fixed";
        document.getElementById("footer").style.bottom = "0";
        document.getElementById("footer").style.left = "0";
        document.getElementById("footer").style.right = "0";
    }
}
Run Code Online (Sandbox Code Playgroud)

我的想法是取div容器的高度,并将其与电脑分辨率的高度进行比较.如果div容器的高度小于PC分辨率的高度,则设置为div页脚position: fixed;

但是脚本中存在问题,因为它不起作用.

另一个问题,我创建的脚本可以将页脚保持在底部吗?

HTML:

<html>
    <head>
        ...
    </head>
    <body>
        <div id="container">
            <div id="header"></div>
            <div id="content"></div>
            <div id="footer"></div>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript sticky-footer

7
推荐指数
1
解决办法
1万
查看次数

$_SERVER['HTTP_COOKIE'] 和 $_COOKIE 之间的区别

$_SERVER['HTTP_COOKIE']$_COOKIE有什么区别

为什么$_SERVER['HTTP_COOKIE']PHP 手册中没有记录

我正在创建一个用于管理 cookie 的类,并且我想创建一个函数来销毁所有设置的 cookie。我必须从 $_SERVER['HTTP_COOKIE'] 变量中销毁,例如:

public function destroy_all() {
    $cookies = explode(';', $_SERVER['HTTP_COOKIE']);
    foreach($cookies as $cookie) {
        $parts = explode('=', $cookie);
        $name = trim($parts[0]);
        setcookie($name, null, 1, $this->cookie_path);
    }
}
Run Code Online (Sandbox Code Playgroud)

或者使用 $_COOKIE 数组,例如:

public function destroy_all() {
    foreach($_COOKIE as $name => $cookie) {
        setcookie($name, null, 1, $this->cookie_path);
    }
}
Run Code Online (Sandbox Code Playgroud)

php cookies destroy

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

输入右侧的工具提示

我编写了这个简单的 CSS 技巧,以便在您单击输入 (:focus) 时显示一个工具提示,将为您提供有关输入的一些信息。一切正常,但是工具提示显示在输入下方而不是上方。实际上我知道我可以使用边距来修复它,但我问是否有一种“更”干净的方法,当您以这种方式使用绝对位置时,它会自动将工具提示与输入对齐。

HTML:

<div>
    <input type="text" placeholder="Username">
    <span class="input_info">Info1</span>
</div>
<div>
    <input type="text" placeholder="Password">
    <span class="input_info">Info2</span>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.input_info {
    display: none;
    position: absolute;
    background: #000;
    border: 1px solid #fff;
    color: #fff;
    width: 100px;
    margin-left: 80px;
}

input[type="text"]:focus + .input_info {
    display: block;
}
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/xzqsaobu/

html css

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

根据两个变量返回一个值

我想根据两个变量的内容返回一个值.让我解释一下,我有三个变量:

$var1 = 2; // This variable can change from 1 to 10 (based on the value in the database)
$var2 = 1; // This variable can have two values: 0 and 1 (based on the value in the database)

$result = ''; // This variable have a value based on the content of the two variables
Run Code Online (Sandbox Code Playgroud)

我从数据库的两个不同列($ var1和$ var2)获取两个值,我有$ result,一个变量,其值基于$ var1和$ var2的内容

这可以轻松完成,制定20个条件,如下所示:

if ($var1 == 1 && $var == 0) $result = 'good morning';
if ($var1 == 1 …
Run Code Online (Sandbox Code Playgroud)

php variables

0
推荐指数
1
解决办法
103
查看次数

使用标准键重建阵列

我做了一个脚本,基本上我爆炸了一个字符串,例如:

$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
Run Code Online (Sandbox Code Playgroud)

我创造了一个条件,如果它是真的,我必须取消设置数组的第一个值(键0)

if (condition) {
    unset($pieces[0]);
Run Code Online (Sandbox Code Playgroud)

问题是,当我取消设置第一个值时,它使数组以键1开始,我需要它以键0开始,因为我必须将值与并行数组合并.

所以,问题是:任何人都知道一个函数,以便用标准键(从0到n)重建数组.谢谢.

php arrays

0
推荐指数
1
解决办法
82
查看次数

在C中查找数组中最小数字的算法

我四处寻找,但我没有发现任何关于我的问题.

我想在C中创建一个算法,找到一个可容纳10个值的数组中的最小数字.

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int main(void) {
    int array[10];
    int i, smaller;

    srand(time(NULL));

    for (i = 0; i < 10; i++) {
        array[i] = rand() % 100 + 1;
    }

    // Find smaller number in the array
    for (i = 0; i < 10; i++) {
        ...
    }

    printf("Smaller: %d\n", smaller);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

有关如何做的任何提示?

c algorithm

-7
推荐指数
1
解决办法
1683
查看次数

标签 统计

php ×4

algorithm ×1

arrays ×1

c ×1

cookies ×1

css ×1

destroy ×1

html ×1

javascript ×1

session ×1

sticky-footer ×1

variables ×1