Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重定向后在页面中保留php值_Php - Fatal编程技术网

重定向后在页面中保留php值

重定向后在页面中保留php值,php,Php,我在一个小网站上把值转换成md5。但我想保存数据库中输入的所有单词,以创建一种我以后可以使用的词典。当用户单击convert按钮时,页面将重定向以在表中插入数据,当它重定向回索引页面时,md5值消失,用户必须单击back按钮才能看到它。如何在页面重定向后使值返回到文本框中?您有几种方法来实现这一点 将原始字符串和md5哈希保留在会话变量中。即使在重定向之后,它也将持续存在 不要使用process.php,而是使用index.php作为表单的目标。您可以检查$\u POST supergloba

我在一个小网站上把值转换成md5。但我想保存数据库中输入的所有单词,以创建一种我以后可以使用的词典。当用户单击convert按钮时,页面将重定向以在表中插入数据,当它重定向回索引页面时,md5值消失,用户必须单击back按钮才能看到它。如何在页面重定向后使值返回到文本框中?

您有几种方法来实现这一点

  • 将原始字符串和md5哈希保留在会话变量中。即使在重定向之后,它也将持续存在

  • 不要使用process.php,而是使用index.php作为表单的目标。您可以检查$\u POST superglobal以查看是否是第一次加载页面,或是否显示以前发送的值

  • 将传递给process.php的值放入重定向url的查询字符串中,因此

    标题(“Location:index.php”)

是吗

header("Location: index.php?string=$mystring&md5=$mymd5");
不过要小心,您需要清理$mystring,否则您的表单将很容易成为XSS诱饵。谢谢@machineaddict

  • 因为您在前面生成md5哈希,所以使用js和ajax将值发送到process.php,而不必离开索引。如果您熟悉像jQuery这样的简单js库,那么这是最优雅的

PD:c'mon S.O.,列出中断代码突出显示?

这只是为了了解一种方法:

process.php
文件中:

<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['mott'])) {
    $value = $_POST['mott'];
    $md5 = md5($value);

    // code to insert the value and the md5 in database. remember to escape the string

    //redirect the user
    header('Location: showmd5.php?md5=' . $md5);
    exit;
}
<?php

$md5 = isset($_GET['md5']) ? $_GET['md5'] : '';

// check this md5 in database and show the value

您想保留人们作为潜在密码输入的值。。。?嗯,我想创建一种字典,我可以用它来为以后制作一个md5解密程序,这不是犯罪。我们都知道MD5和密码散列一样不安全,帮助人们证明不安全对每个人都有好处。好吧,你已经知道了MD5的价值和作用。您只需在url中使用md5重定向用户。+1这是我们希望看到其他s.O.成员的态度。请注意,在url中使用
$mystring
而不转义可能导致XSS。