【发布时间】:2018-03-24 16:11:35
【问题描述】:
我知道这个网站不喜欢“发现我的错误”代码,但我很绝望。我有一个网站需要从数据库 (PHP) 访问特定于用户的数据,将数据转换为 JSON 文件,然后更改 HTML 标头以显示该特定数据。数据库表包含用户电子邮件、密码和类名等。我有一个登录页面,它为电子邮件和密码建立会话变量。当用户登录时,我希望将他们的类名输入到 HTML 文本中。我使用了几十个资源,主要是 W3schools,并提出了以下代码:
PHP:
<?php
session_start();
header("Content-Type: application/json; charset=UTF-8");
$obj = json_decode($_GET["x"], false);
if (!$obj) {
die(mysqli_error());
}
$servername = "localhost";
$username = "id5143969_enviroquest1";
$password = "codeteam1";
$database = "id5143969_enviroquest1";
$link = mysqli_connect($servername, $username, $password, $database);
$result = $link->query("SELECT UserClassName FROM ".$obj->UserInfo1." WHERE ".$obj->UserEmail."= '". mysqli_real_escape_string($link,
$_SESSION['useremail']) . "' and ".$obj->UserPassword." = '" . mysqli_real_escape_string($link, $_SESSION['userpassword']) . "'");
if (!$result) {
die(mysqli_error());
}
$_SESSION['classname'] = $result->fetch_assoc();
if (!$_SESSION['classname']) {
die(mysqli_error());
}
echo json_encode($_SESSION['classname']);
Javascript:
function getclassname() {
var obj, dbParam, xmlhttp, myObj, x, txt = "";
obj = { "UserInfo1":"UserClassName"};
dbParam = JSON.stringify(obj);
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myObj = JSON.parse(this.responseText);
document.getElementById("UserClassName").innerHTML = myObj;
}
};
xmlhttp.open("GET", "php2.php" + dbParam, true);
xmlhttp.send();
}
HTML:
<h1 class="text-center" id="UserClassName" name="UserClassName" onload=
"getclassname()"> </h1>
我不知道出了什么问题,而且对编码太陌生,无法自己解决。
【问题讨论】:
-
欢迎来到本站!查看tour 和how-to-ask page 了解更多关于提出问题以吸引高质量答案的信息。您可以edit your question 包含更多信息。正在发生什么,您期望会发生什么?另外,请您添加 HTML 的相关部分吗?我注意到您的 PHP 代码在解码后从未使用过
$obj。 -
我添加了相关的 html 和更多关于我需要它做什么的数据。老实说,我不明白 obj 变量应该做什么,我只是将本网站和 w3schools 上现有代码的所有内容拼凑在一起,这似乎是必要的。 javascript中还有一个obj变量
标签: javascript php mysql json database