0

我想知道让我的 td 标记样式以会话变量的形式从另一个 php 页面获取值可见,因为我的代码在下面定义,

在 php 页面的其他条件下,我正在设置会话变量并重定向到另一个页面,

else {
session_start();
$_SESSION['Validation'] = 'on';
header("Location: index.html");
}

之后在 table 标记之间的 index.html 页面上,我使用这个脚本,

<?php
session_start();
$foo = $_GET['Validation'];
echo $foo;
?>
<tr><td colspan=2><font face="verdana,arial" size="-1" color="red"       style="visibility:hidden">Wrong username or Password</font></td></tr>

如果会话变量没有得到任何值,如何使 td 标签样式可见,并且它保持隐藏状态????

希望听到你的...

提前致谢

4

2 回答 2

1

使用一个简单的if... then... else条件并使用您的 $_SESSION 变量来切换这些条件。创建一个新变量来保存您当前的样式,例如$tdStyle = "visibility: hidden;"$tdStyle = "visibility: visible;"分别隐藏/显示您的 td。

HTML/PHP 代码:[编辑]

<?php
  ...
  if ($_SESSION['Validation'] == "on") {
     $tdStyle = "visibility: visible;";
  } else  {
     $tdStyle = "visibility: hidden;";
  }
  ...
?>
...
<tr><td style="<?php echo $tdStyle; ?>">Wrong username or Password</td></tr>
...

编辑:在 HTML 中嵌入 PHP 代码时index.php不要使用index.html,否则您的 php 代码将被视为纯文本/html

header("Location: index.php");

NOT

header("Location: index.html");
于 2012-07-04T05:42:25.443 回答
0
<?php
session_start();
$foo = $_GET['Validation'];
echo $foo;
?>
<tr>
<td colspan=2>
<font face="verdana,arial" size="-1" color="red" <?php
if (isset($_SESSION['style_visible'])) {
  echo 'style="visibility:visible"';
} else {
  echo 'style="visibility:hidden"';
}
?>
>Wrong username or Password</font></td></tr>

但我认为这是错误的

第一次验证

<?php

// make validation
$errors = array();
// if error fill $errors

// store errors in sessions
if (count($errors) > 0) $_SESSION['errors'] = $errors;

第二种形式

<?php
session_start();

// show errors
if (isset($_SESSION['errors'])) {
    foreach ($_SESSION['errors'] as $error) {
      echo '<tr><td>'.$error.'</td></tr>';
    }
}

?>
于 2012-07-04T05:44:40.070 回答