MySQL和PHP - 从PHP获取变量并将其打印在另一个PHP页面中

时间:2016-06-09 04:58:50

标签: php mysql

好的,我要做的是创建一个名为“text”的php变量,当程序遇到问题时将其设置为特定的错误消息,并将用户重定向到登录页面并要求他们输入他们的凭据再次显示按钮中打印的错误消息。

这是createpage.php,它是用户输入的页面。此页面还会打印消息。

var currentSort = [];

function init() {
  $("#tbl1")
    .tablesorter({ sortList: currentSort })
    .bind("sortEnd", function(sorter) {
      currentSort = sorter.target.config.sortList;
    });
}

$(function() 
{ 
  init(); 
});

function refreshTbl()
{
  $("#divtbl1").load(window.location.pathname + "?tableonly", function(response, status, xhr) {
    if (status === "error") {
      console.error("ERROR!", xhr.status, xhr.statusText);
    } else {
      init();
    }
  });
}

这是我的<?php include('create.php'); // Includes Login Script ?> <head> <script src="//code.jquery.com/jquery-1.10.2.js"></script> <script> $(function(){ $("#header").load("header.html"); $("#footer").load("footer.html"); }); </script> <title>Mases Krikorian Website</title> <link rel="stylesheet" type="text/css" href="index.css"> <link rel="stylesheet" type="text/css" href="login.css"> <style> h2{ font-family: "Arial Black", Gadget, sans-serif; } td{ padding-left: 5px; padding-right: 5px; } </style> <div id="header"></div> <div class="bgpic"></div> </head> <body> <div class="container"> <div id="content"> <form method="POST" action="create.php"> <h1>Registration Form</h1> <div> <input name="username" placeholder="Username" type="text" id="username"> </div> <div> <input name="password" placeholder="Password" type="password" id="password"> </div> <div> <input name="email" placeholder="Email" type="text" id="username"> </div> <div> <div> <span><?php echo $text; ?></span> </div> <a href="/login.php">Login</a> <input id="submit" type="submit" name="submit" value="Sign Up"> </div> </form><!-- form --> </div> </div> </body> <div id="footer"></div> </html> 页面,它根据输入设置“text”变量,并且还与我的mysql数据库建立连接。

create.php

请注意,该页面正确地从“标题”调用重定向,但不设置文本。另请注意,与数据库的所有连接都能正常工作。谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

您必须使用标题重定向本身传递错误消息,并在下一页通过$_GET捕获并打印它。

header("Location: createpage.php?msg=".urlencode($text));

在您要打印的createpage.php页上

<?php echo urldecode($_GET['msg']);?>

虽然通过网址发送短信不是一个好方法。

使用SESSION将变量保存在多个页面中。您可以在此处查看如何使用会话设置变量。

http://php.net/manual/en/book.session.php

答案 1 :(得分:1)

看起来你对PHP很新。好的,欢迎。

首先,几条评论。我建议你开始寻找另一种连接MySQL的方法。从PHP 5.5中不推荐使用mysql扩展,并且从此版本发出 E_DEPRECATED 警告。

我建议你去看看 PDO数据库扩展程序或mysql iheritor MySQLi 扩展程序。

然后,关于您的具体问题:如何保持$ text变量的值?最好的方法是使用会话。

PHP中有一个名为 $ _ SESSION 的超全局。您存储的所有内容都保存在会话之间。您必须在登录脚本的开头发出 session_start()调用,以便以后能够捕获会话信息。

所以,请在网站和www.php.net网站上查看一些关于PHP $ _SESSION的信息,你就可以了。