creare un forum con php di JacopoNuzzi

dinosauro

Nuovo Utente
4 Giu 2005
2
0
0
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:proprio 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:
 

dinosauro

Nuovo Utente
4 Giu 2005
2
0
0
volendo, potete chiudere questo topic, grazie.

mi sembra di aver combinato.
--------------
thread
----------------
<?php
require("config.php");

$query = mysql_query("SELECT * FROM thread
WHERE topic_id = '" . $_GET[t] . "' ORDER BY data ASC");
$query2 = mysql_query("SELECT * FROM bacheca WHERE id = '" . $_GET[f] . "'");
$query3 = mysql_query("SELECT * FROM topics WHERE id = '" . $_GET[t] . "'");
$result2 = mysql_fetch_array($query2);
$result3 = mysql_fetch_array($query3);
echo "<a href=\"index.php\">INDICE GENERALE:</a> &raquo;";
echo "<a href=\"bacheca.php?f=$_GET[f]\">$result2[titolo]</a> &raquo; $result3[titolo]";
while($result = mysql_fetch_array($query))
{
echo "<hr><div style=\"display: block\"><strong>$result[titolo]</strong>\n";
echo "<i>di $result[autore]</i><br>$result[testo]</div>\n";
}
echo "<hr><p><a href=\"reply.php?f=$_GET[f]&t=$_GET[t]\">Rispondi</a>";
?>
---------------------------------------
ora mi pare funzioni.
per loggarsi a questo forum...
con l'explorer funziona, con firefox-mozilla, ancora no.
ma già lo sapete...
http://forum.mrwebmaster.it/showthread.php?t=5135
:byebye:
 
Discussioni simili
Autore Titolo Forum Risposte Data
D problema con tutorial "Creare un forum con PHP" PHP 11
C Creare un forum con inserimento foto del tipo jpeg e gif PHP 11
R Come si fa a creare forum o guest book con Dreamweaver? Webdesign e Grafica 9
T vBulletin 3.8.x E' possibile creare una nuova pagina in PHP nel forum? VBulletin 0
G Come creare un forum? phpBB 4
N Creare un forum acquistando un dominio Domini 1
A Creare forum da solo ASP.NET 2
E creare un forum senza sapere nulla di programmazione Hosting 1
A Creare un forum in php PHP 32
S Creare una community ed un forum in php PHP 9
I Creare un Forum universitario PHP 5
A cms per creare un forum? Content Management System (CMS) 9
V cm creare un semplicissimo forum cn publisher??aiutoo!spiegate passo passo PHP 2
S aiuto come creare forum PHP 7
M Creare forum PHP 2
T Creare Aree Riservate solo ad alcuni gruppi o utenti nel forum PHP 1
NoBody creare un forum PHP 0
JACK1971 Creare un Forum in PHP PHP 2
M Come creare forum e iscrizioni PHP 2
F come creare un forum HTML e CSS 2
F Creare elementi html con javascript Javascript 2
Shyson Modificare codice e creare link PHP 0
Cosina Creare bottone delete in form upload PHP 4
Cosina Creare bottone delete in form upload PHP 1
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
L Creare una forma geometrica Photoshop 1
M [Cerco] aiutanti per creare sito Offerte e Richieste di Lavoro e/o Collaborazione 4
S Libreria PHP per creare file dwg o dxf PHP 0
R Come creare sistema Add to homescreen PHP 3
L Creare un countdown con giorno specifico della settimana PHP 3
W Creare link di una dato Classic ASP 0
W creare file .jar Java 2
M Creare con il Vb 2010 Il Classico Notes di Windows Vista Visual Basic 1
MarcoGrazia Creare una password Snippet Javascript 0
J creare pagina php di prenotazione PHP 5
A Creare un modulo di ricerca avanzata con dreamweaver HTML e CSS 0
INTEROPERABILITY Sviluppatrice/formatrice creare APP Offerte e Richieste di Lavoro e/o Collaborazione 0
L Creare una pagina pre-home WordPress 1
G Creare side-bar non visibile da dispositivi mobile HTML e CSS 0
L creare oggetti da una classe tramite un form Javascript 0
Web93 CREARE SITO WEB COMICS CON WORDPRESS WordPress 0
maxnegri Contare sessioni aperte e creare condizione PHP 1
A Come creare pulsante donazione PayPal HTML e CSS 5
L [CERCO] Creare blog su WordPress con tema Divi Offerte e Richieste di Lavoro e/o Collaborazione 3
F Creare un set di date a seconda del frazionamento scelto da inserire in MySQL PHP 6
R [Photoshop] Creare Azione Photoshop 1
F [PHP] creare tabella e tasto cerca PHP 3
A Creare con Javascript un percorso all'interno di uno spazio Javascript 0
B [PHP] Creare PDF dopo inserimento dati form PHP 4
A [HTML] Creare sito web per eLearnig HTML e CSS 2

Discussioni simili