首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP pass变量

PHP pass变量
EN

Stack Overflow用户
提问于 2016-08-26 04:01:58
回答 2查看 71关注 0票数 0

我正在尝试将username值获取到另一个页面,但失败了。我的PHP代码:

代码语言:javascript
复制
 include("config.php");
 include('userClass.php');
 $userClass = new userClass();

 if (!empty($_POST['loginSubmit'])) 
 {
    $usernameEmail=$_POST['usernameEmail'];
    $password=$_POST['password'];


    if(strlen(trim($usernameEmail))>1 && strlen(trim($password))>1 )
    {
        $uid=$userClass->userLogin($usernameEmail,$password);
        if($uid)
        {
            $url=BASE_URL.'test.php';
            header("Location: $url"); // Page redirecting to home.php 
        }
    else
    {
        $errorMsgLogin="Please check login details.";
        }
    }
}

 <div id="login">
 <h3>Login</h3>
 <form method="post" action="" name="login">
    <label>Username or Email</label>
    <input type="text" name="usernameEmail" autocomplete="off" />
    <label>Password</label>
    <input type="password" name="password" autocomplete="off"/>
    <div class="errorMsg"><?php echo $errorMsgLogin; ?></div>
    <input type="submit" class="button" name="loginSubmit" value="Login">
   </form>
</div>

我想在新的php文件welcome.php中获得usernameEmail,在那里我正在尝试$username = $_POST['usernameEmail'];,但它不起作用。任何指导都会很有帮助。

这是我的userclass.php

代码语言:javascript
复制
   class userClass
{
/* User Login */
public function userLogin($usernameEmail,$password)
{
    try{
    $db = getDB();
    $hash_password= hash('sha256', $password); //Password encryption 
    $stmt = $db->prepare("SELECT uid FROM doctorusers WHERE (username=:usernameEmail or email=:usernameEmail) AND password=:hash_password"); 
    $stmt->bindParam("usernameEmail", $usernameEmail,PDO::PARAM_STR) ;
    $stmt->bindParam("hash_password", $hash_password,PDO::PARAM_STR) ;
    $stmt->execute();
    $count=$stmt->rowCount();
    $data=$stmt->fetch(PDO::FETCH_OBJ);
    $db = null;
    if($count)
    {
        $_SESSION['uid']=$data->uid; // Storing user session value
        return true;
    }   
    else
    {   
        return false;
        } 
    }
    catch(PDOException $e) {
        echo '{"error":{"text":'. $e->getMessage() .'}}';
    }

}
EN

回答 2

Stack Overflow用户

发布于 2016-08-26 04:24:14

您可以通过插入以下内容来使用php $_SESSION

代码语言:javascript
复制
$_SESSION["mail"] = $usernameEmail;

在表单成功后,将会话开始放在页面顶部

代码语言:javascript
复制
session_start();

这将保存您的用户名电子邮件以供输出使用

代码语言:javascript
复制
echo $_SESSION["mail"];

确保您插入

session_start();

在每个页面的顶部将使用$_SESSION["mail"];

您可以使用本教程作为示例

代码语言:javascript
复制
<?php
session_start();
    if (!empty($_POST['loginSubmit'])){
        $usernameEmail= $_POST['usernameEmail'];
        if(!empty($usernameEmail)){
            $_SESSION["mail"] = $usernameEmail;
        }
    }
?>
<?php 
if(!empty($_SESSION["mail"])){ 
echo $_SESSION["mail"];
}
?>
 <div id="login">
 <h3>Login</h3>
 <form method="post" action="" name="login">
    <label>Username or Email</label>
    <input type="text" name="usernameEmail" autocomplete="off" />
    <label>Password</label>
    <input type="password" name="password" autocomplete="off"/>
    <div class="errorMsg"></div>
    <input type="submit" class="button" name="loginSubmit" value="Login">
   </form>
</div>
票数 0
EN

Stack Overflow用户

发布于 2016-08-26 04:52:55

首先,将session_start();添加到您的php标签的顶部。

将表单操作设置为action="welcome.php"

然后,当您想要发送变量时,执行此$_SESSION['username'] = $usernameEmail操作。

最后,在welcome.php中添加这一行session_start();,并使用$usernameEmail = $_SESSION['username'];调用您的变量,现在您可以使用$usernameEmail对用户名执行任意操作

干杯

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39153826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档