Итак, у меня проблема при попытке изменить только 1 столбец данных пользователя в базе данных. Код, который я сделал, будет изменять только данные последнего пользователя в базе данных, а не текущего пользователя.
Например: я вошел в учетную запись Asd со столбцами:
адрес электронной почты имя пользователя номер тара
если я отредактирую его, он покажет значения этого в базе данных, но не отобразит их на экране
если у меня есть больше пользователей, таких как asd abc abcd
он покажет значения abcd
<?php include('server.php');
$result = mysqli_query($db,"SELECT * FROM users");
while($row = mysqli_fetch_array($result))
{
if($username=$row['username'])
{
$email=$row['email'];
$user=$row['username'];
$nume=$row['nume'];
$prenume=$row['prenume'];
$tara=$row['tara'];
$oras=$row['oras'];
$adresa=$row['adresa'];
$numar=$row['numar'];
}
}
?>
<form method="post" action="editprofil.php">
<table class="table-fill">
<thead>
<tr>
<th class="text-left" style="font-size:32px;padding-bottom:1em;" >Profil</th>
</tr>
</thead>
<tbody>
<tr>
<td class="text-left">Username</td>
<td class="text-left"><?php echo $user ?></td>
</tr>
<tr>
<td class="text-left">Nume</td>
<td class="text-left"><input type="text" name="nume" /></td>
</tr>
<tr>
<td class="text-left">Prenume</td>
<td class="text-left"><input type="text" name="prenume" /></td>
</tr>
<tr>
<td class="text-left" >Email </td>
<td class="text-left"> <?php echo $email; ?></td>
</tr>
<tr>
<td class="text-left">Tara</td>
<td class="text-left"><input type="text" name="tara" /></td>
</tr>
<tr>
<td class="text-left">Oras</td>
<td class="text-left"><input type="text" name="oras" /></td>
</tr>
<tr>
<td class="text-left">Adresa</td>
<td class="text-left"><input type="text" name="adresa"/></td>
</tr>
<tr>
<td class="text-left">Telefon mobil</td>
<td class="text-left"><input type="text" name="telefon" /></td>
</tr>
<tr>
<td class="text-left">Data nasterii</td>
<td class="text-left"><input type="text" name="varsta" /></td>
</tr>
</tbody>
</table>
<div class="input-container"style="padding-top:1em;">
<input type="username" name="username" id="#{label}" />
<label for="#{label}">Confirm username</label>
<div class="bar"></div>
</div>
<div class="input-container"style="padding-top:1em;">
<input type="password" name="password" id="#{label}" />
<label for="#{label}">Confirm password</label>
<div class="bar"></div>
</div>
<div class="button-container">
<button type="submit" class="btn" name="edit_user">Register</button>
</div>
</form>
Как я вижу из вашего кода, вы извлекаете все записи из таблицы users, на последней итерации все переменные, такие как $ email, $ user.... имеют информацию о последней строке, поэтому код обновляет последнего пользователя,
Как писал @AKX, когда вы набираете " $ username = $ row ['username']", вы присваиваете строковое имя пользователя в $ username и всегда получаете значение true, выполняя код внутри if все время для всех ваших записей. Здесь вы найдете больше информации PHP If PHP Expressions
if($username=$row['username'])
всегда будет истинным; вам захочется==
(или===
).ve tried that and it
ничего не показывает. Я думаю, что у меня есть проблема со значениями, которые поступают из server.php. Яll do an edit on the post with the server.php code. I can
понять, почему некоторые переменные все еще являются глобальными и могут отображаться на других страницах, а некоторые нет