Ciao a tutti,
Ho cercato parecchio anche qui nel forum, ma non riesco ad adattare il codice che trovo al mio.
Il codice che qui sotto indico funziona, ma non riesco a visualizzare le scritte indicate dalla funzione echo nel modo corretto:
ecco il codice:
Codice PHP:
<?php
$connessione=mysql_connect("localhost", "root", "") or die (mysql_error());
$selezione_db=mysql_select_db("guestbook", $connessione) or die (mysql_error());
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
<head>
<?php
include("header.html");
?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Leggi il guestbook!</title>
<link rel="shortcut icon" href="favicon.ico"/>
<link rel="stylesheet" href="video.css" type="text/css" media="screen" />
<link rel="stylesheet" href="stampa.css" type="text/css" media="print" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="rss.xml" />
</head>
<body>
<?php
include("struttura_sito.html");
?>
<?php
function modulo_guest_locale(){ //attenzione all'apertura della parentesi graffa!
?><!-- attenzione alla chiusura del codice php, poiché bisogna fare così per inglobare normali tag html nello script //-->
<div align="center">
<h1>Guestbook</h1><br /><br /><br />
<form action="nuovo_guest.php?azione=elabora" method="post" name="moduloGuest" id="moduloGuest">
<table class="tabella_modulo2">
<thead>
<tr>
<th colspan="2">Guestbook per lasciare messaggi</th>
</tr>
</thead>
<tbody>
<tr>
<td>Il tuo nome:</td><td><input type="text" name="nome_utente" id="nome_utente" size="30" maxlength="40" /></td>
</tr>
<tr>
<td>Il tuo messaggio:</td><td><textarea name="testo" id="testo" cols="60" rows="10"></textarea></td>
</tr>
<tr><td colspan="2"><input type="submit" value="Invia" name="invio" id="invio" /> <input type="reset" value="Cancella" name="cancella" id="cancella" /></td>
</tr>
</tbody>
</table>
</form>
<br /><br /><br />
<div class="centra">Per tornare alla mia <a href="index.php">home page</a></div>
</div>
<?php
}// attenzione alla parentesi graffa di chiusura, }, che deve comprendere tutto, ovvero anche i normali tag html.
?><!-- fine function modulo_guest_locale() //-->
<?php
function elabora_guest_locale(){ // inizio function
$flag_controllo = 0;
while (list ($chiave, $valore) = each ($_POST)) {
if ($valore == "") {
echo "<div class=\"h2\"> Devi inserire il tuo nome e il tuo messaggio, grazie!</div>
<div align=\"center\"><br /><br /><br /><br /><br /> <img src=\"immagini/scimmia_che_scuote_testa.gif\" width=\"120\" height=\"82\" border=\"0\" alt=\"scimmia che scuote testa\" title=\"mi spiace, hai sbagliato, riprova!\" /></div> <br /> <div class=\"centra\"><a href=\"nuovo_guest.php?azione=inserisci\">Torna indietro e compila tutti i campi</a></div>
<br /><br /><br /><br /><br />
";
$flag_controllo = 1;
break;
}
}
// cerco se l'utente ha già scritto dei messaggi
$ricerca = mysql_query("select messaggio from messaggi where nome_utente = '" . htmlspecialchars($_POST['nome_utente']) . "' limit 1");
// se la query restituisce righe, allora l'utente ha già scritto in database
if (mysql_num_rows($ricerca) ) {
echo "Devi scegliere un altro nickname!, ciao.";
}
if ($flag_controllo == 0) {
$nome_utente_formattato=htmlspecialchars($_POST['nome_utente']);
$messaggio_formattato=htmlspecialchars($_POST['testo']);
$inserimento=mysql_query("insert into messaggi (nome_utente, messaggio, data_ora) values (\"$nome_utente_formattato\", \"$messaggio_formattato\", now())") or die (mysql_error());
include("middle.html");
}
} //fine function
?><!-- fine function elabora_guest_locale //-->
<?php
function read_guest(){
$lettura_risultati=mysql_query("select nome_utente, messaggio, date_format(data_ora, 'in data %d/%m/%Y - ore %H:%i:%s') as data_formattata from messaggi order by data_ora")or(die(mysql_error()));
if(mysql_num_rows($lettura_risultati)>0){
echo "<div align=\"center\"><table class=\"tabella_seconda\">";
$flag_colore=0;
while($scatola_temporanea=mysql_fetch_array($lettura_risultati)){
$nome_utente=$scatola_temporanea['nome_utente'];
$testo_messaggio=$scatola_temporanea['messaggio'];
$data_inserimento=$scatola_temporanea['data_formattata'];
echo "<tr>";
if($flag_colore==0){
echo "<td class=\"cell8\">";
$flag_colore=1;
}
else{
echo "<td class=\"cell9\">";
$flag_colore=0;
}
echo "L'utente $nome_utente, $data_inserimento, ha scritto:<br /><br />$testo_messaggio<br /><br /><br />";
echo "</tr>";
} //fine ciclo while che scorre la query e piazza i risultati nell'array temporaneo
echo "</table></div>";
}
else{ //se non ha trovato record
echo "complimenti! nessuno ha finora inserito un messaggio.. tu puoi essere il primo!! <a href=\"modulo_guest_locale.php\">che aspetti??</a>";
}
}//fine function read_guest()
switch($_GET['azione']){
case "inserisci":
modulo_guest_locale();
break;
case "elabora":
elabora_guest_locale();
break;
case "leggi":
read_guest();
break;
}//switch sulla variabile "azione" passata nella url
?>
<?php
include("footer_per_non_stampare.html");
?>
</body>
</html>
Qualche idea?
Ciao e grazie.