#php
Вопрос:
Краткое изложение:
- Все работало идеально, как и должно было быть, когда у меня было собственное настраиваемое поле textarea для отправки данных
- У меня был пользовательский виджет текстового редактора для ввода, но я попытался добавить CKEditor для большей функциональности
- Когда я добавил пакет с CKEditor (https://ckeditor.com/ckeditor-4/download/?undefined-addons=) редактор там был, но когда я нажал кнопку «Добавить» и отправленных данных, ввод был в два раза и там было пространство между входами (например, ввод:»тест» и выход был «тест
<br><br>
Тест»), как если бы я поставил<br>
тег, и умножил мое мнение где-то. - Когда я перестал пытаться использовать CKEditor, я вернулся к исходному коду и своему собственному оригинальному текстовому редактору, который раньше работал идеально. Однако, к моему удивлению, теперь он по-прежнему удваивает входную строку, но не помещает
<br>
тег между ними. - В БД строковое значение является нормальным и не удваивается.
Я понятия не имею, как это произошло, я просматривал код в течение часа или около того, пытаясь понять, не упустил ли я что-то, но я даже создал отдельный файл с функционирующим кодом, прежде чем я пытался использовать CKEditor на случай, если что-то сломается, и я мог бы просто заменить его старым кодом и попробовать завтра, но теперь он испорчен, и я понятия не имею, как и где.
notifications.php
<form class="form-inline" action="/action_page.php">
</form>
</nav>
<div class="container-fluid m-0 p-0">
<div class="row justify-content-center">
<div class="col-md-10">
<?php if (isset($_SESSION['response'])) { ?>
<div class="alert alert-<?= $_SESSION['res_type']; ?> alert-dismissible text-center">
<button type="button" class="close" data-dismiss="alert">amp;times;</button>
<b><?= $_SESSION['response']; ?></b>
</div>
<?php } unset($_SESSION['response']); ?>
</div>
</div>
<div class="row">
<div class="">
<?php
$query = 'SELECT * FROM crud';
$stmt = $conn->prepare($query);
$stmt->execute();
$result = $stmt->get_result();
?>
<table class="table table-hover" id="data-table">
<tbody>
<?php while ($row = $result->fetch_assoc()) { ?>
<tr>
<td><a href='details.php'><img src="<?= $row['photo']; ?>" width="125"></a></td>
<td class="pt-2"><?=
$longString=$row['name'];
$link = $row['id'];
$longStringshortcut = strlen($longString);
//echo substr($longString, 0, 100).'... <a href="$link">Read More</a>';
if ($longStringshortcut > 250) {
echo substr($longString, 0, 250).".. <a href='details.php?details=$link'><strong>Preberi več...</strong></a>"; }
else {
echo $longString;
}
?>
<a href="details.php?details=<?= $row['id']; ?>" class="badge badge-primary">Details</a>
<a href="action.php?delete=<?= $row['id']; ?>" class="badge badge-danger" onclick="return confirm('Do you want delete this record?');">Delete</a>
<a href="index.php?edit=<?= $row['id']; ?>" class="badge badge-success">Edit</a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
<div class="col-md-4 p-0">
<h5 class="">Add notification:</h5>
<form action="action.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="id" value="<?= $id; ?>">
<div class="form-group">
<textarea name="name" value="<?= $name; ?>" class="form-control" placeholder="This is the default text" required></textarea>
</div>
<div class="form-group">
<?php if ($update == true) { ?>
<input type="submit" name="update" class="btn btn-success btn-block" value="Change notification">
<?php } else { ?>
<input type="submit" name="add" class="btn btn-primary btn-block" value="Add">
<?php } ?>
</div>
<div class="form-group">
<input type="hidden" name="oldimage" value="<?= $photo; ?>">
<input type="file" name="image" class="custom-file">
<img src="<?= $photo; ?>" width="120" class="img-thumbnail">
</div>
</form>
</div>
</div>
</div>
</div>
action.php
<?php
session_start();
include 'config.php';
$update=false;
$id="";
$name="";
$photo="";
if(isset($_POST['add'])){
$name=$_POST['name'];
$photo=$_FILES['image']['name'];
$upload="uploads/".$photo;
$query="INSERT INTO crud(name,photo)VALUES(?,?)";
$stmt=$conn->prepare($query);
$stmt->bind_param("ss",$name,$upload);
$stmt->execute();
move_uploaded_file($_FILES['image']['tmp_name'], $upload);
header('location:index.php');
$_SESSION['response']="Successfully Inserted to the database!";
$_SESSION['res_type']="success";
}
Комментарии:
1. Нам нужно повидаться с вашим редактором. Ничто в PHP этого не сделает.
2.
<?=
если для эхо-контента. Используется<?php
для открытия PHP-блока.3. @Barmar не уверен, что вы именно имеете в виду, мой предыдущий «текстовый редактор» был в основном просто текстовой областью для ввода строки, которая будет отображаться, когда я нажму кнопку добавить. Я также добавил фотографию, чтобы посмотреть, что произойдет сейчас.
4. Укажите
var_dump($row)
одну из записей, содержащих двойное содержимое, или каждая строка содержит двойное содержимое? Также не используйте визуализированную страницу для просмотра этого, просмотрите источник.5. @user3783243, решено. Да, после моего Теперь я заменил это на Я не знаю, почему это работало до этого, просто вся ситуация была странной. Спасибо другим за то, что пытались помочь!
Ответ №1:
Проблема заключалась в синтаксисе<? = (эхо),