我正在尝试将username值获取到另一个页面,但失败了。我的PHP代码:
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
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() .'}}';
}
}发布于 2016-08-26 04:24:14
您可以通过插入以下内容来使用php $_SESSION
$_SESSION["mail"] = $usernameEmail;在表单成功后,将会话开始放在页面顶部
session_start();这将保存您的用户名电子邮件以供输出使用
echo $_SESSION["mail"];确保您插入
session_start();
在每个页面的顶部将使用$_SESSION["mail"];
您可以使用本教程作为示例
<?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>发布于 2016-08-26 04:52:55
首先,将session_start();添加到您的php标签的顶部。
将表单操作设置为action="welcome.php"。
然后,当您想要发送变量时,执行此$_SESSION['username'] = $usernameEmail操作。
最后,在welcome.php中添加这一行session_start();,并使用$usernameEmail = $_SESSION['username'];调用您的变量,现在您可以使用$usernameEmail对用户名执行任意操作
干杯
https://stackoverflow.com/questions/39153826
复制相似问题