从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> 
+0

_你有一个很大的问题,你不明白网络如何工作_你不能像你会运行PHP的JavaScript。 Javascript在浏览器中运行,但PHP仅在服务器上运行,即在页面交付给浏览器之前 – RiggsFolly

+0

解决方法是通过ajax发布表单并从php脚本返回所需的值。它将在ajax succes函数中处理。 – userlond

按照我的第一个问题example

想法是通过ajax发布表单,并从php脚本中返回所需的值。它将在ajax succes函数中处理。

+0

嗨userlond,非常感谢您的评论。我认为它可行,我将它应用于我的代码,但现在SQL更新将更新所有没有电子邮件的行。我认为它不再读取$ email变量。正如你所看到的,我在顶部检索了这个变量,因为它是一个会话变量。我试图在php脚本中打开一个会话,在你给我的链接中调用了response.php,但它仍然不起作用。有什么建议?非常感谢! – Nockingam

+0

我我是你我会检查'$ _SESSION'内容。插入'var_dump($ _ SESSION);退出;'在开启会话后回复response.php。 如果没有$ _SESSION ['email'],请检查将此值插入$ _SESSION的位置(它应该是登录页面)。 如果插入看起来不错,请检查下面任何地方的重写。 – userlond