Niente paura, non è eccessivamente complesso, e l'idea di massima che ti sei fatto è corretta .
Innanzitutto dovrai creare una tabella nella base di dati per accogliere la pagina. Come minimo avrai bisogno di un identificatore e del contenuto della pagina:
Codice:
CREATE TABLE page (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
content TEXT,
CONSTRAINT PK_page PRIMARY KEY(id)
);
Probabilmente avrai bisogno di qualche colonna in più, per esempio un titolo. In ogni caso puoi creare la tabella tramite PhpMyAdmin.
Avrai poi bisogno di un codice PHP che riceva la pagina dal form e la memorizzi nella base di dati. L'hai chiamata "test.php", ma opterei per un nome più evocativo, per esempio save_page.php. Nella pagina che hai mostrato il form invia dati tramite POST, e il nome del campo è "codice". La pagina sarà strutturata pressapoco così:
save_page.php
Codice PHP:
<?php
error_reporting(E_ALL);
if (!isset($_POST['codice'])) {
die("Missing mandatory argument.");
}
$dbh = new \PDO(...);
$sth = $dbh->prepare("INSERT INTO page(content) VALUES(:content)");
$result = $sth->execute(array(":content" => $_POST['codice']));
if ($result !== false) {
echo "Page created, id: " . $db->lastInsertId();
}
else {
echo "Cannot save page: " . $sth->errorInfo();
}
?>
Abbi cura di sistemare la connessione alla base di dati. L'esempio usa PDO, puoi sostituire con MySQLi.
Ti servirà infine uno script che mostri una pagina salvata nella base di dati, per esempio show_page.php. Come prima cosa devi identificarla, ad esempio passandone l'id come parametro GET:
show_page.php
Codice PHP:
<?php
error_reporting(E_ALL);
if (!isset($_GET['page_id'])) {
die("No page identifier specified");
}
$dbh = new \PDO(...);
$sth = $dbh->prepare("SELECT content FROM page WHERE id = :id");
$result = $sth->execute(array(":id" => $_GET['page_id']));
if ($result === false) {
die("Cannot retrieve page " . $_GET['page_id'] . ": " . $sth->errorInfo());
}
$row = $sth->fetch(\PDO::FETCH_ASSOC);
echo $row['content'];
?>
Questa pagina puoi essere visualizzata visitando per esempio show_page.php?page_id=5.