PHP - отображать полученный адрес электронной почты в поле ввода

Используя php/html, я хочу получить адреса электронной почты (плюс другую информацию) из MySQL, а затем отобразить адреса электронной почты в поле ввода в форме. Это позволит пользователям редактировать и отправлять исправленные адреса электронной почты. Однако полученный адрес электронной почты неправильно отображается в поле ввода. Вся остальная полученная информация отображается правильно. Часть кода показана ниже:

 <tr><td ><span style=color:#125eaa><strong>Email</strong></style></td><td ><input style=background-color:#e2ffc6 name=email type=text id=email value=$email></td></tr>
<tr><td ><span style=color:#125eaa><strong> Address Line 1</strong></style></td><td ><input style=background-color:#e2ffc6 name=ad1 type=text id=ad1 value='$ad1'></td></tr> 

«Адресная строка 1» отображается правильно, а электронная почта — нет. Я пробовал: type=email, но это не решило проблему.

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

Любая помощь очень ценится.

Спасибо,


person Paul Thomas    schedule 05.02.2012    source источник
comment
Вы действительно должны добавить кавычки к атрибутам тега. Кроме того, вы не можете просто добавить переменные php в HTML. Вам нужно объявить их как php.   -  person Scott    schedule 05.02.2012
comment
value='$email' - с цитированием, что ли?   -  person Borealid    schedule 05.02.2012
comment
элемент ввода не закрывается, а значения атрибутов ставятся в кавычки   -  person guido    schedule 05.02.2012
comment
Спасибо за ответ. Я ставил кавычки ранее, но это тоже не сработало. Закрыл элемент ввода, но он тоже не работал. Когда я показываю адрес электронной почты без использования поля ввода, он работает нормально. Проблема возникает, когда я пытаюсь отобразить его в форме ввода.   -  person Paul Thomas    schedule 05.02.2012


Ответы (2)


<tr><td><span style="color:#125eaa;"><strong>Email</strong></span></td><td><input style="background-color:#e2ffc6;" name="email" type="text" id="email" value="<?php echo $email; ?>" /></td></tr>

<tr><td><span style="color:#125eaa;"><strong>Address Line 1</strong></span></td><td><input style="background-color:#e2ffc6;" name="ad1" type="text" id="ad1" value="<?php echo $ad1; ?>" /></td></tr> 

Поместите кавычки вокруг всех атрибутов. И, не видя больше кода, я могу только предположить, что вам нужно отображать переменные с помощью php, а не просто HTML. У вас также есть закрывающие теги </style> вместо закрывающих тегов </span>.

person Scott    schedule 05.02.2012
comment
Спасибо за отзыв. Я решил это, добавив в код следующее: $email=preg_replace('/@/', '@', $email); - person Paul Thomas; 05.02.2012

Его проблема может быть артефактом резидентного javascript, который скрывает адрес электронной почты с помощью обфускации скрипта, поэтому он видит часть открывающего тега скрипта. Отключите сценарий маскировки перед записью адресов электронной почты в значения во входных операторах.

person Nick    schedule 27.04.2012