【发布时间】:2016-06-04 22:44:41
【问题描述】:
我正在尝试创建一个表单来更新存储在数据库中的用户详细信息,但我收到了错误 Parse error: syntax error, unexpected '"' in update.php on line 18。我想说用与会话匹配的用户名更新用户(会话存储用户名)我不知道为什么它错了,因为我之前使用过与会话用户名的比较并且它工作正常。我还必须使用新用户名更新会话吗??
更新.php
<?php
session_start();
function updateAccount(){
$pdo=new PDO('mysql:host=localhost;dbname', 'name', 'password');
$name=$_POST['Name'];
$surname=$_POST['Surname'];
$email=$_POST['Email'];
$username=$_POST['Username'];
$password=$_POST['Password'];
//Execute the query
$hashPass = hash('sha512', $password);
$st = $pdo->prepare('UPDATE Users SET Name = :Name, Surname = :Surname, Email = :Email, Username = :Username, Password = :Password WHERE Username = '".$_SESSION['userName']."'');
if(!isset($error)){
//no error
$st->execute(array('Name' => $name, 'Surname'=>$surname, 'Email'=>$email, 'Username'=> $username, 'Password' => $hashPass));
header("Location: user.php");
}else {
echo "Error";
}
}
}
if(isset($_POST['update'])){
newAccount();
}
?>
用户输入详细信息的表单(不确定这会有所不同)
<form id="update" method="post" action="update.php">
<h2>Account Update:</h2>
<br>Name:
<input type="text" name="Name" placeholder="Name">
<br>Surname:
<input type="text" name="Surname" placeholder="Surname">
<br>Email:
<input type="email" name="Email" placeholder="Email">
<br>Username:
<input type="text" name="Username" placeholder="Username">
<br>Password:
<input type="password" name="Password" placeholder="Password">
<br>Re-enter Password:
<input id="pass2" type="password" name="Password_check" placeholder="Password Check">
<br><input id="updates" type="submit" name="update" value="Update"> <br>
</form>
【问题讨论】:
-
了解如何使用
"和'。