Я думаю, что лучший способ - всегда устанавливать переменную
if ( ! $new_item) {
$variable = 'Example';
} else {
$variable = 'Default value';
//or
$variable = '';
}
Использование подавления ошибок @
выполняется медленно.
редактировать
Обратите внимание, что когда вы печатаете переменную в атрибуте входного значения, вы должны сначала вызвать htmlentities()
или htmlspecialchars()
.
2-е редактирование
В своем комментарии вы говорите, что извлекаете данные как объект, в этом случае вы также можете сделать:
class example {
public $somefield = 'default value';
}
Тогда, если это существующая запись, которую вы редактируете, сделайте что-то вроде этого, что приведет к тому, что возвращаемый объект будет экземпляром 'example':
$record = mysql_fetch_object($result, 'example');
или, если это новая запись, создайте ее самостоятельно:
$record = new example();
Тогда вы всегда знаете, что $record->somefield
будет установлено, и вы можете сделать:
<form>
<input type="text" name="somefield" value="<?php echo htmlspecialchars($record->somefield); ?>" />
</form>