Невозможно увидеть всю информацию из моей базы данных в текстовом поле, если в моем тексте есть пробел

У меня есть проблема на моем сайте, чтобы быть более точным в моих страницах редактирования и особенно в моих текстовых полях редактирования, он не показывает всю информацию в текстовых полях.

Как вы можете видеть на изображениях, в текстовых полях не отображается вся информация.

введите описание изображения здесь

Я хочу показать, как у меня есть в базе данных.

введите описание изображения здесь

Игнорировать первый ряд …

Вот мой код …

<?php
$username = $_SESSION["username"];

if(isset($_POST['id'])){

$id = $_POST['id'];
$name = mysql_real_escape_string($_POST["name"]);
$email = mysql_real_escape_string($_POST["email"]);
$city = mysql_real_escape_string($_POST["city"]);
$phone = ($_POST["phone"]);

$query="UPDATE personal_information
SET name = '$name', email = '$email', city = '$city', phone='$phone'
WHERE id='$id'";

mysql_query($query)or die(mysql_error());
if(mysql_affected_rows()>=0){
echo "<p>($username) Record Updated<p>";
}else{
echo "<p>($username) Not Updated<p>";
}
}

else{
//first time, initialize as you wish. Probably need to get the first id for this user, using another query
$id = 0;
}

if($query = mysql_query("SELECT name,email,city,phone FROM personal_information WHERE id>'$id' AND username='$username' order by id asc limit 1") or die(mysql_error()))
{
if(mysql_num_rows($query)>=1){
while($row = mysql_fetch_array($query)) {
$name = $row['name'];
$email = $row['email'];
$city = $row['city'];
$phone = $row['phone'];
}
}
else{
echo 'No entry found. <a href="javascript:history.back()">Go back</a>';
}
}

?>

КОД ФОРМЫ HTML …

<form method="post" action="edit_personal_information.php">
<input type="hidden" name="submitted" value="true" />
<legend style="color: #F87F25; font: bold 18px Tahoma;">Personal Information</legend>
<label style="color: #01ACEE; font: bold 12px Tahoma;">Name <input type="text" name="name" value=<?=$name?> required="required" /> </label>
<br /><br />
<label style="color: #01ACEE; font: bold 12px Tahoma;">Email <input type="text" name="email" value=<?=$email?> required="required"/> </label>
<br /><br />
<label style="color: #01ACEE; font: bold 12px Tahoma;">City <input type="text" name="city" value=<?=$city?> /> </label>
<br /><br />
<label style="color: #01ACEE; font: bold 12px Tahoma;">Phone <input type="text" name="phone" value=<?=$phone?> /> </label>
<br /><br />
<input type="hidden" name="id" id="id2" value="<?php echo ($id == 0 ? 0 : $id );?>" style="border: 1px solid #006; color:#F87F25; font: bold 16px Tahoma; border-radius:7px; padding:4px;"/>
<input type="submit" value="Update" id="update" name="submit" style="border: 1px solid #006; color:#F87F25; font: bold 16px Tahoma; border-radius:7px; padding:4px;"/>
</form>

Я могу понять, что проблема в том, что он не может отображать пробелы между текстом, но я не могу найти решение этой проблемы

-1

Решение

value=<?=$name?>

Если имя имеет пробел, результирующий HTML будет:

value=Foo Bar

Это означает, что значение только Foo«Бар» становится вторым атрибутом, не связанным с этим.
Вы должны позаботиться о создании правильного синтаксиса HTML:

value="<?php echo htmlspecialchars($name); ?>"

Также прочитайте Великий эскапизм (или: что нужно знать, чтобы работать с текстом в тексте).

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]