Problema con la mia prima pagina php...
lo so che è un lavoro noioso, ma vi chiedo cortesemente di darmi una mano a trovare gli errori che ci sono in questa pagina (un guestbook).
E' una delle mie prime pagine in PHP e nn riesco a farla andare.
A parte il fatto che sia molto poco ottimizzata (molte operazioni penso si possano accorciare, ma nn mi importa per qualche millisecondo...), nn funziona!!!
Ho inserito un mex nel db ma nn lo visualizza, invece visualizza 10 mex vuoti... nn so xkè.
date una mano ad un povero quattordicenne alle prime armi!!!! :oops:
ecco il codice.
Codice PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Guestbook</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<?php
//si collega al Database e in caso di errore scrive un messaggio.
mysql_connect('localhost', 'macedoniadibit', '*********') or die("errore nella connessione al databasa");
//Controlla se si vuole leggere i messaggi o scriverli
If(!Isset($_GET['tipo']) or $_GET['tipo']==leggi)
{
//Controlla se è selezionata una pagina e assegna la variabile $pag.
If(!isset($_GET['pag']) or !$_GET['pag']){
$pag=1;}
Else{
$pag=$_GET['pag'];
}
//assegna la variabile della pagina (codice HTML)
$pagina=<<<pagina
<body bgcolor="#FFCC00" text="#000000" link="#000000" vlink="#000000" alink="#000000" leftmargin="30" topmargin="30" marginwidth="30" marginheight="30">
<p align="center"><font size="5" face="Arial, Helvetica, sans-serif">Benvenuto.
Firma il guestbook!!!</font></p>
<p align="center"> </p>
<p align="center"><a href=gb.php?tipo=scrivi><font size="4" face="Arial, Helvetica, sans-serif">Scrivi</font></a></p>
<table width="85%" border="5" align="center" cellpadding="10" cellspacing="0" bordercolor="#FF9900">
pagina;
//Trova il primo messaggio e assegna la variabile mex.
$mex=($pag-1)*10;
//prende dal DB i dati
$query="SELECT nick, mail, messaggio, titolo, data, ora FROM gb_messaggi WHERE ID>=$mex || ID<=($mex+9)";
$result=mysql_query($query);
//Inizia la tabella
For($n=1;
$n<=10;
$n++, $mex++){
$riga=mysql_fetch_array($result);
$pagina.=<<<pagina
<tr align="left" valign="middle">
<td align="right"><p><font size=3 face="Arial, Helvetica, sans-serif">Msg n° $mex</font></p>
<p><font size=3 face="Arial, Helvetica, sans-serif">Messaggio di: $riga[nick]<br>
E-mail: <a href=mailto:$riga[mail]>$riga[mail]</A></font></p>
<p><font size=2 face="Arial, Helvetica, sans-serif">Scritto il $riga[data] alle ore $riga[ora]</font></p></td>
<td><p><font size=3 face="Arial, Helvetica, sans-serif">Titolo: <b>$riga[titolo]</b><br><Br>
$riga[messaggio]</font></p></td>
</tr>
pagina;
}
//chiude la tabella e manda a capo
$pagina.=<<<pagina
</table>
<p align="center"> </p>
pagina;
//trova l'ultimo messaggio
$query="SELECT max(id) FROM gb_messaggi";
$result=mysql_query($query);
$tot_mex=mysql_fetch_array($result);
//calcola le pagine
$pagine=ceil($tot_mex[id]/10);
$pagina .= <<<pagina
<p align="center"><font size="4" face="Arial, Helvetica, sans-serif">Pagine:
pagina;
//aggiunge a $pagina l'elenco delle pagine e usa colori diversi per segnalare le pagina attuale
For($pag_elenco=1;
$pag_elenco<=$pagine;
$pag_elenco++){
If($pag_elenco=$pag){
IF($pag_elenco != $pagine){
$pagina.=<<<pagina
<font size="4" face="Arial, Helvetica, sans-serif" color="#ff0000"> $pag_elenco - </font>
pagina;
}
Else{
$pagina.=<<<pagina
<font size="4" face="Arial, Helvetica, sans-serif" color="#000000">$pag_elenco</font>
pagina;
}
}
Else{
IF($pag_elenco != $pagine){
$pagina.=<<<pagina
<a href="gb.php?tipo=leggi&pag=$pag_elenco">$pag_elenco - </a>
pagina;
}
Else{
$pagina.=<<<pagina
<a href="gb.php?tipo=leggi&pag=$pag_elenco">$pag_elenco</a>
pagina;
}
}
}
//chiude la pagina
$pagina.=<<<pagina
</font></p>
</body>
</html>
pagina;
//stampa il tutto
print($pagina);
}
Elseif ($_GET['tipo']==scrivi)
{
$pagina=<<<pagina
<body bgcolor="#FFCC00" text="#000000" link="#000000" vlink="#000000" alink="#000000" leftmargin="30" topmargin="30" marginwidth="30" marginheight="30">
<p align="center"><font size="5" face="Arial, Helvetica, sans-serif">Scrivi un
messaggio</font></p>
<p align="center"> </p>
<table width="50%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><div align="center">
<form name="form1" method="post" action="gb.php?tipo=manda">
<div align="right"><font color="#000000" size="3" face="Arial, Helvetica, sans-serif"><strong>E-Mail:</strong></font>
<input type="text" name="mail">
</div>
</form>
<form name="form1" method="post" action="gb.php?tipo=manda">
<div align="right"><font color="#000000" size="3" face="Arial, Helvetica, sans-serif"><strong>Nick:
</strong></font>
<input type="text" name="nick">
</div>
</form>
<form name="form1" method="post" action="gb.php?tipo=manda">
<div align="right"><font color="#000000" size="3" face="Arial, Helvetica, sans-serif"><strong>Titolo:
</strong></font>
<input type="text" name="titolo">
</div>
</form>
<form name="form2" method="post" action="gb.php?tipo=manda">
<textarea name="messaggio" cols="60" rows="20"></textarea>
</form>
<form name="form3" method="post" action="gb.php?tipo=manda">
<input type="submit" name="submit" value="Invia">
</form>
<p align="center"><font size="5" face="Arial, Helvetica, sans-serif"></font></p>
</div></td>
</tr>
</table>
<p align="center"> </p>
</body>
</html>
pagina;
print($pagina);
}
Elseif($_GET['tipo']==manda)
{
$mail=$_post[mail];
$nick=$_post[nick];
$titolo=$_post[titolo];
$messaggio=$_post[messaggio];
$time=(time());
$data_ora=getdate($time);
If($messaggio==false){
die("non puoi mandare un messaggio vuoto!!!");
}
$query = <<<query
INSERT into gb_messaggi (mail, nick, titolo, messaggio, data, ora) VALUES ($mail, $nick, $titolo, $messaggio, $data_ora[d] $data_ora[m] $data_ora[y], $data_ora[H]:$data_ora[i])
query;
$result="$quey" or die ("errore!!!");
$pagina=<<<pagina
<body bgcolor="#FFCC00" text="#000000" link="#000000" vlink="#000000" alink="#000000" leftmargin="30" topmargin="30" marginwidth="30" marginheight="30">
<p><font size=3 face="Arial, Helvetica, sans-serif"><a href=gb.php>Torna al Guestbook</a></font></p>
</body>
</html>
pagina;
print($pagina);
}
?>
Grazie mille!!!!