Ho deciso di farmi lo script mi date una mano vero?
...provo ad analizzare i requisiti (aiutandomi con questa guida: http://freephp.html.it/guide/lezioni.asp?idguida=8):
cartella root:
config.inc.php:
Codice PHP:
// parametri del database
$db_host = "localhost";
$db_user = "";
$db_password = "";
$db_name = "";
// parametri del sito
$titolo = "LINK DIRECTORY";
$desc = "la mia directory";
install.php:
Codice PHP:
<?
//connessione al database
include("config.inc.php");
$db = mysql_connect($db_host, $db_user, $db_password);
//verifica database
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
//selezione database
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
//creazione delle tabelle
$query = "CREATE TABLE links (id INT (5) UNSIGNED not null AUTO_INCREMENT, titolo VARCHAR (255) not null , descrizione TEXT not null , url VARCHAR (50) , mail VARCHAR (50) ,categoria TEXT not null , PRIMARY KEY (id))";
//verifica inserimento dati in database
if (mysql_query($query, $db))
echo "L'installazione è stata eseguita correttamente";
else
echo "Errore durante l'installazione";
mysql_close($db);
?>
top_foot.inc.php
Codice PHP:
<?
include ("config.inc.php");
function top() { ?>
<HTML>
<HEAD>
<TITLE><?=$titolo ?></TITLE>
<meta name="Description" content="<?=$desc; ?>" />
<meta name=generator content="Script di freephp.it">
</HEAD>
<BODY bgcolor=ffffff text=000000>
<font face=verdana,tahoma,arial size=-1>
<h1><?=$titolo ?></h1>
<? }
function foot() { ?>
</body></HTML>
<? } ?>
insert.php:
Codice PHP:
<?
include ("config.inc.php");
include ("top_foot.inc.php");
//intestazione
top();
?>
<form method=post action=save.php>
Titolo del Sito:
<input type=text size=40 name=titolo>
Descrizione de Sito:
<textarea cols=60 rows=40 name=descrizione></textarea>
Indirizzo del Sito:
<input type=text size=40 name=url>
E-mail:
<input type=text size=40 name=email>
Categoria:
<select name=categoria>
<?
//codice selezione categoria...non sono così bravo da arrivarci da solo...
?>
<input type=submit value=Invia> </form>
<?
// chiusura pagina
foot();
?>
save.php
Codice PHP:
<? include("top_foot.inc.php");
include("config.inc.php");
top();
//controllo i dati inseriti
elseif (trim($titolo) == "" OR trim($descrizione) == "" OR trim($url) == "" OR trim($email) == "" OR trim($categoria) == ""):
echo "Tutti i campi devono essere riempiti!";
//mi connetto al database
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
//inserisco i dati inviati nel database
$query = "INSERT INTO links (titolo, descrizione, url, mail, categoria) VALUES ('$titolo', '$descrizione', '$url', '$mail', '$categoria')";
//E' possibile inserire nel database un campo data in automatico, mediante un comando php che rileva la data automaticamente??
//restituisco il messaggio di avvenuto inserimento nel database
if (mysql_query($query, $db))
echo "Il link è stato inserito correttamente";
else
echo "Erorre durante l'inserimento";
mysql_close($db); endif;
foot();
?>
index.php:
Codice PHP:
//File di homepage dove verranno visualizzate le categorie della directory
<?
include("top_foot.inc.php");
include("config.inc.php");
top();
//mi connetto al database
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
//seleziono gli ultimi articoli inviati (sarebbe meglio inserire una query che ricavi per esempio gli ultimi 5 link inseriti
$query = "SELECT id,titolo,url,data FROM links ORDER BY data DESC LIMIT 0,5";
//il campo data è il campo che il php mi inserisce automaticamente durante l'inserimento del link...ma non so come fare...
$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result))
{ echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row[data]) . " - $row[titolo]</a>
"; }
mysql_close($db); foot();
//ora servirebbe il codice per mostrare le categrie e sottocategorie
.............................
.............................
.............................
?>
view.php
Codice PHP:
<? include("top_foot.inc.php"); include("config.inc.php"); top();
//connessione al database
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
//ricavo i dati dal database
query = "SELECT titolo,descrizione,data,url,mail FROM links WHERE id='$id'";
$result = mysql_query($query, $db);
$row = mysql_fetch_array($result);
$data = date("j/n/y", $row[data]);
echo "[b]$row[titolo][/b]
";
echo "$row[descrizione]
";
if ($row[mail] != "") echo "$data, <a href=mailto:$row[mail]>$row[mail]</a>
"; else echo "$data, $row[url]
";
//aggiungo un link che rimandi alla home
echo "
<a href=index.php>Torna alla pagina iniziale</a>
";
//chiudo la connessione al database einserisco il footer della pagina
mysql_close($db);
foot();
?>
Successivamente inseriremo un motore interno al sito per ricercare i link
categorie.php:
Questo file mi visualizzerà i link appartenenti alla prima categoria madre e le relative sotto-categorie
link.php:
Questo file visualizzerà la scheda dettagliata del link, permettendomi di votare per il link, scrivere un commento. Conterrà inoltre il link alla risorsa recensita e un contatore di click esterni
servirà anche una parte di amministrazione dello script dove creare le categorie e sottocategorie, approvare, modificare e cancellare i link inviati dagli utenti, e un'ulteriore tool per inviare agli utenti una mail di conferma di inserimento nel database
fin qui cosa ve ne pare? Può funzionare?
Help!