从PHP上的SQL检索数据并在HTML上显示它
我对HTML和SQL有点问题。从PHP上的SQL检索数据并在HTML上显示它
我在登录会话中,我通过SQL保存了一些用户信息,并且功能saveProfile
正常工作。
我想做的事情是,当下面的表单提交时,它运行数据库更新函数,但是也插入了刚刚在表单提交的新注册的字符串。
举例来说,如果用户提交www.google.com
,我想updateProfile函数去获得新提交www.google.com
从什么地方(我试过从
$x = $_POST["fbProfile"]
越来越直接,但不能管理到检索该值)并将其插回。有没有办法做到这一点?非常感谢
<?php
session_start();
if(!$_SESSION['loggedin'])
{
header("location:index.html?problem=notLoggedin");
exit;
}
$name = $_SESSION['name'];
$surname = $_SESSION['surname'];
$email = $_SESSION['email'];
$profile = $_SESSION['profile'];
$course1 = $_SESSION['course1'];
$course2 = $_SESSION['course2'];
$course3 = $_SESSION['course3'];
$course4 = $_SESSION['course4'];
?>
<!DOCTYPE html>
<html lang="En-US">
<head>
<body>
<div class="container">
<table >
<tr>
<td><p><b>My Facebook profile:</b></td>
<td><p id="editprofile"><?php print($profile); ?></p></td>
<td><p onclick="return editprofilefunction()" id="editprofileblank"><a href>Edit</a></p></td>
</tr>
</table>
</div>
<script>
function editprofilefunction() {
document.getElementById("editprofile").innerHTML = '<form name="emailForm" method="post" onsubmit="return !!(saveProfile() & updateProfile())"><input type="text" name="fbProfile" placeholder="Insert your Facebook URL"/> <input id="submit" type="submit" value="Save"></form>';
document.getElementById("editprofileblank").innerHTML = "";
return false;
}
function saveProfile() {
<?php
$x = $_POST["fbProfile"];
define('DB_NAME', 'DATABASENAME');
define('DB_USER', '1956218_students');
define('DB_PASSWORD', 'Password');
define('DB_HOST','HOST');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
$sql = "UPDATE `DATABASENAME`.`Students` SET `Fbprofile` = '$x' WHERE `Students`.`Email` = '$email' ";
?>
}
function updateProfile() {
document.getElementByID("editprofile") = ********PROFILE STRING I HAVE JUST SAVED***********;
return true;
}
</script>
</div>
</body>
</html>
按照我的第一个问题example。
想法是通过ajax发布表单,并从php脚本中返回所需的值。它将在ajax succes函数中处理。
嗨userlond,非常感谢您的评论。我认为它可行,我将它应用于我的代码,但现在SQL更新将更新所有没有电子邮件的行。我认为它不再读取$ email变量。正如你所看到的,我在顶部检索了这个变量,因为它是一个会话变量。我试图在php脚本中打开一个会话,在你给我的链接中调用了response.php,但它仍然不起作用。有什么建议?非常感谢! – Nockingam
我我是你我会检查'$ _SESSION'内容。插入'var_dump($ _ SESSION);退出;'在开启会话后回复response.php。 如果没有$ _SESSION ['email'],请检查将此值插入$ _SESSION的位置(它应该是登录页面)。 如果插入看起来不错,请检查下面任何地方的重写。 – userlond
_你有一个很大的问题,你不明白网络如何工作_你不能像你会运行PHP的JavaScript。 Javascript在浏览器中运行,但PHP仅在服务器上运行,即在页面交付给浏览器之前 – RiggsFolly
解决方法是通过ajax发布表单并从php脚本返回所需的值。它将在ajax succes函数中处理。 – userlond