Il visualizzatore con evidenziazione non si è caricato
(manca cm6.bundle.js o dmautone-shared non è raggiungibile):
il file è mostrato come testo semplice, sempre in sola lettura.
<?php
/**
* spia.php — Pagina "scatola nera" che mostra i dati ricevuti da un form.
*
* Non serve capire questo codice: serve solo a mostrare COSA arriva
* e COME arriva (GET, POST, REQUEST).
*/
?>
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<title>Dati ricevuti</title>
<style>
body {
font-family: "Segoe UI", Roboto, Arial, sans-serif;
max-width: 900px;
margin: 2rem auto;
padding: 0 1rem;
color: #222;
line-height: 1.5;
}
h1 {
color: #1a4d7a;
border-bottom: 2px solid #1a4d7a;
padding-bottom: .3rem;
}
h2 {
color: #1a4d7a;
margin-top: 2rem;
font-size: 1.15rem;
}
.badge {
display: inline-block;
background: #2a7d4f;
color: #fff;
padding: .25rem .8rem;
border-radius: 20px;
font-weight: 600;
font-size: .9rem;
}
.badge-get { background: #1a4d7a; }
.badge-post { background: #2a7d4f; }
table {
border-collapse: collapse;
width: 100%;
margin: .5rem 0 1.5rem;
}
th, td {
border: 1px solid #c8d4de;
padding: .5rem .8rem;
text-align: left;
vertical-align: top;
}
th {
background: #e8f0f7;
color: #1a4d7a;
}
tr:nth-child(even) td {
background: #fafcfd;
}
.empty {
color: #999;
font-style: italic;
margin: .3rem 0 1.5rem;
}
.ritorno {
display: inline-block;
margin-top: 1rem;
color: #1a4d7a;
text-decoration: none;
font-weight: 600;
}
.ritorno:hover { text-decoration: underline; }
code {
background: #f4f6f8;
padding: .1rem .4rem;
border-radius: 3px;
font-family: Consolas, Monaco, monospace;
font-size: .95rem;
}
</style>
</head>
<body>
<h1>Dati ricevuti dal form</h1>
<p>
Metodo HTTP usato:
<?php
$metodo = $_SERVER['REQUEST_METHOD'];
$classe = $metodo === 'POST' ? 'badge-post' : 'badge-get';
echo '<span class="badge ' . $classe . '">' . htmlspecialchars($metodo) . '</span>';
?>
</p>
<?php
/**
* Stampa una tabella con il contenuto di un array superglobale.
*/
function mostra_array($titolo, $arr) {
echo "<h2>" . htmlspecialchars($titolo) . "</h2>";
if (empty($arr)) {
echo '<p class="empty">Nessun dato ricevuto.</p>';
return;
}
echo '<table>';
echo '<tr><th style="width:30%">Campo</th><th>Valore</th></tr>';
foreach ($arr as $chiave => $valore) {
// Se il valore è un array (es. checkbox multiple), lo uniamo con virgole
$valore_stampato = is_array($valore) ? implode(', ', $valore) : $valore;
echo '<tr>';
echo '<td><code>' . htmlspecialchars($chiave) . '</code></td>';
echo '<td>' . htmlspecialchars($valore_stampato) . '</td>';
echo '</tr>';
}
echo '</table>';
}
// Mostriamo i tre "contenitori" che PHP mette a disposizione
mostra_array('$_GET', $_GET);
mostra_array('$_POST', $_POST);
mostra_array('$_REQUEST', $_REQUEST);
?>
<a class="ritorno" href="modulo.html">← Torna al modulo</a>
</body>
</html>