Salve a tutti; stavo realizzando il tutorial dedicato alla guida pratica PHP/MYSQL di HTML, ma sono rimasto bloccato in questa parte:
Ho realizzato due pagine, una per l'inserimento dell'articolo nel Database, e una per il salvataggio dei dati sul Database: ecco le due Pagine:
insert.php
<?
include ("config.inc.php");
include ("top_foot.inc.php");
//intestazione
top();
?>
<form method=post action=save.php>
Titolo:
<input type=text size=40 name="titolo">
Data:
<select name=giorno>
<?
for ($i=1; $i<=31; $i++)
echo "<option value=$i>$i";
?>
</select>
<select name=mese>
<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=anno>
<option value=2001>2001
<option value=2002>2002
<option value=2003>2003
<option value=2004>2004
<option value=2005>2005
</select>
Autore:
<input type=text size=40 name=autore>
E-mail:
<input type=text size=40 name=mail>
Testo:
<textarea cols=60 rows=40 name="testo"></textarea>
Password:
<input type=password size=40 name=pass>
<input type=submit value=Invia> </form>
<?
// chiusura pagina
foot();
?>
quest invece č la pagina deicata al salvataggio:
save.php
<? include("top_foot.inc.php");
include("config.inc.php");
top();
if ($pass != $password):
echo "Password errata";
elseif (trim($titolo) == "" OR trim($testo) == ""):
echo "I campi Titolo e Testo devono essere riempiti!";
else:
$titolo = addslashes(stripslashes($titolo));
$autore = addslashes(stripslashes($autore));
$mail = addslashes(stripslashes($mail));
$testo = addslashes(stripslashes($testo));
$titolo = str_replace("<", "<", $titolo);
$titolo = str_replace(">", ">", $titolo);
$autore = str_replace("<", "<", $autore);
$autore = str_replace(">", ">", $autore);
$testo = str_replace("<", "<", $testo);
$testo = str_replace(">", ">", $testo);
$testo = nl2br($testo);
$data = mktime("0", "0", "0", $mese, $giorno, $anno);
$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");
$query = "INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('$titolo', '$testo', '$data', '$autore', '$mail')";
if (mysql_query($query, $db))
echo "L'articolo č stato inserito correttamente";
else
echo "Errore durante l'inserimento";
mysql_close($db); endif;
foot();
?>
quando riempio la pagina insert.php e clicco su invia mi da sempre lo stesso errore ovvero:
I campi Titolo e Testo devono essere riempiti!
Non capisco se il problema sorge dal fatto che il passaggio delle variabili non česatto o da qualcos'altro...
Spero nella vostro aiuto.
Grazie a tutti