Chrome и Opera удаляют данные записи при редактировании записи

0

Я новичок в php и mysql, я использую скрипт, такой как CMS, моя проблема в том, что я могу написать новую статью, но при редактировании на хром или в опера все содержимое статьи не отображается для редактирования и удаления, и это не case с firefox, здесь, под скриптом редактирования php,

<?php echo link_tag('assets/themes/' . $this->selected_theme . '/'.UIKIT_VERSION.'/css/' . $this->session->userdata('selected-theme')); ?>
<script src="<?php echo base_url() ?>assets/themes/<?php echo $this->selected_theme . '/ckeditor/ckeditor.js'; ?>"></script>
<h4><i class="uk-icon-edit"></i> edit step </h4>
<hr class="uk-article-divider">
<?php $this->load->view('user/template/default/flash_data') ?>
<?php
$attributes = array(
    'method' => 'post',
    'class' => 'uk-form'
);
echo form_open_multipart('articles/edit/' . $step->step_id, $attributes) ?>
<div class="uk-form-controls">
    <label class="uk-form-label">
        <?php if ($step->step_photo_url) { ?>
            <img src="<?php echo $step->step_photo_url ?>" class="uk-thumbnail-small"/><br/>
        <?php } else { ?>
            <i class="uk-icon-image uk-icon-large"></i>
        <?php } ?>

    </label><br/>
    <input type="file" name="step_photo_url"/>
    <br/>
    <label class="uk-form-label uk-text-muted uk-text-bold">Or Enter a URL</label>
    <input class="uk-width-90 uk-form-large" type="text" placeholder="Image Url" name="step_photo_url"
           value="<?php echo set_value('step_photo_url', $step->step_photo_url, true) ?>"/>
    <?php echo form_error('step_photo_url') ?>
</div>
<div class="uk-form-controls uk-margin-top">
    <div class="uk-form-controls uk-margin-bottom">
        <input value="<?php echo $step->step_title ?>" name="step_title" class="uk-width-90 uk-form-large"
               type="text" placeholder="step title">
        <?php echo form_error('step_title'); ?>
    </div>
    <div class="uk-margin-bottom uk-form-controls">
            <textarea name="step_description" rows="4" class="uk-width-90 uk-form-large ckeditor"
                      placeholder="Enter Description"><?php echo set_value('step_description', $step->step_description,
                    true) ?></textarea>
        <?php echo form_error('step_description'); ?>
    </div>
    <a href="<?php echo site_url('articles/delete/' . $step->step_id) ?>"
       class="uk-button uk-button-danger uk-float-left">Delete</a>
    <button class="uk-button uk-button-success uk-float-right">Save</button>
</div>
</form>
Теги:
google-chrome

1 ответ

0

Это сложная задача угадать с тем, что у вас есть, хотя это звучит как ошибка, которую я совершил, когда впервые начал работать с PHP и базами данных. Это преобразование вывода в поля значений с помощью htmlspecialchars($value,ENT_QUOTES). Если у вас есть это значение:

$content = '"What are you talking about?" she asked, "that is ridiculous!"';

то вы эхо в поле ввода для редактирования:

<input name="test" value="<?php echo $content ?>" />

Выход html:

<input name="test" value=""What are you talking about?" she asked, "that is ridiculous!"" />

который имеет два набора кавычек, и большинство браузеров тогда покажет это поле как пустое. Затем, когда вы нажимаете обновление, оно очищает то, что вы ранее имели. Чтобы обойти это, вы должны использовать:

<input name="test" value="<?php echo htmspecialchars($content,ENT_QUOTES) ?>" />

который затем дает вам этот вывод в поле:

"What are you talking about?" she asked, "that is ridiculous!"

но html выглядит так:

<input name="test" value="&quot;What are you talking about?&quot; she asked, &quot;that is rediculous!&quot;" />

Это просто удар в темноте, основанный на вашем описании и основанный на личном опыте. Вам нужно будет показать свой html или некоторые значения php для более четкого изображения.

  • 0
    спасибо за ваш ответ, на самом деле я не понял вашу идею, не могли бы вы проиллюстрировать это в моем коде ?. Спасибо
  • 0
    Ну, я просто догадываюсь, если честно, основываясь на том, что вы описали. когда вы говорите, что удалили, вы имеете в виду, что содержимое столбца удалено?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню