Возникли проблемы с кавычками в PHP echo

У меня проблемы с котировками на PHP echo. Я не уверен, что это из-за того, что я использую неправильные кавычки/размещаю их не в том месте, или из-за того, что я не могу установить значение кнопки на то, что у меня есть (см. код).

$sql = "SELECT * FROM calender WHERE userid=?;";
$stmt = mysqli_stmt_init($conn);
if (!mysqli_stmt_prepare($stmt, $sql)) {
  header ('Location: ../personalcalender.php?error=sqlerror');
  exit();
}
else {
  mysqli_stmt_bind_param($stmt, "s", $_SESSION['Id']);
  mysqli_stmt_execute($stmt);
  $result = mysqli_stmt_get_result($stmt);
  while ($row = mysqli_fetch_assoc($result)) {
    echo "<center>" . $row['type'] ." ". $row['subject'] ." ". $row['message'] ." ".
      "<button name='changeStatus' value=\". $row['calenderid'] .\">" . $row['mystatus'] . $row['calenderid'] . "</button>";
  }
}

Пропал без вести " вокруг . $row['calenderid'] ..

gre_gor 24.05.2019 20:11

@gre_gor Разве это не то, что '\" ' означает после 'value=' и после '$row['calenderid']' ? Я только что попробовал то, что вы сказали, и все еще не работает.

Fins Up 24.05.2019 20:18
\" является частью HTML, а не PHP.
gre_gor 24.05.2019 20:20
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
3
32
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Разделение HTML и PHP поможет избежать подобных проблем. В идеале вы должны иметь их в отдельных файлах, но, по крайней мере, поместите свой PHP в верхнюю часть вашего файла и ограничьте все, что находится в HTML, только для отображения.

Загрузите результаты своей БД в массив, а затем прокрутите их в нужное время. Если вы выводите в HTML, всегда избегайте ваших данных, используя htmlspecialchars(). Обратите внимание на использование синтаксис альтернативной структуры управления и короткие эхо-теги. Кроме того, звонил 1999 год, они хотят вернуть свой <center> элемент ;)

<?php
$sql = "SELECT * FROM calender WHERE userid = ?";
$stmt = $conn->stmt_init();
if (!$stmt->prepare($sql)) {
    header ('Location: ../personalcalender.php?error=sqlerror');
    exit();
}
$stmt->bind_param("s", $_SESSION['Id']);
$stmt->execute();
$result = $stmt->get_result($stmt);
while ($row = $result->fetch_assoc()) {
    $data[] = array_map('htmlspecialchars', $row);
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>My page</title>
</head>
<body>
<!-- some more HTML goes here -->

<?php foreach ($data as $row):?>
<div style = "text-align: center"> 
    <?=$row['type']?> <?=$row['subject']?> <?=$row['message']?>
    <button name = "changeStatus" value = "<?=$row['calenderid']?>">
        <?=$row['mystatus']?> <?=$row['calenderid']?>
    </button>
</div>
<?php endforeach;?>
<!-- some more HTML goes here -->
</body>
</html>

Другие вопросы по теме