Un saluto a tutto il forum.
Premesso che sto ancora imparando nonostante è già molto tempo che mi do da fare con il php, non riesco mai a capire quali siano i metodi giusti e quelli sbagliati anche per questo mi sono deciso a parlanre sul forum. Mi spiego meglio:
Sto seguendo un tutorial che mi permetta di inserire delle informazione mediante un form nel file insert.php che passa i valori immessi mediante method post nel file save.php e, dopo verifica della passord e del corretto inserimento di valori, li va ad inserire nel database mysql.
Per cui ho un file chiamato top_foot_inc.php nel quale sono inserite due funzioni dichiarate nel seguente modo:
Codice:
<?function top(){ ?>
//seguito da
<html><head>titolo</head>
blablabla blablabla
<? }
function foot () { ?>
</body>
</html>
<? } ? >
Bene a questo punto, stando a quanto scritto dal tutorial, mi basta includere il file con il quale ho creato la funzione, ovvero include (“top_foo.inc.php”); e richiamare all’occorrenza top(); e foot();
E invece no, nel file insert.php, quando premoinvia per passare i dati a save.php, nada, non funziona, mi continua a dare sempre lo stesso errore:
Fatal error. Cannot redeclare top() (previously in c:\blablabla\www\app\top_foot.inc.php:9) in c:\blablabla\www\app\top_foot.inc.php on line 1
Se invece nel file save.php richiamo top() e foot()senza usare include, allora lo script funziona. Mentre, al contrario, in insert.php devo perforza includere top_foot.inc.php altrimenti genera errore.
Sempre nello stesso tutorial c’è scritto di utilizzare il seguente codice per recuperare i dati per poi inserirli nel database:
Codice:
<? include(“top_foot.inc.php”);
include (“config.inc.php”);
top();
if ($pass !=$password); //la variabile $password è memorizzata nel file config.inc.php
echo “password errata;
elseif (trim($titolo)== “” OR trim($testo)==””);
echo I campi Titoli e Testo devono essere riempiti!”;
else:
$titolo = addslashes(stripslashes($titolo));
//Etc, etc
//Poi ancora
If (mysql_query($query, $db))
Echo “l’articolo è stato inserito correttamente”;
else
echo “Errore durante l’inserimento”;
mysql_close($db);
endif;
foot();
?>
Anche sta volta non funziona nulla, ho dovuto modificare il codice inserendo le parentesi graffe { } ed eliminare endif e qualcos’altro.
Insomma io mi chiedo come diavolo posso imparare se ci sono delle discrepanze fra quello che viene detto o scritto e quello che realmente accade durante l’esecuzione?
Esiste un tutorial che spiega bene bene tutte le fasi dello script con relativa sintassi?
Scusate la lungaggine del post, ma era necessario anche perché così mi sono sfogato.
Grazie per l'attenzione