ciao Jacopo,
ho trovato il tuo tutorial su
https://www.mrw.it/tutorial/php/tutorial270.htm
riuscissi a farlo funzionare...
mi piace parecchio. mi son detto roprio quello che mi serve.
come avrai già capito però, ho alcuni problemi. e siccome non so programmare, chiedo a te.e se hai tempo e voglia...
io ti ringrazio.
beh, intanto ti mando il rodaggio del tuo forum:
http://www.alessandrozampa.altervista.org/bacheca/index.php
e ora cerco di spiegarmi al meglio:
(ah sì, premetto che
il file di installazione...
non è riuscito a creare le tre tabelle.
non so quale sia stato l'inghippo...
comunque le tabelle le ho crate a mano su freesql.org.)
-il file di configurazione....sì, mi sebra ok
-anche index.php mi sembra ok.
beh, ti posto i file...
che tu magari ti capisci meglio.
e poi mi spiego:
----------------------------
index.php
--------------------------------
<?php
# Includo il file di configurazione
require("config.php");
# Recupero i forum esistenti
$query = mysql_query("SELECT * FROM bacheca
ORDER BY titolo ASC");
# Stampo il percorso
echo "INDICE:";
# Stampo la lista di tutti i Forum
while($result = mysql_fetch_array($query))
{
echo "<li><a href=\"bacheca.php?f=$result[id]\">";
echo "$result[titolo]</a>";
}
?>
-----------------------------
bacheca.php (=è il tuo forum.php rinominato)
-------------------------------
<?php
require("config.php");
# Recupero i topics del forum
$query = @mysql_query("SELECT * FROM topics
WHERE bacheca_id = '" . $_GET[f] . "' ORDER BY data ASC");
# Recupero il titolo del forum per il percorso
$query2 = @mysql_query("SELECT titolo FROM bacheca
WHERE id = '" . $_GET[f] . "'");
# Recupero i messaggi nel topic
$query3 = @mysql_query("SELECT MAX(topic_id) FROM
thread");
$result2 = @mysql_fetch_array($query2);
$result3 = @mysql_fetch_array($query3);
# Stampo il percorso
echo "<a href=\"index.php\">TORNA ALL'INDICE:</a> >>
$result2[titolo]";
# Stampo a video tutti i topic del Forum selezionato
while($result = @mysql_fetch_array($query))
{
echo "<li><a href=\"thread.php?f=$_GET[f]&t=$result[id]\">";
echo "$result[titolo]</a>";
echo "<i>di $result[autore]</i>";
}
# Recupero il valore più alto di topic_id e lo incremento di uno
# per creare il link nuovo topic
$topic_id = $result3['topic_id']+1;
echo "<p><a href=\"new.php?f=$_GET[f]&t=$topic_id\">";
echo "Nuovo topic</a>";
?>
---------------------------------
thread.php
-------------------------------
<?php
require("config.php");
# Recupero i topics del forum
$query = @mysql_query("SELECT * FROM topics
WHERE bacheca_id = '" . $_GET[f] . "' ORDER BY data ASC");
# Recupero il titolo del forum per il percorso
$query2 = @mysql_query("SELECT titolo FROM bacheca
WHERE id = '" . $_GET[f] . "'");
# Recupero i messaggi nel topic
$query3 = @mysql_query("SELECT MAX(topic_id) FROM
thread");
$result2 = @mysql_fetch_array($query2);
$result3 = @mysql_fetch_array($query3);
# Stampo il percorso
echo "<a href=\"index.php\">TORNA ALL'INDICE:</a> >>
$result2[titolo]";
# Stampo a video tutti i topic del Forum selezionato
while($result = @mysql_fetch_array($query))
{
echo "<li><a href=\"thread.php?f=$_GET[f]&t=$result[id]\">";
echo "$result[titolo]</a>";
echo "<i>di $result[autore]</i>";
}
# Recupero il valore più alto di topic_id e lo incremento di uno
# per creare il link nuovo topic
$topic_id = $result3['topic_id']+1;
echo "<p><a href=\"new.php?f=$_GET[f]&t=$topic_id\">";
echo "Nuovo topic</a>";
?>
----------------------------------
new.php
-----------------------------------
<?php
require("config.php");
# Recupero il titolo del forum dal DB
$query2 = @mysql_query("SELECT * FROM bacheca
WHERE id = '" . $_GET[f] . "'");
$result2 = @mysql_fetch_array($query2);
# Stampo il percorso
echo "<a href=\"index.php\">TORNA ALL'INDICE:</a> >>";
echo "<a href=\"bacheca.php?f=$_GET[f]\">";
echo "$result2[titolo]</a> >> Nuovo topic";
# Se il valore di cmd è false stampo il form a video
if ($_POST['cmd'] == FALSE)
{
echo "<form action=\"$REQUEST_URI\" method=\"post\">\n";
echo "<strong>Titolo</strong>:<br>\n";
echo "<input type=\"text\" name=\"titolo\"><br><br>\n\n";
echo "<strong>Nome (o nick)</strong>:<br>\n";
echo "<input type=\"text\" name=\"autore\"><br><br>\n\n";
// echo "<strong>Messaggio</strong>:<br>\n";
// echo "<textarea name=\"testo\" cols=\"50\" rows=\"5\">";
// echo "</textarea><br><br>\n\n";
echo "<input type=\"hidden\" name=\"cmd\" value=\"add\">\n";
echo "<input type=\"submit\" value=\"Crea\">\n";
echo "</form>\n";
}
# Se cmd è diverso da false...
else
{
# Verifico che tutti i campi necessari siano stati compilati
if ($_POST['titolo'] == FALSE OR $_POST['autore'] == FALSE)
// OR $_POST[testo] == FALSE)
{
echo "<p>Tutti i campi sono obbligatori.";
}
# Se il controllo è ok salvo tutto nel DB
else
{
$_POST['testo'] = str_replace("\n", "<br>", $_POST['testo']);
mysql_query("INSERT INTO topics
VALUES ('',
'" . $_GET['f'] . "',
'" . date("d/m/Y") . "',
'" . $_POST['autore'] . "',
'" . $_POST['titolo'] . "')");
mysql_query("INSERT INTO thread
VALUES ('',
'" . $_GET['t'] . "',
'" . date("d/m/Y") . "',
'" . $_POST['autore'] . "',
'" . $_POST['titolo'] . "',
'" . $_POST['testo'] . "')");
echo "<p>Il tuo topic è stato inviato con successo.";
}
}
?>
-----------------------------------------
reply.php
-----------------------
<?php
require("config.php");
# Recupero il titolo del forum
$query2 = mysql_query("SELECT titolo FROM bacheca
WHERE id = '" . $_GET['f'] . "'");
# Recupero il titolo del topic
$query3 = mysql_query("SELECT titolo FROM topics
WHERE bacheca_id = '" . $_GET['f'] . "'");
$result2 = mysql_fetch_array($query2);
$result3 = mysql_fetch_array($query3);
# Stampo il percorso
echo "<a href=\"index.php\">TORNA ALL'INDICE:</a> >>";
echo "<a href=\"bacheca.php?f=$_GET[f]\">$result2[titolo]</a> >>";
echo "<a href=\"thread.php?f=$_GET[f]&t=$_GET[t]\">";
echo "$result3[titolo]</a> >> Scrivi\Rispondi";
# Se il valore di cmd è false stampo il form a video
if ($_POST['cmd'] == FALSE)
{
echo "<form action=\"$REQUEST_URI\" method=\"post\">\n";
// echo "<strong>Titolo</strong>: (facoltativo)<br>\n";
// echo "<input type=\"text\" name=\"titolo\"><br><br>\n\n";
echo "<strong>Nome (o nick)</strong>:<br>\n";
echo "<input type=\"text\" name=\"autore\"><br><br>\n\n";
echo "<strong>Messaggio</strong>:<br>\n";
echo "<textarea name=\"testo\" cols=\"50\" rows=\"5\">";
echo "</textarea><br><br>\n\n";
echo "<input type=\"hidden\" name=\"cmd\" value=\"add\">\n";
echo "<input type=\"submit\" value=\"invia\">\n";
echo "</form>\n";
}
# Se cmd è diverso da false...
else
{
# Verifico che tutti i campi necessari siano stati compilati
if ($_POST['autore'] == FALSE OR $_POST['testo'] == FALSE)
{
echo "<p>Nome e messaggio sono obbligatori.";
}
# Se il controllo è ok salvo tutto nel DB
else
{
$_POST['testo'] = str_replace("\n", "<br>", $_POST['testo']);
mysql_query("INSERT INTO thread
VALUES ('',
'" . $_GET['t'] . "',
'" . date("d/m/Y") . "',
'" . $_POST['autore'] . "',
'" . $_POST['titolo'] . "',
'" . $_POST['testo'] . "')");
echo "<p>Il tuo messaggio è stato inviato con successo.";
}
}
?>
----------------------------------------
bene:
ho creato due forum d'esempio:
giochiamo
(per mettersi d'accordo con gli amici quando trovarsi)
crash
(un film)
ora,
vado all'indirizzo:
http://www.alessandrozampa.altervista.org/bacheca/index.php
fin qua tutto ok
clicco su
crash;
mi collega a:
http://www.alessandrozampa.altervista.org/bacheca/bacheca.php?f=2
problema1
in questa pagina esce l'errore:
Notice: Undefined index: topic_id in /membri/alessandrozampa/bacheca/bacheca.php on line 33
vorrei farlo sparire.
(in altre pagine, ho lo stesso problemino)
problema2
clicco su nuovo topic e lo creo:
la form, presenta uno spazio da compilare:
MESSAGGIO.
clicco su crea,
il topic efettivamente si crea...
ma il mio messaggio d'introduzione, dov'è finito?
problema3
se guardi, ho creato un altro topic sotto crash:
ho quindi i due topic:
-personaggi
-ti è piaciuto il film?
ora:
se clicco su "personaggi"...
leggi il percorso TORNA ALL'INDICE:>>crash>>personaggi
che è giusto.
se invece clicco su "ti è piaciuto il film?"
leggi sempre il percorso TORNA ALL'INDICE:>>crash>>personaggi
che è sbagliato.
(dipende questo problema dal database?forse non implementa qualche indice?)
beh, intanto questo...
che già chissà se avrai la pazienza di legger tutto.
ciao Jacopo, ti invidio che sai programmare.
ah sì, se vuoi fare delle prove sul forum per capirti...
fai pure.il forum non è in linea.cioè, lo è ma non ha collegamnti se non da qua.ciao e grazie
:dipser: :byebye:
ho trovato il tuo tutorial su
https://www.mrw.it/tutorial/php/tutorial270.htm
riuscissi a farlo funzionare...
mi piace parecchio. mi son detto
come avrai già capito però, ho alcuni problemi. e siccome non so programmare, chiedo a te.e se hai tempo e voglia...
io ti ringrazio.
beh, intanto ti mando il rodaggio del tuo forum:
http://www.alessandrozampa.altervista.org/bacheca/index.php
e ora cerco di spiegarmi al meglio:
(ah sì, premetto che
il file di installazione...
non è riuscito a creare le tre tabelle.
non so quale sia stato l'inghippo...
comunque le tabelle le ho crate a mano su freesql.org.)
-il file di configurazione....sì, mi sebra ok
-anche index.php mi sembra ok.
beh, ti posto i file...
che tu magari ti capisci meglio.
e poi mi spiego:
----------------------------
index.php
--------------------------------
<?php
# Includo il file di configurazione
require("config.php");
# Recupero i forum esistenti
$query = mysql_query("SELECT * FROM bacheca
ORDER BY titolo ASC");
# Stampo il percorso
echo "INDICE:";
# Stampo la lista di tutti i Forum
while($result = mysql_fetch_array($query))
{
echo "<li><a href=\"bacheca.php?f=$result[id]\">";
echo "$result[titolo]</a>";
}
?>
-----------------------------
bacheca.php (=è il tuo forum.php rinominato)
-------------------------------
<?php
require("config.php");
# Recupero i topics del forum
$query = @mysql_query("SELECT * FROM topics
WHERE bacheca_id = '" . $_GET[f] . "' ORDER BY data ASC");
# Recupero il titolo del forum per il percorso
$query2 = @mysql_query("SELECT titolo FROM bacheca
WHERE id = '" . $_GET[f] . "'");
# Recupero i messaggi nel topic
$query3 = @mysql_query("SELECT MAX(topic_id) FROM
thread");
$result2 = @mysql_fetch_array($query2);
$result3 = @mysql_fetch_array($query3);
# Stampo il percorso
echo "<a href=\"index.php\">TORNA ALL'INDICE:</a> >>
$result2[titolo]";
# Stampo a video tutti i topic del Forum selezionato
while($result = @mysql_fetch_array($query))
{
echo "<li><a href=\"thread.php?f=$_GET[f]&t=$result[id]\">";
echo "$result[titolo]</a>";
echo "<i>di $result[autore]</i>";
}
# Recupero il valore più alto di topic_id e lo incremento di uno
# per creare il link nuovo topic
$topic_id = $result3['topic_id']+1;
echo "<p><a href=\"new.php?f=$_GET[f]&t=$topic_id\">";
echo "Nuovo topic</a>";
?>
---------------------------------
thread.php
-------------------------------
<?php
require("config.php");
# Recupero i topics del forum
$query = @mysql_query("SELECT * FROM topics
WHERE bacheca_id = '" . $_GET[f] . "' ORDER BY data ASC");
# Recupero il titolo del forum per il percorso
$query2 = @mysql_query("SELECT titolo FROM bacheca
WHERE id = '" . $_GET[f] . "'");
# Recupero i messaggi nel topic
$query3 = @mysql_query("SELECT MAX(topic_id) FROM
thread");
$result2 = @mysql_fetch_array($query2);
$result3 = @mysql_fetch_array($query3);
# Stampo il percorso
echo "<a href=\"index.php\">TORNA ALL'INDICE:</a> >>
$result2[titolo]";
# Stampo a video tutti i topic del Forum selezionato
while($result = @mysql_fetch_array($query))
{
echo "<li><a href=\"thread.php?f=$_GET[f]&t=$result[id]\">";
echo "$result[titolo]</a>";
echo "<i>di $result[autore]</i>";
}
# Recupero il valore più alto di topic_id e lo incremento di uno
# per creare il link nuovo topic
$topic_id = $result3['topic_id']+1;
echo "<p><a href=\"new.php?f=$_GET[f]&t=$topic_id\">";
echo "Nuovo topic</a>";
?>
----------------------------------
new.php
-----------------------------------
<?php
require("config.php");
# Recupero il titolo del forum dal DB
$query2 = @mysql_query("SELECT * FROM bacheca
WHERE id = '" . $_GET[f] . "'");
$result2 = @mysql_fetch_array($query2);
# Stampo il percorso
echo "<a href=\"index.php\">TORNA ALL'INDICE:</a> >>";
echo "<a href=\"bacheca.php?f=$_GET[f]\">";
echo "$result2[titolo]</a> >> Nuovo topic";
# Se il valore di cmd è false stampo il form a video
if ($_POST['cmd'] == FALSE)
{
echo "<form action=\"$REQUEST_URI\" method=\"post\">\n";
echo "<strong>Titolo</strong>:<br>\n";
echo "<input type=\"text\" name=\"titolo\"><br><br>\n\n";
echo "<strong>Nome (o nick)</strong>:<br>\n";
echo "<input type=\"text\" name=\"autore\"><br><br>\n\n";
// echo "<strong>Messaggio</strong>:<br>\n";
// echo "<textarea name=\"testo\" cols=\"50\" rows=\"5\">";
// echo "</textarea><br><br>\n\n";
echo "<input type=\"hidden\" name=\"cmd\" value=\"add\">\n";
echo "<input type=\"submit\" value=\"Crea\">\n";
echo "</form>\n";
}
# Se cmd è diverso da false...
else
{
# Verifico che tutti i campi necessari siano stati compilati
if ($_POST['titolo'] == FALSE OR $_POST['autore'] == FALSE)
// OR $_POST[testo] == FALSE)
{
echo "<p>Tutti i campi sono obbligatori.";
}
# Se il controllo è ok salvo tutto nel DB
else
{
$_POST['testo'] = str_replace("\n", "<br>", $_POST['testo']);
mysql_query("INSERT INTO topics
VALUES ('',
'" . $_GET['f'] . "',
'" . date("d/m/Y") . "',
'" . $_POST['autore'] . "',
'" . $_POST['titolo'] . "')");
mysql_query("INSERT INTO thread
VALUES ('',
'" . $_GET['t'] . "',
'" . date("d/m/Y") . "',
'" . $_POST['autore'] . "',
'" . $_POST['titolo'] . "',
'" . $_POST['testo'] . "')");
echo "<p>Il tuo topic è stato inviato con successo.";
}
}
?>
-----------------------------------------
reply.php
-----------------------
<?php
require("config.php");
# Recupero il titolo del forum
$query2 = mysql_query("SELECT titolo FROM bacheca
WHERE id = '" . $_GET['f'] . "'");
# Recupero il titolo del topic
$query3 = mysql_query("SELECT titolo FROM topics
WHERE bacheca_id = '" . $_GET['f'] . "'");
$result2 = mysql_fetch_array($query2);
$result3 = mysql_fetch_array($query3);
# Stampo il percorso
echo "<a href=\"index.php\">TORNA ALL'INDICE:</a> >>";
echo "<a href=\"bacheca.php?f=$_GET[f]\">$result2[titolo]</a> >>";
echo "<a href=\"thread.php?f=$_GET[f]&t=$_GET[t]\">";
echo "$result3[titolo]</a> >> Scrivi\Rispondi";
# Se il valore di cmd è false stampo il form a video
if ($_POST['cmd'] == FALSE)
{
echo "<form action=\"$REQUEST_URI\" method=\"post\">\n";
// echo "<strong>Titolo</strong>: (facoltativo)<br>\n";
// echo "<input type=\"text\" name=\"titolo\"><br><br>\n\n";
echo "<strong>Nome (o nick)</strong>:<br>\n";
echo "<input type=\"text\" name=\"autore\"><br><br>\n\n";
echo "<strong>Messaggio</strong>:<br>\n";
echo "<textarea name=\"testo\" cols=\"50\" rows=\"5\">";
echo "</textarea><br><br>\n\n";
echo "<input type=\"hidden\" name=\"cmd\" value=\"add\">\n";
echo "<input type=\"submit\" value=\"invia\">\n";
echo "</form>\n";
}
# Se cmd è diverso da false...
else
{
# Verifico che tutti i campi necessari siano stati compilati
if ($_POST['autore'] == FALSE OR $_POST['testo'] == FALSE)
{
echo "<p>Nome e messaggio sono obbligatori.";
}
# Se il controllo è ok salvo tutto nel DB
else
{
$_POST['testo'] = str_replace("\n", "<br>", $_POST['testo']);
mysql_query("INSERT INTO thread
VALUES ('',
'" . $_GET['t'] . "',
'" . date("d/m/Y") . "',
'" . $_POST['autore'] . "',
'" . $_POST['titolo'] . "',
'" . $_POST['testo'] . "')");
echo "<p>Il tuo messaggio è stato inviato con successo.";
}
}
?>
----------------------------------------
bene:
ho creato due forum d'esempio:
giochiamo
(per mettersi d'accordo con gli amici quando trovarsi)
crash
(un film)
ora,
vado all'indirizzo:
http://www.alessandrozampa.altervista.org/bacheca/index.php
fin qua tutto ok
clicco su
crash;
mi collega a:
http://www.alessandrozampa.altervista.org/bacheca/bacheca.php?f=2
problema1
in questa pagina esce l'errore:
Notice: Undefined index: topic_id in /membri/alessandrozampa/bacheca/bacheca.php on line 33
vorrei farlo sparire.
(in altre pagine, ho lo stesso problemino)
problema2
clicco su nuovo topic e lo creo:
la form, presenta uno spazio da compilare:
MESSAGGIO.
clicco su crea,
il topic efettivamente si crea...
ma il mio messaggio d'introduzione, dov'è finito?
problema3
se guardi, ho creato un altro topic sotto crash:
ho quindi i due topic:
-personaggi
-ti è piaciuto il film?
ora:
se clicco su "personaggi"...
leggi il percorso TORNA ALL'INDICE:>>crash>>personaggi
che è giusto.
se invece clicco su "ti è piaciuto il film?"
leggi sempre il percorso TORNA ALL'INDICE:>>crash>>personaggi
che è sbagliato.
(dipende questo problema dal database?forse non implementa qualche indice?)
beh, intanto questo...
che già chissà se avrai la pazienza di legger tutto.
ciao Jacopo, ti invidio che sai programmare.
ah sì, se vuoi fare delle prove sul forum per capirti...
fai pure.il forum non è in linea.cioè, lo è ma non ha collegamnti se non da qua.ciao e grazie
:dipser: :byebye: