是php的新手,因此非常感谢您的帮助。我有一个页面可以为用户创建帐户,而在创建帐户时,有一个选择字段,该字段具有三个特定值,可从“ notfcode”,“ tfail”,**“ tfcode”中进行选择。
还有另一个页面check.php,它允许用户检查他的ttype。我想做的是使页面尝试读取ttype的sql表行,如果用户帐户上显示的值是“ notfcode”,它将重定向到notfcode.php页面,如果它的“ tfail”将重定向到tfail。 php,如果其为“ tfcode”,则停留在页面上。下面是我一直在努力而没有取得成功的代码。
<?php session_start();
include_once ('session.php');
require_once 'class.user.php';
if(!isset($_SESSION['acc_no'])){
header("Location: login.php");
exit();
}
$reg_user = new USER();
$stmt = $reg_user->runQuery("SELECT * FROM account WHERE acc_no=:acc_no");
$stmt->execute(array(":acc_no"=>$_SESSION['acc_no']));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$email = $row['email'];
$temp = $reg_user->runQuery("SELECT * FROM transfer WHERE email = '$email' ORDER BY id DESC LIMIT 1");
$temp->execute(array(":acc_no"=>$_SESSION['acc_no']));
$rows = $temp->fetch(PDO::FETCH_ASSOC);
$transfertype = $row['ttype'];
if(isset($_SESSION['acc_no'])){
$transfertype = $row['ttype'];
if($transfertype == nocodetf){
header("Location: nocodetf.php");
}
elseif($transfertype == tfail){
header("Location: nocodetf.php");
}
else {
header("Location: check.php");
}
}
include_once ('counter.php');
?>
页面加载后,它不执行任何操作,也没有重定向,这是我想要的。朝着正确方向的指针将不胜感激。
答案 0 :(得分:1)
这是字符串。
if($transfertype == "nocodetf"){
要么
if($transfertype == 'nocodetf'){
激活PHP错误报告比显示PHP更有效。
error_reporting(E_ALL);
ini_set('display_errors', 1);
$transfertype = "foo";
if ($transfertype == nocodetf) { # <-- as you did it
//...
}
// <b>Warning</b>: Use of undefined constant nocodetf - assumed 'nocodetf' (this will throw an Error in a future version of PHP) in ...
答案 1 :(得分:0)
我终于可以使用此代码解决它
<?php
$transfertype = $row['ttype'];
if($transfertype == 'nocodetf'){
header('Location: nocodetf.php'); }
else if($transfertype == 'failtf'){
header('Location: failtf.php');
exit();
}
?>
问题似乎是因为我没有引用php应该尝试从sql列中获取的值。