Forum PHP

Marco Merenghe

Nuovo Utente
4 Set 2012
17
0
0
Salve a tutti, premessa sono un novellino di php e sto iniziando adesso a conoscere il linguaggio.
Ho letto la guida https://www.mrw.it/php/articoli/creare-forum-php-1a-parte_270.html per creare un semplice forum in php però mi da i seguenti errori:
1: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP-12.0\www\PhpProject1\index.php on line 13
2: la variabile topic_id risulta indefinita
e non so come risolverli qualcuno può aiutarmi grazie
 

Marco Merenghe

Nuovo Utente
4 Set 2012
17
0
0
ciao il primo errore sono riuscito a correggerlo ma il secondo no anche mettendo prima della linea di errore $topic_id = null; quando lancio la pagina mi da questi errori:
Notice: Use of undefined constant topic_id - assumed 'topic_id' in C:\Program Files (x86)\EasyPHP-12.0\www\PhpProject1\forum.php on line 34

Notice: Undefined index: topic_id in C:\Program Files (x86)\EasyPHP-12.0\www\PhpProject1\forum.php on line 34


help meeeeeeeeeeeeeeee!!
 

Marco Merenghe

Nuovo Utente
4 Set 2012
17
0
0
http://lmgtfy.com/?q=Warning:+mysql_fetch_array()+expects+parameter+1+to+be+resource

Che la variabile indefinita intendi un errore simile?
Notice: Undefined variable: d in /opt/lampp/htdocs/index.php on line 2
Se si metti prima di quella linea $nome_variabile = null;

ciao il primo errore sono riuscito a correggerlo ma il secondo no anche mettendo prima della linea di errore $topic_id = null; quando lancio la pagina mi da questi errori:
Notice: Use of undefined constant topic_id - assumed 'topic_id' in C:\Program Files (x86)\EasyPHP-12.0\www\PhpProject1\forum.php on line 34

Notice: Undefined index: topic_id in C:\Program Files (x86)\EasyPHP-12.0\www\PhpProject1\forum.php on line 34


help meeeeeeeeeeeeeeee!!
 

marcomg

Utente Attivo
19 Nov 2011
204
0
16
Hai modificato qualcosa?
Comunque io mi eserciterei prima a cercare di capire gli errori. Cosa dice l'errore?

In pratica dice: attenzione stai utilizzando una costante non definita nella line di codice 34 e si presume che sia 'topic_id'. Il file si trova in ...


Credo l'errore sia riconducibile a
$topic_id = $result3[topic_id]+1;
 

Marco Merenghe

Nuovo Utente
4 Set 2012
17
0
0
Hai modificato qualcosa?
Comunque io mi eserciterei prima a cercare di capire gli errori. Cosa dice l'errore?

In pratica dice: attenzione stai utilizzando una costante non definita nella line di codice 34 e si presume che sia 'topic_id'. Il file si trova in ...


Credo l'errore sia riconducibile a
$topic_id = $result3[topic_id]+1;

ciao, si questo l'avevo capito pure io infatti sul file forum.php prima della riga di codice $topic_id = $result3[topic_id]+1;
come mi hai consigliato in precedenza ho inserito $topic_id = null; ma l'errore non viene risolto e non so come correggerlo...:hammer:
cmq i filè così come come erano dal sito li ho copiati e non ho modificato nulla
 
Ultima modifica:

marcomg

Utente Attivo
19 Nov 2011
204
0
16
$topic_id = $result3[topic_id]+1;
Credo debba diventare
$topic_id = $result3['topic_id']+1;

Il problema è che non è alla riga 34, ma alla 33. Forse per quella cosa che ti ho fatto aggiungere ;)
 

Marco Merenghe

Nuovo Utente
4 Set 2012
17
0
0
$topic_id = $result3[topic_id]+1;
Credo debba diventare
$topic_id = $result3['topic_id']+1;

Il problema è che non è alla riga 34, ma alla 33. Forse per quella cosa che ti ho fatto aggiungere ;)

Ciao ho fatto la modifica che hai detto. cambiando $topic_id = $result3[topic_id]+1;
in $topic_id = $result3['topic_id']+1;
ma l'errore non cambia
Notice: Undefined index: topic_id in C:\Program Files (x86)\EasyPHP-12.0\www\PhpProject1\forum.php on line 34:crying:

non so + che fare il codice l'ho preso dalla guida guida https://www.mrw.it/php/artico...parte_270.html ed ho modificato solo la connessione al db
 
Ultima modifica:

Marco Merenghe

Nuovo Utente
4 Set 2012
17
0
0
codice

ciao posto il codice del file incriminato così lo analizziamo insieme vediamo se ho capito il problema:

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

# Recupero i topic del forum
$query = @mysql_query("SELECT * FROM forum_lite_topics
    WHERE forum_id = '" . $_GET[f] . "' ORDER BY data ASC");

# Recupero il titolo del forum per il percorso
$query2 = @mysql_query("SELECT titolo FROM forum_lite_main
    WHERE id = '" . $_GET[f] . "'");

# Recupero i messaggi nel topic
$query3 = @mysql_query("SELECT MAX(topic_id) FROM 
    forum_lite_thread");

$result2 = @mysql_fetch_array($query2);
$result3 = @mysql_fetch_array($query3);

# Stampo il percorso
echo "<a href=\"index.php\">Main</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 = null;
$topic_id = $result3[topic_id];
echo "<p><a href=\"new.php?f=$_GET[f]&t=$topic_id\">";
echo "Nuovo topic</a>";
?>

come vedi topic_id è un campo integer del db e ne viene estratto il massimo
$query3 = @mysql_query("SELECT MAX(topic_id) FROM
forum_lite_thread"); dopo di che però sotto alla riga 34 la riga incriminata topic_id viene passato ad un arrei ma così non è sbagliato correggimi se sbaglio perchè non è stato definito giusto non dovrei prima assegnare alla variabile $topic_id il valore di topic_id estratto dal db? prima di utilizzarlo come indice per l'arrei ? $topic_id = $result3[topic_id];:crying:
 
Ultima modifica di un moderatore:

marcomg

Utente Attivo
19 Nov 2011
204
0
16
TI faccio un esempio:
PHP:
<?php
$array=array('caspita' => '1');
echo ($array[caspita]+1);
?>
Interprete:
PHP Notice: Use of undefined constant caspita - assumed 'caspita' in /home/marco/Scrivania/php.php on line 3
2


PHP:
<?php
$array=array('caspita' => '1');
echo ($array['caspita']+1);
?>
Interprete:
2
 

Marco Merenghe

Nuovo Utente
4 Set 2012
17
0
0
TI faccio un esempio:
PHP:
<?php
$array=array('caspita' => '1');
echo ($array[caspita]+1);
?>
Interprete:
PHP Notice: Use of undefined constant caspita - assumed 'caspita' in /home/marco/Scrivania/php.php on line 3
2


PHP:
<?php
$array=array('caspita' => '1');
echo ($array['caspita']+1);
?>
Interprete:
2

Ciao, grazie per l'esempio ma non ho capito cosa vuoi spiegarmi ? e cmq visto il mio codice come lo dovrei modificare per evitare quell'errore ?:dipser:
 

marcomg

Utente Attivo
19 Nov 2011
204
0
16
Il problema è che l'installer non popola il database sql.

Esegui questo codice sql nel tuo server:
Codice:
CREATE TABLE IF NOT EXISTS `forum_lite_main` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `titolo` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
INSERT INTO `forum_lite_main` (`id`, `titolo`) VALUES
(1, 'Il forum di JacoZ');
CREATE TABLE IF NOT EXISTS `forum_lite_thread` (
  `id` int(11) NOT NULL,
  `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,
  KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `forum_lite_thread` (`id`, `topic_id`, `data`, `autore`, `titolo`, `testo`) VALUES
(0, '', '07/09/2012', 'marcomg', 'Titolo', 'messaggio'),
(0, '1', '07/09/2012', 'marcomg', 'Titolo', 'Ciao');
CREATE TABLE IF NOT EXISTS `forum_lite_topics` (
  `id` int(11) NOT NULL,
  `forum_id` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `data` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `autore` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `titolo` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `forum_lite_topics` (`id`, `forum_id`, `data`, `autore`, `titolo`) VALUES
(0, '', '07/09/2012', 'marcomg', 'Titolo'),
(0, '1', '07/09/2012', 'marcomg', 'Titolo');
 

Marco Merenghe

Nuovo Utente
4 Set 2012
17
0
0
Il problema è che l'installer non popola il database sql.

Esegui questo codice sql nel tuo server:
Codice:
CREATE TABLE IF NOT EXISTS `forum_lite_main` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `titolo` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
INSERT INTO `forum_lite_main` (`id`, `titolo`) VALUES
(1, 'Il forum di JacoZ');
CREATE TABLE IF NOT EXISTS `forum_lite_thread` (
  `id` int(11) NOT NULL,
  `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,
  KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `forum_lite_thread` (`id`, `topic_id`, `data`, `autore`, `titolo`, `testo`) VALUES
(0, '', '07/09/2012', 'marcomg', 'Titolo', 'messaggio'),
(0, '1', '07/09/2012', 'marcomg', 'Titolo', 'Ciao');
CREATE TABLE IF NOT EXISTS `forum_lite_topics` (
  `id` int(11) NOT NULL,
  `forum_id` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `data` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `autore` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `titolo` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `forum_lite_topics` (`id`, `forum_id`, `data`, `autore`, `titolo`) VALUES
(0, '', '07/09/2012', 'marcomg', 'Titolo'),
(0, '1', '07/09/2012', 'marcomg', 'Titolo');

ciao e grazie per la tua grande disponibilità: ti chiedo ma a te funziona correttamente io ho eseguito il codice che hai postato è questo è il risultato come chiamo la pagina index:
connesso con successo

JacoZ Forum Lite
Main
Il forum di JacoZ
dopo di ciò cliccando sul link forum di JacoZ viene richiamata la pagina /forum.php?f=1 e mi appare questo risultato:
connesso con successo

JacoZ Forum Lite
Main » Il forum di JacoZ
Titolodi marcomg
Notice: Undefined index: topic_id in C:\Program Files (x86)\EasyPHP-12.0\www\PhpProject1\forum.php on line 34

Nuovo topic.
come vedi l'errore c'è sempre bhoooo , e comunque cliccado poi sul link titolo di marcomg viene richiatama la pagina thread.php?f=1&t=0 che riporta altri errori oltre il link rispondi.
connesso con successo

JacoZ Forum Lite

Notice: Use of undefined constant t - assumed 't' in C:\Program Files (x86)\EasyPHP-12.0\www\PhpProject1\thread.php on line 6

Notice: Use of undefined constant f - assumed 'f' in C:\Program Files (x86)\EasyPHP-12.0\www\PhpProject1\thread.php on line 10

Notice: Use of undefined constant f - assumed 'f' in C:\Program Files (x86)\EasyPHP-12.0\www\PhpProject1\thread.php on line 14
Main »Il forum di JacoZ »Titolo

Rispondi
 

Marco Merenghe

Nuovo Utente
4 Set 2012
17
0
0
se ti posto tutti i file di questo benedetto piccolo forum, mi faresti la cortesia gentilmente di provarlo in locale tu così vedi gli errori ??
Ti ringrazio in anticipo
ciao
 

Marco Merenghe

Nuovo Utente
4 Set 2012
17
0
0
Ho fatto un po' di modifiche:
Ecco il file: http://www.mediafire.com/?2d6uuxq74gvxcen

Comunque impara prima il php, a capire gli errori.
Ciao!

Ciao si grazie infatti lo sto studiando ma non capivo da che derivano questi errori ed ho la necissita al lavoro di farlo funziona il più presto possibile.
Cmq ti ringrazio tanto ho controllato e visto che finalmente non riporta gli errori sembra funzionare dico sembra perchè no0n da nessun errore ma quando rispondo al topic che tu l'hai inserito manualmente dal file install con l'insert, oppure ne creo uno nuovo non viene elencato nella pagina ne il topic nuovo e ne la risposta a quello inserito. Ho controllato il db e ho visto che quando creo un nuovo topic o rispondo ad uno esistente nel db non viene scritto nulla.
 

marcomg

Utente Attivo
19 Nov 2011
204
0
16
Strano, perché a me funziona. Comunque quello script non è fatto un gran che bene.


Codice:
ed ho la necissita al lavoro di farlo funziona il più presto possibile
Perché? Devi imparare o essere pagato?
 

Marco Merenghe

Nuovo Utente
4 Set 2012
17
0
0
Strano, perché a me funziona. Comunque quello script non è fatto un gran che bene.


Codice:
ed ho la necissita al lavoro di farlo funziona il più presto possibile
Codice:
Perché? Devi imparare o essere pagato?

Ciao guarda non so il perchè non mi scrive sul db quando creo il nuovo topic o rispondo a quello esistente il fatto sta che dopo aver fatto queste operazioni controllando il db non c'è scritto nulla di nuovo invece quando ho eseguito il file install. che hai modificato tu ha scritto perfettamente sul db sia le tabelle che le insert.. cmq tutto lo script non so chi l' ha fatto (scritto) inizialmente io l'ho preso da questo link https://www.mrw.it/php/artico...parte_270.html mi sembrava buono ma a quanto vedo dai problemi che mi da non lo è.. cmq rispondendoti a quello che hai detto
Codice:
Perché? Devi imparare o essere pagato?
ho la necessita di imparere ad usare il php perchè mi pagano.
 

marcomg

Utente Attivo
19 Nov 2011
204
0
16
Capito, ma da quello che ho capito ti serve un forum dal fatto che lo devi fare il più presto possibile.
Comunque secondo me il fatto che non scrive sul database è che è sbagliata la query o il database.
 
Discussioni simili
Autore Titolo Forum Risposte Data
D [PHP] script che invii una mail automatica dopo risposta ad una discussione di un forum PHP 0
Gigi87 [PHP] Estrazione dati da forum o da social network PHP 1
C PHP citazione forum <blockquote> in TEXTAREA PHP 2
C [PHP] Risposta a discussione forum PHP 7
K [PHP] Unica sessione login forum/sito PHP 1
J Forum php con pop ajax che dice che sono offline PHP 0
X Forum php PHP 1
T vBulletin 3.8.x E' possibile creare una nuova pagina in PHP nel forum? CMS (Content Management System) 0
J Forum php usando l'architettura MVC PHP 0
F Forum PHP PHP 9
Z Cercasi tecnico php/MySQL forum mybb Offerte e Richieste di Lavoro e/o Collaborazione 0
D problema con tutorial "Creare un forum con PHP" PHP 11
N Forum PHP (aiuto!) PHP 2
S Personalizzazione forum php. PHP 1
A Impostare tabelle per forum e codice php PHP 6
A Calendario eventi in php... dove trovarlo? Cosa consiglia il forum? PHP 6
A Forum cookie problema php PHP 36
A Creare un forum in php PHP 32
G guida forum php non funziona PHP 3
Z errore codice php per forum vbulletin PHP 0
maxbossi Regolamento Regolamento forum php - leggere attentamente prima di postare PHP 0
S Creare una community ed un forum in php PHP 9
S Forum in php PHP 5
M Problemi con Forum PHP crezione guidata PHP 1
J Collaboratori per forum su html, php, apache, mysql, css, javascript, ecc. Offerte e Richieste di Lavoro e/o Collaborazione 2
L forum php PHP 1
C forum in php PHP 14
F forum php personalizzabile (retribuito) Offerte e Richieste di Lavoro e/o Collaborazione 0
N Forum scritto in PhP ed informazioni legali... PHP 2
JACK1971 Creare un Forum in PHP PHP 2
D creare un forum con php di JacopoNuzzi PHP 1
A Forum in php PHP 7
D forum php PHP 1
F file php per il forum PHP 6
F forum in php PHP 9
peppoweb Il miglior forum in php! PHP 0
A Cerco programmatore/sviluppatore per creare forum Offerte e Richieste di Lavoro e/o Collaborazione 2
G Consiglio su piattaforma forum da utilizzare CMS (Content Management System) 1
G Forum newby Presentati al Forum 0
A Buongiorno Forum Presentati al Forum 0
S SEOriented è entrato nel forum Presentati al Forum 0
V Mi presento al forum Presentati al Forum 1
C Saluti a tutti gli utenti del Forum Presentati al Forum 0
Mastiff_84 Saluto a tutti i membri del forum Presentati al Forum 1
P Ciao a tutti nel forum Presentati al Forum 0
C [Retribuito] cerco programmatore per realizzare forum phpbb su altervista. Altri Annunci 0
C [Retribuito] cerco programmatore per realizzare forum phpbb su altervista Offerte e Richieste di Lavoro e/o Collaborazione 0
A Ciao popolo del forum Presentati al Forum 0
F Ciao e complimenti per il forum Presentati al Forum 1
marino51 Restyling del forum 12/2019 - Critiche, segnalazioni e opinioni Discussioni Varie 7

Discussioni simili