UN FORUM (UN DE PLUS) MAIS DE CONCEPTION UN PEU DIFFÉRENTE DE CEUX QUE L'ON VOIT

yearll Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 18 décembre 2003 - 13 déc. 2003 à 13:18
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 - 27 sept. 2006 à 07:03
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18677-un-forum-un-de-plus-mais-de-conception-un-peu-differente-de-ceux-que-l-on-voit-generalement

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
27 sept. 2006 à 07:03
Tu peux utiliser Notepad, ou ses dérivés qui proposent une coloration syntaxique.
Mais comme ce n'est que du texte, tu l'ouvriras avec un éditeur de texte, forcément.
cs_CEPTA Messages postés 13 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 28 mars 2007
27 sept. 2006 à 03:28
slt, je suis un newbe avec quel programme vs éditer vos php?
cs_brice57 Messages postés 15 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 15 avril 2004
30 mars 2004 à 23:02
dommage effectivement que tu utilises un formulaire pour lire tes messages

concernant l'intérêt d'une clé primaire dans un table, imagine si par hasard 2 utilisateurs insèrent les mêmes noms et mêmes pass....
tu n'as qu'à créer un id_user de type entier avec auto_increment pour pas t'embêter et éviter les plantages inutiles ;)
yearll Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 18 décembre 2003
18 déc. 2003 à 11:49
tant pis, merci quand même de t'y être interressé
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
18 déc. 2003 à 11:35
euh... je crois que je v pas m'y pencher... un peu dégouté ouais (tu l'as dit ! ;o) lol )
yearll Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 18 décembre 2003
18 déc. 2003 à 11:24
ah, merci, enfin une remarque constructive :-)

Bon, c'set pas pratique, c'est sûrement vrai... Mais c'est une conception différente ! (sisi, tu l'as dis lol )
Bon, t'as envie de te pencher dessus un peu plus ou la vue de ce forum pas pratique t'as tout simplement dégoûté ?
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
18 déc. 2003 à 10:46
ok je vois... conception différente... ouais :-p
- une page pour lire, et on choisi les message dans un <select>
- une autre page pour répondre, et rebelote les message dans un <select>

ça peut tourner si y'a pas bocou de sujet, mais perso je trouve pas pratique du tout...
yearll Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 18 décembre 2003
18 déc. 2003 à 10:22
pour un test, aller sur http://membres.lycos.fr/forumtst/
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
18 déc. 2003 à 09:35
non mais "conception différente", on attend que tu explique la différence :-)

Excuse-moi de faire le rabat-joie mais en voyant ce titre on attend de savoir qu'est-ce qui est différent dans la conception (= donc original).

Et aussi une astuce, quand c possible c bien d'avoir un lien pour tester directement l'appli (un forum de test quoi).

Ceci sont des conseils d'un developpeur d'un bon niveau (enfin j'espère :-D)

good coding!
yearll Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 18 décembre 2003
18 déc. 2003 à 09:23
Au fait, le titre c'est :

UN FORUM (UN DE PLUS) MAIS DE CONCEPTION UN PEU DIFFÉRENTE DE CEUX QUE L'ON VOIT GÉNÉRALEMENT

Je ne vois pas le mot "original " apparaître ... Et toi ?
yearll Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 18 décembre 2003
18 déc. 2003 à 09:11
- Je vais mettre une capture
- Les smileys c'est en cours, BBcodes je sais pas ce que c'est, je vais peut-être apprendre quelquechose de nouveau
- Affichage messages non lus : c'est fait

- Le faire proprement, je demande que ça, c'est pourquoi j'ai mis cette source sur ce site, pour que des developpeurs d'un bon niveau me dise ce qu'il ne va pas et m'aide à corriger tout ça :)

- Enfin, j'avais pas envie de mettre comme titre "Un forum pourri qui ne vous plaira pas, alors ne regardez pas ma source, je l'ai mis ici seulement pour avoir quelques octets de plus sur le web" :)
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
17 déc. 2003 à 20:05
ouais ça prend pas longtemps, mais je vois toujours pas ce qui est vraiment original. Il existe encore beaucoup de forum pas phpbb like.
Si c'est la présentation, met une kpture.

Si tu me dis :
- smileys en tête du message
- gestion smileys et BBcodes très avancé (colorisation syntaxik...:-p)
- affichage message non lus

... bref des trucs normaux pour un forum bien constitué :-p ça sera déjà "original" par rapport aux pauvres forums qu'on trouve de temps en temps.

Mais bon au bout d'un moment on ne peut plus vraiment faire d'original dans un forum ou un livre d'or... reste plus qu'à le faire bien proprement... alors si on met un titre "original" c'est que vraiment on a eu une idée super novatrice... j'ai pas trouvé là je reste sur ma faim.
yearll Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 18 décembre 2003
17 déc. 2003 à 19:51
Merci pour l'info, je ne mettrai plus de code dans les commentaires, de toute façon j'ai mis la source à jour.

Sinon, ce que j'entend par "original" c'est que c'est un forum qui n'est pas un phpbblike, il y en a de plus en plus, et ça m'ennerve.

Ou est l'originalité si tous les forums sonts identiques ?
Une bibliothèque serait bien triste si tous les livres étaient écris avec le même style...

Sinon, autre conception un peu plus sympathique, c'est que les utilisateurs peuvent créer de nouveaux sujets à souhait (je sais c'est pas si original que ça, mais quand même j'aime bien l'idée).

La navigation est nouvelle aussi, j'ai développé ce forum plus comme une application que comme un site "portail"

Allez, maintenant il ne te reste plus qu'à le télécharger et l'installer, ça prend pas longtemps :)
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
17 déc. 2003 à 19:41
1) dans le titre je lis : "...MAIS DE CONCEPTION UN PEU DIFFÉRENTE DE CEUX QUE L'ON VOIT GÉNÉRALEMENT"

Je n'ai pas téléchargé... Qu'y a-t'il de différent, original? tu ne dis pas dans le commentaire sur cette page.... dommage.


2) je vois dans un message + haut que tu met du code. Evite, le site est buggé et les backslashes ne passent pas bien
test re test \ blabla \ ...
yearll Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 18 décembre 2003
17 déc. 2003 à 01:10
remodif, cette fois en mettant les clés, pour que ce soit plus propre et parceque ça ne coûte rien de les mettre, du coup, la partie de mon post précédent addressé à flashfun ne veut plus rien dire...

Mais je suis sûr que ça va lui plaire.
yearll Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 18 décembre 2003
17 déc. 2003 à 00:43
Bon, comme j'ai mis cette source pour avoir des suggestions et des remarques, je me fais un devoir d'en tenir compte, alors j'ai fais la mise à jour, les fichiers create_table.sql et insert.php y sont, par contre, désolé mais pour les clés, j'ai vraiment pas décelé l'utilité dans l'application telle qu'elle est pour l'instant, alors plus tard peut-être.

(et j'ai même rajouté l'entête de phpmyadmin pour te montrer flashfun que les clés ne sont pas absolument nécessaires).

Allez, toujours zen :)
yearll Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 18 décembre 2003
17 déc. 2003 à 00:06
Ce forum fonctionne en local sur mon ordi, et chez multimania (je l'ai mis là pour avoir un herbergeur gratuit fournissant un serveur SQL).

Donc, je pense que les clés ne sont pas indispensables, sauf bien sûr pour avoir une structure de base de données dans les règles de l'art.

Merci d'y aller doucement sur ton jugement, je crois savoir créer un create table suffisant pour faire fonctionner ce forum :) .

Ensuite, si mon forum ne fonctionne pas chez toi, je suis prêt à tenter des modifications ou des corrections, mais à toi de me dire ce qui ne fonctionne pas.
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
16 déc. 2003 à 23:28
Les 2 create Table sont inutilisable, je te consiel d'exporté la structure de tes table avec phpmyadmin, car tu ne semble pas savoir créer un create table.

Tu doit undiqué dedans, quel sont les clés primaire, les clés externe, si il sont Null ou non null, ...

Modif aussi le fichier à télécharger, pour que ce soit plus facile pour tous le monde.

Je suis aussi en train de faire un forum en intranet dans mon iut, et je cherche de bonne idée pour le faire moi même, le tiens semble avoir de bon trucs mais pour l'instant il ne fonctionne pas chez moi.
yearll Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 18 décembre 2003
16 déc. 2003 à 10:16
en tous cas, merci à tous les 2 de vous pencher sur mon forum :)
yearll Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 18 décembre 2003
16 déc. 2003 à 10:15
Un nouveau tables_forum.sql:
Pour les clés, Id_utilisateur est est une, pour les messages, c'est le couple numthread nummessage, flashfun une suggestion ?

Le fait de créer un utilisateur dont l'identifiant est 6, c'est pas un problème, par contre le message pour l'utilisateur 4 peut en être un... J'ai corrigé ça

create Table utilisateur(
login char(50),
password char(50)
);

create Table messages(
numthread int,
nummessage int,
titrethread char(50),
contenu char(250)
);

INSERT INTO `utilisateur` ( `User_Id` , `Name` , `login` , `password` )
VALUES (
'', 'utilisateur test', 'util', 'tst'
);
INSERT INTO `utilisateur` ( `User_Id` , `Name` , `login` , `password` )
VALUES (
'', 'utilisateur test', 'util', 'tst'
);


INSERT INTO `messages` ( `numthread` , `nummessage` , `titrethread` , `contenu` , `date` , `num_auteur` )
VALUES (
0, 0, 'premier sujet', 'premier message du premier sujet', 1071249316, 1
);
INSERT INTO `messages` ( `numthread` , `nummessage` , `titrethread` , `contenu` , `date` , `num_auteur` )
VALUES (
0, 1, 'premier sujet', 'second message du premier sujet', 1071249626, 1
);
INSERT INTO `messages` ( `numthread` , `nummessage` , `titrethread` , `contenu` , `date` , `num_auteur` )
VALUES (
0, 2, 'premier sujet', 'troisième message du premier sujet', 1071249849, 0
);
INSERT INTO `messages` ( `numthread` , `nummessage` , `titrethread` , `contenu` , `date` , `num_auteur` )
VALUES (
1, 0, 'second sujet', 'premier message du second sujet', 1071251066, 1
);
INSERT INTO `messages` ( `numthread` , `nummessage` , `titrethread` , `contenu` , `date` , `num_auteur` )
VALUES (
1, 1, 'second sujet', 'second sujet du second message', 1071254152, 1
);
INSERT INTO `messages` ( `numthread` , `nummessage` , `titrethread` , `contenu` , `date` , `num_auteur` )
VALUES (
2, 0, 'troisième sujet', '3s 1m', 1071271585, 1
);
INSERT INTO `messages` ( `numthread` , `nummessage` , `titrethread` , `contenu` , `date` , `num_auteur` )
VALUES (
2, 1, 'troisième sujet', '3s 2m', 1071272522, 1
);
INSERT INTO `messages` ( `numthread` , `nummessage` , `titrethread` , `contenu` , `date` , `num_auteur` )
VALUES (
2, 2, 'troisième sujet', '3s 3m', 1071272684, 0
);



Le code de insert.php...
Je sais pas si ça marche mieux, wafwaf tiens moi au courant.


<?
include ("./header.php");

if (empty($_COOKIE['identifie']) || (!$_COOKIE['identifie']))
print "<script language = "javascript">alert("L'utilisateur n'est pas identifié !");window.location="./log.html";</script>";

include ("./connect.php");
$connexion = mysql_connect($serveur, $log, $pass);
mysql_select_db($base,$connexion);
if (array_key_exists("s", $_POST))
$s = $_POST['s'];
else
$s = $_POST['tit'];

$selnumThread "select numthread from $tabmess where titrethread "$s";";


switch ($_POST['parent']=="rep"){


case (true):{ // ON VEUT RÉPONDRE À UN THREAD
if ($_POST['envoyer'] == 'Répondre'){
$result = mysql_query($selnumThread,$connexion);
if ($result==false)
print "<script language = "javascript">alert("La table est vide");window.location="./addTh.php";</script>";
else
$tab = mysql_fetch_row($result);
$nummes "select numMessage from $tabmess where numthread $tab[0];";
$result = mysql_query($nummes,$connexion);
if ($result == false)
print "<script language = "javascript">alert("Erreur de connexion");window.location="./addRep.php";</script>";
else
$num = mysql_num_rows($result); // le N°du message à entrer

/* Entrée du message dans la base */
if ($_POST['txt'] == ""){
print "<script language = "javascript">alert("Le message est vide");window.location="./addRep.php";</script>";
}
else{
$datajou = time();
$login2 = $_COOKIE['login2'];
$selaut "select User_Id from $tabutil where login "$login2";";
$nauteur = mysql_query($selaut,$connexion);
$nauteur = mysql_fetch_row($nauteur);
$txt = $_POST['txt'];
$entrmes = "insert into $tabmess
(numthread, nummessage, titrethread, contenu, date, num_auteur)
values($tab[0], $num, '$s', '$txt', '$datajou', '$nauteur[0]');";
$retour = mysql_query($entrmes,$connexion);
if ($retour == false)
print "<script language = "javascript">alert("Erreur de connexion");window.location="./addRep.php";</script>";
else{
print "<script language = "javascript">confirm("Enregistrement effectué");window.location="./tst2.php";</script>";
}
}
break;
}elseif ($_POST['envoyer'] == 'Afficher le dernier message'){
/*-----------------------------*/
$_SESSION['titr'] = $_POST['s'];
print "<script language = "javascript">window.location="./addRep.php";</script>";
print "rien";
/*-----------------------------*/
}elseif ($_POST['envoyer'] == 'Afficher ce sujet'){
/*-----------------------------*/
$_SESSION['titr'] = $_POST['s'];
print "<script language = "javascript">window.location="./affich.php";</script>";
/*-----------------------------*/
}

break;


}
case (false):{ // ON VEUT AJOUTER UN NOUVEAU THREAD
$selnumero = "select distinct titrethread from $tabmess;";
$result3 = mysql_query($selnumero,$connexion);
$nblign3=0;
if ($result3==false)
print "<script language = "javascript">alert("La table est vide");window.location="./addTh.php";</script>";
else{ // VERIF D'UNICITÉ DES TITRES
$res3=array();
$unique3 = true;
$k3=0;
$nblign3 = mysql_num_rows($result3);
for ($i3=0;$i3<$nblign3;$i3++){
$resul3 = mysql_fetch_row($result3);
if ($resul3[0] == $_POST['tit'])
$unique3 = false;
}
if ($unique3 == false)
print "<script language = "javascript">alert("Ce titre de thread existe déjà !");window.location="./addTh.php";</script>";
else {
/* Entrée du thread dans la base */
if ($_POST['tit']==""){
print "<script language = "javascript">alert("Le titre est vide");window.location="./addTh.php";</script>";

}

if ($_POST['txt'] == "") {
print "<script language = "javascript">alert("Le message est vide");window.location="./addTh.php";</script>";
}
else{

$datajou = time();
$login2 = $_COOKIE['login2'];
$selaut "select User_Id from $tabutil where login "$login2";";
$nauteur = mysql_query($selaut,$connexion);
$nauteur = mysql_fetch_row($nauteur);
$tit = $_POST['tit'];
$txt = $_POST['txt'];
$entrth = "insert into $tabmess
(numthread, nummessage, titrethread, contenu, date, num_auteur )
values($nblign3, 0, '$tit', '$txt', '$datajou', '$nauteur[0]');";
$retour = mysql_query($entrth,$connexion);
if ($retour == false)
print "<script language = "javascript">alert("Erreur de connexion");window.location="./addTh.php";</script>";
else{
print "<script language = "javascript">confirm("Enregistrement effectué");window.location="./tst2.php";</script>";
}
}
}
}


}
}
?>

</html>
cs_wafwaf Messages postés 2 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 15 décembre 2003
15 déc. 2003 à 20:51
rien compris au nouveau .sql
tu insert plus de champs qu'il en existe ?
(6, 'admin', 'adm', 'in') pour 2 champs
et (0, 0, 'premier sujet', 'premier message du premier sujet', 1071249316, 1) pour 4
sinon si je tiens pas compte de ce nouveau .sql, il y a une erreur lors d'une tentative de post... ligne 56 de insert.php j'ai remplacé elseif par if, et maintenant j'ai ce message d'erreur:
Parse error: parse error, unexpected T_CASE in c:program fileseasyphpwwwscriptsforum2insert.php on line 73
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
15 déc. 2003 à 20:15
Le contenu de tables_forum.sql n'est pas correct,
- les tables n'ont pas de clés (ça c'est peut être normal)
- les créateur de table sont faux.
yearll Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 18 décembre 2003
15 déc. 2003 à 12:32
voilà, c'est fait
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
14 déc. 2003 à 11:37
Stp, corrige tes pages, pour la dernière version de php.
J'ai commencé, mais je n'ai pas le temps, donc je ne peut même pas voir à quoi ressemble un message.

Dans tes table, tu aurais pu inséré un utilisateur "test" et des messages testes pour que l'on puisse plus rapidement voir si tout fonctionne.
yearll Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 18 décembre 2003
13 déc. 2003 à 18:23
ayé ya1 readme, c'est plus clair comme ça j'espère.
yearll Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 18 décembre 2003
13 déc. 2003 à 17:57
Ok, je fais un readme, dés que j'ai le temps...

Sérieux, je suis pas un expert, loin de là, ma question n'est pas un signe de fausse modestie, j'y ai juste passé un max de temps
cs_wafwaf Messages postés 2 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 15 décembre 2003
13 déc. 2003 à 17:42
c'est joli ! mais un readme n'aurait pas été de trop, après 10 minutes de galère j'ai toujours pas réussi à le faire fonctionner..........je laisse tomber

alors pourquoi débutant ?
niveau expert professionel confirmé bac +12)
yearll Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 18 décembre 2003
13 déc. 2003 à 13:18
j'espère que ça va en intéresser quelques-uns, j'aimerais bien avoir un avis extérieur
Rejoignez-nous