Я провел некоторое исследование проблем некоторых других людей здесь, но я не могу понять, что происходит не так. Я пытаюсь обновить свою форму, которая уже имеет данные текущего пользователя (кто входит в систему), но я хочу, чтобы они могли обновлять свой профиль.PHP не будет обновлять MySQL
Это то, что мой код выглядит следующим образом:
<?php
// Retreive db data
$me = $_SESSION['username'];
require('db.php');
$data = "SELECT username, email FROM users WHERE username='$me'";
$query = mysql_query($data);
$data2 = mysql_fetch_array($query);
// Updating
$Username=$data2['username'] ;
$Email= $data2['email'] ;
if(isset($_POST['save']))
{
$username_save = mysql_real_scape_string($_POST['username']);
$email_save = mysql_real_scape_string($_POST['email']);
mysql_query("UPDATE users SET username ='$username_save', email ='$email_save' WHERE username = '$me'")
or die(mysql_error());
echo "Saved!";
}
?>
<form role="form">
<div class="form-group">
<label for="username">Username: </label>
<input type="text" class="form-control" name="username_save" value="<?php echo $data2['username']?>">
</div>
<div class="form-group">
<label for="pwd">Email Address: </label>
<input type="email" class="form-control" name="email_save" value="<?php echo $data2['email']?>">
</div>
<button input type="Submit" name="save" class="btn btn-info">Submit</button>
<button input type="Sumbit" name="delete" class="btn btn-danger">Delete</button>
</form>
Когда я представить мои новые значения (значения эхо работает отлично) и нажмите кнопку отправить (имя пользователя = danielleeee [email protected]), мой URL выглядит следующим образом:
страницы/администратор/edit.php username_save = danielleeee & email_save = тест% 40danielle.com & сохранить =
Если бы кто-нибудь мог пролить свет на это для меня, это было бы фантастически! Спасибо.
$ _POST метод не определен; поэтому узнайте, как использовать $ _POST; потому что вы создаете работы с методом $ _GET, а ваши vars находятся в $ _GET superglobal. –
Прекратите использовать функции 'mysql_', они устарели долгое время. Вместо этого используйте 'mysqli_' или' PDO'. Вы также уязвимы для SQL-инъекций. Вместо этого используйте подготовленные заявления. – trincot