problema con tutorial "Creare un forum con PHP"

DadaUmpa

Nuovo Utente
21 Ott 2010
7
0
0
Salve a tutti.

Stavo studiando il vostro tutorial "Creare un forum con PHP". Sono riuscita a fare tutto però non riesco recuperare i titoli del forum sulla query forum_lite_main.
Sul database è tutto apposto, fatto sta che le altre query funzionano, ma questa non vuole proprio ricevere i dati. Il problema credo che sia nel file new.php nelle prime righe ve lo giro:

<?php
require("config.php");

# Recupero il titolo del forum dal DB
$query2 = @mysql_query("SELECT * FROM forum_lite_main
WHERE id = '" . $_GET[f] . "'");
$result2 = @mysql_fetch_array($query2);

# Stampo il percorso
echo "<a href=\"index.php\">Main</a> »";
echo "<a href=\"forum.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 forum_lite_topics
VALUES ('',
'" . $_GET[f] . "',
'" . date("d/m/Y") . "',
'" . $_POST[autore] . "',
'" . $_POST[titolo] . "')");

mysql_query("INSERT INTO forum_lite_thread
VALUES ('',
'" . $_GET[t] . "',
'" . date("d/m/Y") . "',
'" . $_POST[autore] . "',
'" . $_POST[titolo] . "',
'" . $_POST[testo] . "')");

echo "<p>Il tuo topic è stato inviato con successo.";

}
}
?>

Visto che mi sto affacciando ora al codice PHP, vorrei un'aiuto da voi per sapere quel'è l'errore e capire :)

Vi ringrazio
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
se correggi così:
PHP:
$query2 = mysql_query("SELECT * FROM forum_lite_main
WHERE id = '" . $_GET[f] . "'") or die (mysql_error());
Visualizzi qualche errore?
 

DadaUmpa

Nuovo Utente
21 Ott 2010
7
0
0
ti ringrazio per la risposta !

Ho provato ad aggiungere quel pezzo di codice che mi hai scritto, ma non mi da nessun errore.. sul data base ho anche altre tabelle e quelle funzionano tutte alla perfezione. Ho provato anche a cambiare il nome forum_lite_main con il nome di una tabella funzionante e di fatti funziona, ma la tabella forum_lite_main, proprio non ne vuol sapere di ricevere dati :hammer:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
due cose:
1. dici "ricevere dati" intendi leggere o scrivere?, perche se è leggere va bene SELECT..., altrimenti devi usare INSERT....
2. metti prima della query un bel var_dump
PHP:
var_dump($_GET[f]);
e vedi cosa ti restituisce, oppure dividi la query
$query2 = @mysql_query("SELECT * FROM forum_lite_main
WHERE id = '" . $_GET[f] . "'");
così
PHP:
$q2 = "SELECT * FROM forum_lite_main
WHERE id = '" . $_GET[f] . "'";
//metti il var dump
var_dump($q2);
//e poi interroghi
$query2=mysql_query($q2);
e guarda cosa risulta

dimenticavo: mentre fai tutte le prove togli i silent @
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
scusa, quale dei var_dump hai utilizzato?
sembrerebbe che tu abbia messo il var_dump direttamente sull'interrogazione al db e che fosse false si era capito, dovresti fare gli altri per capire dove è l'errore
 

DadaUmpa

Nuovo Utente
21 Ott 2010
7
0
0
scusami, macome ho detto sono alle prime armi :)

cmq su tutti i file php mi da questa rispodta resource(3) of type (mysql result)
tranne su uno che mi scrive resource(4) of type (mysql result)....
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
era proprio come intendevo io, hai messo il vardump direttamente sull'interrogazione, quindi non si riesce a capire da dive deriva l'errore.
dovresti modificare il codice in questa maniera

PHP:
<?php
require("config.php");
//vardump 1
var_dump($_GET[f]);//vedo se viene trasmesso il get
//divido la query
$q="SELECT * FROM forum_lite_main
WHERE id = '" . $_GET[f] . "'";
//vardump 2
var_dump($q2);//vedi come ti risulta la query
/*
se non hai l'errore sul get e questo ha il valore ad es. 336
dovresti vedere a monitor la seguente scritta
string(44) "SELECT * FROM forum_lite_main WHERE id='336'"
*/

/* questa parte la commenti tutta perchè hai diviso la query
$query2 = @mysql_query("SELECT * FROM forum_lite_main
WHERE id = '" . $_GET[f] . "'");
*/
//e riscrivi così la query
$query2 = @mysql_query($q2);
//vardump 3
var_dump($query2);//bool false se non fa la query, altrimenti resuorce ecc...
$result2 = @mysql_fetch_array($query2);
//vardump 4
var_dump($result2);//come per il vardump precedente

# Stampo il percorso
echo "<a href=\"index.php\">Main</a> »";
echo "<a href=\"forum.php?f=$_GET[f]\">";
echo "$result2[titolo]</a> » Nuovo topic";
//ecc...ecc...ecc...
?>
in questa maniera si dovrebbe capire dove sta questo rognoso di errore

p.s.
anche se funziona lo stesso scrivi gli array globali o no nella sintassi canonica, anche se nel tut sono scritti in modo diverso
$_GET['f']
oppure
$_GET["f"]
cioè con gli apici
 

DadaUmpa

Nuovo Utente
21 Ott 2010
7
0
0
ti ringrazio per la pazienza ed eseguo subito.. però controllando questo codice
<?php
# Includo il file di configurazione
require("config.php");

# Creo le tabelle del DB
mysql_query("CREATE TABLE 'forum_lite_main' (
'id' INT( 11 ) NOT NULL AUTO_INCREMENT ,
'titolo' VARCHAR( 255 ) NOT NULL ,
INDEX ( 'id' )
);");
mysql_query("CREATE TABLE 'forum_lite_topics' (
'id' INT( 11 ) NOT NULL AUTO_INCREMENT ,
'forum_id' VARCHAR( 255 ) NOT NULL ,
'data' VARCHAR( 255 ) NOT NULL ,
'autore' VARCHAR( 255 ) NOT NULL ,
'titolo' VARCHAR( 255 ) NOT NULL ,
INDEX ( 'id' )
);");
mysql_query("CREATE TABLE 'forum_lite_thread' (
'id' INT( 11 ) NOT NULL AUTO_INCREMENT ,
'topic_id' VARCHAR( 255 ) NOT NULL ,
'data' VARCHAR( 255 ) NOT NULL ,
'autore' VARCHAR( 255 ) NOT NULL ,
'titolo' VARCHAR( 255 ) NOT NULL ,
'testo' TEXT NOT NULL ,
INDEX ( 'id' )
);");

# Creo il mio primo forum
mysql_query("INSERT INTO 'forum_lite_main' VALUES ('', 'Il forum ')");

echo "L'installazione è avvenuta con successo!<br />\n";
?>

Ho notato che nella riga "Creo il mio primo forum" non fa il suo dovere, non trasmette nulla a 'forum_lite_main'.. secondo te è giusta ? perchè non vorrei partisse tutto da li l'errore.. inatanto eseguo ciò che mi hai detto di fare.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
forse hai ragione
modificala in
PHP:
<?php
//....
mysql_query("INSERT INTO forum_lite_main(id, titolo) VALUES ('', 'Il forum ')");
//.....
?>
poi vai a vedere con mysqlmanager quello che ci trovi dentro, mal che vada scrivi la riga a mano

nell'id metti 1
e in titolo Il Forum o quello che vuoi
 

DadaUmpa

Nuovo Utente
21 Ott 2010
7
0
0
GRANDEEEEEEEEEEEEE Borgo Italia ! GRANDISSSIMOOOO! ora così va :)
non so come ringraziarti :)


GRAZIEEEE GRAZIEEEE
 
Discussioni simili
Autore Titolo Forum Risposte Data
neo996sps Problema con tutorial per ridimensionamento immagini PHP 10
neo996sps Problema con tutorial registrazione utenti PHP 1
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 1
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0
S Problema con spazi bianchi HTML e CSS 5
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
Tommy03 Problema con z-index HTML e CSS 3
M Problema inserimento parole con apostrofo nel db PHP 5
C Problema con dati meteo xml XML 1
S Problema con infrarossi videocamera IP Cam e Videosorveglianza 1
V Problema con librerie allegro5 c++ C/C++ 1
M Problema con php per calcolo costo percentuale PHP 7
S Problema con mysqli_num_rows PHP 18
grgfede Problema javascript con aruba Javascript 1
M Problema con visibility e radio button Javascript 2
Marti1! Problema con casella mail cancellata Posta Elettronica 3
L [PHP] Problema con Telegram PHP 1
tomorc [HTML] Problema con scroll bar (risolto) HTML e CSS 0
S Strano problema con i title su Google SEO e Posizionamento 3
P [ASP.Net] Problema ERR_INCOMPLETE_CHUNKED_ENCODING 206 (Partial Content) con Font ASP.NET 4
P [HTML] Problema ERR_INCOMPLETE_CHUNKED_ENCODING 206 (Partial Content) con Font HTML e CSS 1
N [Apache] problema con estensione php Apache 0
C [PHP] Problema con download file PHP 0
M [PHP] Problema con preg_match PHP 1
gandalf1959 [PHP] problema con l'utilizzo di Header PHP 3
M [PHP] Problema con query select PHP 2

Discussioni simili