gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 07:16:42 25 4
gpt4 key购买 nike

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

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

<?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>

这是我的 create.php 页面,它根据输入设置“text”变量,并与我的 mysql 数据库建立连接。

<?php
session_start();
define('DB_HOST', '<im putting my host here>');
define('DB_NAME', '<im putting my db name here>');
define('DB_USER','<im putting my username here>');
define('DB_PASSWORD','<im putting my password here>');
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error());
$text= '';

function NewUser()
{
$username= $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];

if($data)
{
$text= "Account created.";
header('Location: login.php');
$text= "Account created.";
}
}

function SignUp()
{
if(!empty($_POST['username'])) //checking the 'user' name which is from Sign-Up.html, is it empty or have some text
{
$query = mysql_query("SELECT * FROM members WHERE username = '$_POST[username]' AND password = '$_POST[password]'") or die(mysql_error());
$q = mysql_query("SELECT * FROM members WHERE username = '$_POST[username]'");
if(!$row = mysql_fetch_array($q))
{
newuser();
}
else
{
$text= "Account already exists under that username";
header('Location: createpage.php');
$text= "Account already exists under that username";
}
}
else {
$text= "Account already exists under that username";
header('Location: createpage.php');
$text= "Account already exists under that username";
}
}

if(isset($_POST['submit']))
{
SignUp();
}
?>

请注意,页面正确地从“ header ”调用进行重定向,但未设置文本。另请注意,与数据库的所有连接均正常工作。感谢您的帮助。

最佳答案

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

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

在要打印的createpage.php页面上

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

尽管通过 URL 发送文本并不是一个好的做法。

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

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

关于php - MySQL 和 PHP - 从 PHP 获取变量并在另一个 PHP 页面中打印它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37717147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com