gpt4 book ai didi

php - 在 URL 中传递 PHP 变量

转载 作者:太空宇宙 更新时间:2023-11-04 13:37:08 25 4
gpt4 key购买 nike

我目前有一个登录表单,我想通过 URL 传递用户名。它存储在 session 变量中。

我在登录后的页面上有这个,但它似乎不起作用。

$myusername = $_POST['myusername'];

我正在寻找这样的东西:

page.php?myusername=example

登录页面是一个 php 页面,它连接到另一个 php,后者从 mySQL 数据库检查登录详细信息。

主要部分是这个(在 checklogin php 页面上)

// username and password sent from form 
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

在下一页,成功登录后我有这个:

   <? 
session_start();
header( 'Location: menu.php?myusername=$myusername' ) ;
if(!session_is_registered(myusername)){
header("location:index.php");
}
?>

最佳答案

编辑,看看你的编辑,我会说关于重定向的第一部分看起来像你需要的

但是我看到你说

It is stored in a session variable.

您是否正在格式化来自 php session 的 URL 字符串,然后尝试在某处传输获取参数?如果是这样,您是否尝试使用 session API获取用户名,然后执行 php redirect

 session_start();

$username = $_SESSION['myusername'];

// redirect
header("http://your/sites/dir/page.php?myusername=$username");

但看起来您依赖于已弃用的 session_register和 register_globals,基于此评论:

I am wanting to pass this throughout the application, I do have it saved as a session I think as this: session_register("myusername");

这可能没有使用,因为 register_globals 已被关闭。你应该把它关掉。您想避免使用 session_register 而是使用 $_SESSION 数组。

这是从 URL GET 查询中提取“myusername”的方法

要从您要使用 $_GET 的 URL 中提取用户名,即

 $myusername = $_GET['myusername'];

您正在查看的 URL 部分称为“查询字符串”。参数格式化

?var=value&var2=value2...
are known as "GET" parameters. $_POST parameters are not transmitted in the URL itself. You can read more about HTTP GET vs POST, here.

To save the username in the session do

 session_start();
// be sure to VALIDATE your inputs
$_SESSION['myusername'] = $_GET['myusername']; // replace with post if appropriate

关于php - 在 URL 中传递 PHP 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5719589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com