Ora siamo pronti per iniziare a creare una pagina funzionante. Possiamo realizzare un nuovo progetto seguendo lo schema esposto precedentemente o modificare i file esistenti e utilizzare la stessa struttura.
L'obiettivo sarà quello di creare una pagina PHP contenente un form ed eseguire l'invio dei parametri di input per poi leggere i dati inseriti nel modulo.
Iniziamo quindi ad impostare lo scheletro HTML della nostra pagina:
<html>
<head>
</head>
<body>
<form action="/sign" method="post">
<div><input type="text" name="contenuto"></div>
<div><input type="submit" value="Scrivi"></div>
</form>
</body>
</html>
Contestualmente prepariamo il file app.yaml
per servirla:
runtime: php55
api_version: 1
handlers:
- url: /.*
script: test.php
Quanto esposto dovrebbe essere chiaro sulla scorta della lezione precedente, l'eventuale dubbio sul significato di url: /.*
è presto chiarito: qualsiasi contenuto scriviamo nell'URL veniamo rimandati a test.php
. Possiamo testare la nostra pagina in locale prima di procedere al deploy con l'istruzione:
dev_appserver.py ./
Il prossimo passaggio prevede l'aggiunta del foglio di stile, ne creeremo uno minimale giusto per agganciarlo alla nostra pagina. Creiamo quindi nella root del nostro progetto una cartella css
e, al suo interno, un file main.css
contenente una definizione per il tag body
:
body {
font-family: Verdana, Helvetica, sans-serif;
background-color: #DDDDDD;
}
Nella nostra pagina PHP aggiungeremo il percorso al file main.css
nell'intestazione:
<link type="text/css" rel="stylesheet" href="/css/main.css" />
Questo però non basta, per fare in modo che il file venga servito dovremo modificare anche il file app.yaml
e far sì che tutte le richieste che contengono /css
vengano dirottare nella cartella degli stili, modificheremo quindi gli handlers
in questo modo:
- url: /css
static_dir: css
Ricaricando la pagina vedremo lo stile applicato. Se il server non è stato arrestato sulla console noterete anche la lista dei files che avete modificato.
Se facciamo caso alla action del nostro form noteremo che il submit del form viene eseguito all'indirizzo /sign
che però viene catturato dalla stessa pagina PHP per via dell'istruzione - url: /.*
presente nel file app.yaml
.
Per stampare nella pagina il contenuto inserito nel campo di input testuale useremo un breve codice PHP:
if(isset($_POST['contenuto'])){
echo '<div>Hai scritto: '.
$_POST['contenuto']).'</div>';
}
A questo punto possiamo provare a completare il nostro form, nella pagina comparirà il messaggio che abbiamo visualizzato in input.