html5 — PHP самореферентная форма

Я беру курс PHP, использую учебник Head First PHP и MYSQL. Книга была написана еще в 2008 году, поэтому мне постоянно интересно, является ли то, что я изучаю, современным.

Учебник показывает html-форму с самообращением в комментариях php:

<?php
require_once('appvars.php');
require_once('connectvars.php');

if (isset($_GET['id']) && isset($_GET['date']) && isset($_GET['name']) && isset($_GET['score']) && isset($_GET['screenshot'])) {

// Grab the score data from the Get
$id = $_GET['id'];
$date = $_GET['date'];
$name = $_GET['name'];
$score = $_GET['score'];
$screenshot = $_GET['screenshot'];
}
else if (isset($_POST['id']) && isset($_POST['name']) && isset($_POST['score'])) {

// Grab the score data from the POST
$id = $_POST['id'];
$name = $_POST['name'];
$score = $_POST['score'];
}
else {
echo '<p class="error">Sorry, no high score was specified for removal.</p>';
}

if (isset($_POST['submit'])) {
if ($_POST['confirm'] == 'Yes') {
// Delete the screen shot image file from the server
@unlink(GW_UPLOADPATH . $screenshot);

//Connect to the database
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

// Delete the score data from the database
$query = "DELETE FROM guitarwars WHERE id = $id LIMIT 1";
$data = mysqli_query($dbc, $query)
or die('Unable to complete query');
mysqli_close($dbc);

// Confirm success with the user
echo '<p>The high score of ' . $score . ' for ' . $name . ' was succesfully removed.';
}
else {
echo '<p class="error">The high score was not removed.</p>';
}
}

else if (isset($id) && isset($name) && isset($date) &&
isset($score) && isset($screenshot)) {
echo '<p>Are you sure you want to delete the following high score?</p>';
echo '<p><strong>Name: </strong>' . $name . '<br><strong>Date: </strong>' . $date .
'<br><strong>Score: </strong>' . $score . '</p>';
echo '<form method="post" action="removescore.php">';
echo '<input type="radio" name="confirm" value="Yes">Yes ';
echo '<input type="radio" name="confirm" value="No" checked="checked">No ';
echo '<input type="submit" value="Submit" name="submit">';
echo '<input type="hidden" name="id" value="' . $id . '">';
echo '<input type="hidden" name="score" value="' . $score . '">';
echo '<input type="hidden" name="screenshot" value="' . $screenshot . '">';
echo '</form>';
}
echo '<p><a href="admin.php">&lt;&lt; Back to admin page</a></p>';
?>

Я продолжал получать сообщение об ошибке о том, что моя переменная id не определена. Проведя некоторое исследование, я удалил текст внутри цитат из акции. Сейчас это работает, но мне все еще интересно, почему книга учит так. Они оба допустимые варианты?

0

Решение

Переменная выводится без кавычек, поэтому, если вы смешиваете ее с обычным HTML-кодом, вы используете кавычки для HTML-кода, а затем заканчиваете его другой кавычкой того же типа — в вашем случае одиночной кавычкой.

Но поскольку HTML-код должен содержать кавычки (для атрибута «значение»), вы можете смешивать одинарные и двойные кавычки, как вы это сделали.

Одинарная кавычка до того, как переменная завершает эхо HTML, точка позволяет соединить переменную, после того, как переменная точка делает то же самое, а затем снова одинарные кавычки для кода HTML.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]