In rif. alla guida di Francesco Bonetto, sono bloccato in un punto.
ho creato la mia pagina insert_news.php dove si inseriscono i dati della news
codice:
<?
include ("top_foot.inc.php");
include("config.inc.php");
//intestazione
top();
?>
<div id="body">
<div id="navigaton_body">
<div id="body_navigation_top">[img]images/navigation_top.gif[/img]</div>
<div id="navigation_body_center">
<div align="center">Menu:</div>
<div id="navigation_body_links" align="center">
<div>Add</div>
<div>Modify</div>
<div>Delete</div>
</div>
</div>
<div id="navigation_body_bottom">[img]images/navigation_bottom.gif[/img]</div>
</div>
<div id="content">
<div id="content_header">News Manager</div>
<div id="news_manager">
<form method=post action=save_news.php>
Titolo:
<input type=text size=40 name=title>
Categoria:
<select name=category>
<option value=1>Web
<option value=2>Events
<option value=3>Diary
<option value=4>Friends
<option value=5>Reviews
</select>
Data:
<select name=day>
<?
for ($i=1; $i<=31; $i++)
echo "<option value=$i>$i";
?>
</select>
<select name=month>
<option value=1>Gennaio
<option value=2>Febbraio
<option value=3>Marzo
<option value=4>Aprile
<option value=5>Maggio
<option value=6>Giugno
<option value=7>Luglio
<option value=8>Agosto
<option value=9>Settembre
<option value=10>Ottobre
<option value=11>Novembre
<option value=12>Dicembre
</select>
<select name=year>
<option value=2001>2001
<option value=2002>2002
<option value=2003>2003
<option value=2004>2004
<option value=2005>2005
<option value=2006>2006
</select>
Autore:
<input type=text size=40 name=author>
E-mail:
<input type=text size=40 name=email>
Sito Web:
<input type=text size=40 name=homepage>
Testo:
<textarea cols=55 rows=10 name=text></textarea>
Password:
<input type=password size=40 name=pass>
<input type=submit value=Invia> </form>
</div>
</div>
<?
// chiusura pagina
foot_html();
?>
come noterete ho modificato i nomi dei campi in inglese e aggiunto il campo categoria e homepage.
Pongo qui sotto il codice del file save_news.php che inserirà le informazioni nel database:
codice:
<? include("top_foot.inc.php");
include("config.inc.php");
top();
?>
<div id="body">
<div id="navigaton_body">
<div id="body_navigation_top">[img]images/navigation_top.gif[/img]</div>
<div id="navigation_body_center">
<div align="center">Menu:</div>
<div id="navigation_body_links" align="center">
<div>Add</div>
<div>Modify</div>
<div>Delete</div>
</div>
</div>
<div id="navigation_body_bottom">[img]images/navigation_bottom.gif[/img]</div>
</div>
<div id="content">
<div id="content_header">News Manager</div>
<div id="news_manager">
<?
// controllo password
if ($password != $pass):
echo "Password errata";
// controllo che i campi titolo e testo non siano NULL
elseif (trim($title) == "" OR trim($text) == ""):
echo "I campi Titolo e Testo devono essere riempiti!";
// formattazione del testo
else:
$title = addslashes(stripslashes($title));
$author = addslashes(stripslashes($author));
$mail = addslashes(stripslashes($mail));
$homepage = addslashes(stripslashes($homepagel));
$text = addslashes(stripslashes($text));
$title = str_replace("<", "<", $title);
$title = str_replace(">", ">", $title);
$author = str_replace("<", "<", $author);
$author = str_replace(">", ">", $author);
$text = str_replace("<", "<", $text);
$text = str_replace(">", ">", $text);
$text = nl2br($testo);
// preparo la data
$data = mktime("0", "0", "0", $month, $day, $year);
// mi connetto al db
$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");
// eseguo una query sul db
$query = "INSERT INTO news (title, text, date, author, mail, homepage, category) VALUES ('$title', '$testo', '$date', '$author', '$mail', '$homepage', '$category')";
// controllo che l'inserimento sia avvenuto correttamente
if (mysql_query($query, $db))
echo "L'articolo è stato inserito correttamente";
else
echo "Errore durante l'inserimento";
mysql_close($db);
endif;
?>
</div>
</div>
<?
// chiusura pagina
foot_html();
?>
Il problema è che a questo punto se testo la pagina mi da l'errore di password errata! Ho provato a togliere la linea di codice di controllo password, ma mi dava l'errore che i campi del titolo e del testo sono vuoti! Sono arrivato alla conclusione i dati della pagina insert_news.php non vengono "passati" alla pagina save_news.php.
Ho controllato il codice e dovrebbe essere a posto, ma non riesco a uscirne!
Ringrazio in anticipo per un aiuto...
skaletz