Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3800 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [philosophie] les forums php/Js ...

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Page Précédente
Auteur Sujet :

[philosophie] les forums php/Js ...

n°112409
kayasax
Posté le 15-03-2002 à 09:27:25  profilanswer
 

Hello !
Et oui la philosophie c'est l'amour de la sagesse et la sagesse c'est aussi savoir profiter de la sagesse des autres  ;)  
Bon je vais essayer de me lancer dans la création de mon forum php / JS et avant de me planter lamentablement :crazy:  g qqes questions :
1- Comment marche l'interpretation du contenu des posts ? Je pense que le corps des messages est stocké dans un champs text voir un longtext donc comment à partir d'un champ de ce type rendre par exemple une adresse internet cliquable ou transformer un code smiley en image? Il faut analyser le champs text caractere par caractere ?? ca me semble pas possible pour des pbs de lenteur mais je vois pas comment ca fonctionne sinon...
 
2- Si ceux qui ont deja dev. un forum ont des remarques ou commentaires... Peut etre faut il prevoir une variable a laquelle on pense pas forcement au début ?? ou une liste des erreurs de conceptions les + classiques.
 
Voila si ca peut m'eviter de programer pour m'apercevoir une semaine + tard qu y a un truc foireux et que fo tout recommencer ce serait cooool .
 
Merci tous  :hello:

 

[jfdsdjhfuetppo]--Message édité par joce le 28-05-2002 à 08:53:09--[/jfdsdjhfuetppo]


---------------
All we need is a soul revolution
mood
Publicité
Posté le 15-03-2002 à 09:27:25  profilanswer
 

n°112413
darklord
You're welcome
Posté le 15-03-2002 à 09:33:13  profilanswer
 

pq t'utilises pas un forum open source gratuit et tu le customize un max. Le résultat serait bien meilleur non?


---------------
Just because you feel good does not make you right
n°112415
kayasax
Posté le 15-03-2002 à 09:36:44  profilanswer
 

ben non je trouve bcp + dur de comprendre les scripts que de les crees moi meme au - je suis sur d'avoir que ce dont j'ai besoin pas d'une usine a gaz comme phpbb  :na:


---------------
All we need is a soul revolution
n°112454
dropsy
et bonne chance surtout...
Posté le 15-03-2002 à 11:04:48  profilanswer
 

et puis ça permet d'apprendre plus de chose... parce qu'on fait des erreurs qu'on doit résoudre!

n°112458
kayasax
Posté le 15-03-2002 à 11:07:19  profilanswer
 

Dropsy, entierement d'accord mais si je peux eviter les erreurs communes et bloquantes g rien contre  ;)  
personne ne sait alors comment sont  convertis les : bidule : en smiley ?

n°112459
gizmo
Posté le 15-03-2002 à 11:07:48  profilanswer
 

pour le 1: regarde du coté des expressions régulières
pour le 2: oui il faut penser à plein de choses, le plus important, c'est de bien modulariser son code et prévoir ses tables.

n°112461
kayasax
Posté le 15-03-2002 à 11:10:33  profilanswer
 

donc le principe c'est chercher des regexps (ex www.*.fr)dans le champs text et faire un replace <a href="http://www.*.fr"> avant de l'afficher c'est bien ca?
c'est pas super gourmant en ressources machine ca?  
 
 
 

gizmo a écrit a écrit :

pour le 1: regarde du coté des expressions régulières
pour le 2: oui il faut penser à plein de choses, le plus important, c'est de bien modulariser son code et prévoir ses tables.  



 

[jfdsdjhfuetppo]--Message édité par kayasax--[/jfdsdjhfuetppo]

n°112462
dropsy
et bonne chance surtout...
Posté le 15-03-2002 à 11:10:55  profilanswer
 

kayasax a écrit a écrit :

Dropsy, entierement d'accord mais si je peux eviter les erreurs communes et bloquantes g rien contre  ;)  
personne ne sait alors comment sont  convertis les : bidule : en smiley ?  




 
bah, je suis d'accord pour les errurs de conception qui t'obligeraient à tout reprendre...

n°112463
impulse
Posté le 15-03-2002 à 11:10:58  profilanswer
 

Citation :

pour le 1: regarde du coté des expressions régulières


 
Tout a fait d'accord : c'est trop puissant les expressions regulieres et je suis sur que c'est comme ça que ça marche.
 
hihi :D

n°112465
impulse
Posté le 15-03-2002 à 11:15:06  profilanswer
 

Citation :

pour le 1: regarde du coté des expressions régulières


 
Comment veux tu faire autrement ? Il faut bien que tu analyses ce que l'utilisateur a ecrit. Je connais pas PHP et ses regexp mais en tout cas les expressions regulieres avec Perl c'est tres puissant...
 
hihi :p

mood
Publicité
Posté le 15-03-2002 à 11:15:06  profilanswer
 

n°112478
Sh@rdar
Ex-PhPéteur
Posté le 15-03-2002 à 11:23:44  profilanswer
 

kayasax a écrit a écrit :

donc le principe c'est chercher des regexps (ex www.yahoo.fr)dans le champs text et faire un replace <a href="http://www.yahoo.fr"> avant de l'afficher c'est bien ca?
c'est pas super gourmant en ressources machine ca?  




 
les regexp php sont assez light si bien utilisées : un conseil, converti les smileys et autre modif automatique lors de la saisie du message pour éviter de remoulliner le tout à chaque affichage.
 
sinon, c'est assez simple : tu cherche http:// ou www. ou ftp:// avec des lettres après jusqu'a tomber sur un espace et tu converti par <a href="le texte d'origine" target="blank">le texte d'origine</a>
 
pour les smileyr bin tu cherche le code du smiley et tu remplace par le code de l'image.


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°112484
kayasax
Posté le 15-03-2002 à 11:25:47  profilanswer
 

Sh@rdar je t'adores tes explic sont toujours bien détaillées et tres claires  :love:

n°112487
Sh@rdar
Ex-PhPéteur
Posté le 15-03-2002 à 11:27:46  profilanswer
 

kayasax a écrit a écrit :

Sh@rdar je t'adores tes explic sont toujours bien détaillées et tres claires  :love:  




 
 
ohlà du calme  :D


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°112489
kayasax
Posté le 15-03-2002 à 11:30:25  profilanswer
 

t'inquiete ma copine est pas loin ...  :D

n°112490
Sh@rdar
Ex-PhPéteur
Posté le 15-03-2002 à 11:31:49  profilanswer
 

et moi je suis presque marié  :jap:


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°124429
kayasax
Posté le 10-04-2002 à 19:43:57  profilanswer
 

bon g pas encore avance sur mon forum moi... allez on se remotive la ! :wahoo:  
 
Bon j'ai une question sur l'organisation de la ou les tables des messages :
 
C'est quoi le mieux en terme d'efficacite :
creer une table pour les sujets (parents) et une autre table pour les sujets enfants avec l'id du parent ? (-> +cool pour afficher la liste des topics ?)
ou creer une seule table avec sujets parents et enfants melanges (->requetes +simples ?)
 
voila si qqun a deja teste les 2 facons ...


---------------
All we need is a soul revolution
n°124462
tanguy
Posté le 10-04-2002 à 21:20:49  profilanswer
 

bouffe
 
$text = ereg_replace("((ftp|https?)://(([[:alnum:]]|[[:punct:]]){1,50})([[:alnum:]]|[[:punct:]])*)",
    "<a href=\"\\0\">\\3</a>", $text);
 
Ba ouiais c'est super bon :)

 

[jfdsdjhfuetppo]--Message édité par tanguy--[/jfdsdjhfuetppo]

n°124465
speedyop
Posté le 10-04-2002 à 21:30:13  profilanswer
 

y'a klk tps y'a eu 2 3 post sur la conception de forum assez actif, fait une petite recherche je suis sur que le principal a été dit, notemment un thread de gizmo qui presentait son forum super rapide justement grace au js.

n°124466
kayasax
Posté le 10-04-2002 à 21:34:52  profilanswer
 

t'es sur que c'est gizmo l'auteur du post paske wallou ?


---------------
All we need is a soul revolution
n°124467
Cherrytree
cn=?
Posté le 10-04-2002 à 21:36:36  profilanswer
 

Pour l'histoire des topics parents / enfants, mon avis est qu'il vaut mieux (c'est comme ça qu'on m'a appris) tout mettre dans la même table et ajouter un champ que tu peux appeler "parent" est qui est tu type de ta clé primaire (donc généralement un integer). Auquel cas, un parent = 0 te dit que tu as affaire à un père et un parent != 0 (je rappelle aux bouzeux que != ça veut dire différent :sarcastic:) ça veut dire que c'est un enfant, dont le parent est le numéro stipulé. Voilou.

n°124469
kayasax
Posté le 10-04-2002 à 21:38:10  profilanswer
 

a y est g l'ai retrouve :
http://forum.hardware.fr/forum2.ph [...] p=1&trash=
 
top !


---------------
All we need is a soul revolution
n°124516
speedyop
Posté le 11-04-2002 à 01:06:03  profilanswer
 

oué c'etait po lui mais bon si t'as trouver ton bonheur  :D  
 
sinon cherytree dans la theorie c po mal de faire comme tu dis mais dans la pratique pour un forum kan tu est sur la page qui liste les message tu va faire une requette sur une table qui contient beaucoup plus d'elements que necessaire a savoir toutes les reponses au sujets donc c po terrible surtout avec un mysql derriere. Le truc est donc de sortir les titre de sujet et de les stocker dans une autre table ou tout les champs auront une taille fixe (aucun text ou blob koi)... J'ai pas fait de test de performance mais je suis convaincu que c'est mieux  ;)  
 
sinon pour pas se retrouver avec une table a 10 000 000 d'enregistrement autant dupliquer une structure de table pour chaque section du forum

n°124530
Profil sup​primé
Posté le 11-04-2002 à 09:11:03  answer
 

si tu veut va voir http://www.mrmatforum.fr.st tu peut y telecharger le source made in moi :)

n°124533
goueg
De passage
Posté le 11-04-2002 à 09:18:38  profilanswer
 

deja la mrmat :)  :hello:

n°124534
Profil sup​primé
Posté le 11-04-2002 à 09:19:27  answer
 

Goueg a écrit a écrit :

deja la mrmat :)  :hello:  



YAISS !!!

n°126779
kayasax
Posté le 16-04-2002 à 21:01:57  profilanswer
 

Tiens ptite question en passant : (he oui ca y est j'ai fini par me lancer dans mon forum...)
 
Ca se fait de stocker un mot de passe dans un cookie ?
 
edit :ah bah oui je suis con je viens de le voir  
dans le cookie de forum.hardware ...
 
sinon le stocker en clair (pas MD5) ca craint ?

 

[jfdsdjhfuetppo]--Message édité par kayasax--[/jfdsdjhfuetppo]

n°128082
kayasax
Posté le 18-04-2002 à 18:26:59  profilanswer
 

Encore moi... :o  
 
La j'ai un probleme + logik ke teknik :
je vois pas bien comment gerer l'affichage du lien 'page suivante' sur la page des sujets et sur celle des msg. :pt1cable:  
 
j'explique : je defini par exemple une limite de 10 sujets par page ($limite).
 
imaginons g 22 sujets dans ma base  :o  
 
1- comment savoir que sur la 1ere page je dois mettre un lien vers la page 2 ; sur la 2eme page un lien sur la p3 et sur la p3 pas de lien ??
->faut trouver le + gd diviseur du total des messages par $limite
-->22 / 10 = 2 donc lien sur les 2 premieres pages  
mais comment ca se code ca ??
 
2- comment j'adapte la limite de mon select suivant le n° de page?
j'ai pense a ca :
select ... limit (($limite*n°page)-$limite)-1,$limite
c'est bon ?


---------------
All we need is a soul revolution
n°128096
Sh@rdar
Ex-PhPéteur
Posté le 18-04-2002 à 19:19:57  profilanswer
 

tu peux faire comme ça :
 
LIMIT $n°_de_page*$nbre_de_post_par_page),$nbre_de_post_par_page
 
admettons que tu mets 10 post par page
 
à la page 0 ça donne LIMIT 0,10 (de 1 à10)
à la page 1 LIMIT 10,10 (de 11 à 20)
 
etc..
 
dans tes liens tu mets juste en param n°_de_page+1


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°128099
kayasax
Posté le 18-04-2002 à 19:26:00  profilanswer
 

merci Sh@rdar je t'attendais  ;)  :D  
 
comment savoir le dernier n° de page pour ne pas afficher le lien ?


---------------
All we need is a soul revolution
n°128105
kayasax
Posté le 18-04-2002 à 19:41:23  profilanswer
 

nan c bon g trouve
encore merci

n°128113
Sh@rdar
Ex-PhPéteur
Posté le 18-04-2002 à 19:58:26  profilanswer
 

désolé j'étais occupé, mais je le poste quand même
 
tu as deux options :
 
1-faire des flèches SUIVANT/PRECEDENT
 
soit :
 
$nmpp = 10;  // le nombre de message par page
$ntotal= 50; // le nmbre total de résultat à afficher (ça vient d'une requête COUNT() sur l'ensemble des posts)
// $début c'est le n° du premier post à afficher
 
dans ta requête qui sert à afficher la page en cours
tu as la clause LIMIT $début,$nmpp

 
<?
// on démarre au post 0 par défaut
if (!isset($debut)) $début =0;
 
//  si le numéro du premier post  affiché est supérieur au nombre  
// de post par page, on affiche le lien "PRECEDENT"
//  
if ($debut >= $nmpp) echo "<a href=\"tapage.php?debut=". ($debut-$nmpp)."\">PRECEDENT</a>";
 
 
// si il reste encore des posts après le post en cours,
// on affiche le lien "SUIVANT"
if ($debut + $nnp < $ntotal) { echo "<a href=\"tapage.php?debut=".($debut+$nnp)."\">SUIVANT</a>";
?>
 
 
2 - Afficher directement toutes les pages pour proposer un accès direct (comme sur le forum HFR)
 
soit :
 
$nmpp = 10;  // le nombre de message par page
$ntotal= 50; // le nmbre total de résultat à afficher
// $npage c'est le n° de la page en cours
 
dans ta requête qui sert à savoir quels messages tu dois afficher sur la page
tu as une clause LIMIT ($npage*$nmpp),$nmpp

 
<?
// on démarre à la page 0
if (!isset($npage)) $npage =0;
 
 
// on boucle pour afficher chacun des liens correspondant à une page
 
for ($i=0; $i<$ntotal/$nmpp; $i++) {
 
  // si la page en cours est différent on affiche le lien pour y accèder
  if ($i<>$npage) echo " <a href=\"tapage.php?npage=$i\">".$i+1."</a>  
 
  // sinon on affiche juste le n° de page
  else echo $i+1;
 
}
?>


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°128114
Sh@rdar
Ex-PhPéteur
Posté le 18-04-2002 à 20:00:14  profilanswer
 

bon y a des erreurs de syntaxes mais si c'est pas clair, demande j'epliquerais un peu plus.


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°128137
kayasax
Posté le 18-04-2002 à 20:55:11  profilanswer
 

Sh@rdar mi amor ... :love:  
 
en fait moi je combine tes 2 techniques.
Y a k'1 truc que je capte pas dans ton 1 c'est:

Citation :

//  si le numéro du premier post  affiché est supérieur au nombre  
// de post par page, on affiche le lien "PRECEDENT"
//  
if ($debut >= $nmpp) echo "<a href=\"tapage.php?debut=". ($debut-$nmpp)."\">PRECEDENT</a>";


 
 
c sera pas pluto if ($debut+$nmpp >= $ntotal) ?
edit : ah non c bon je viens de comprendre ce que tu fais !

 

[jfdsdjhfuetppo]--Message édité par kayasax--[/jfdsdjhfuetppo]

n°128138
Sh@rdar
Ex-PhPéteur
Posté le 18-04-2002 à 21:09:05  profilanswer
 

bin non, si ton premier message affiché est plus grand que le nombre de message par page, alors il en reste à afficher avant et tu dois mettre une flêche PRECEDENT
 
c'est logique nan ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°128148
kayasax
Posté le 18-04-2002 à 21:28:39  profilanswer
 

bon pour moi tout roule mais je corrige pour ceux que ca interesse :
 
Sh@rdar a oublie le < en rouge
if ($debut + $nnp << $ntotal) { echo "<a href=\"tapage.php?debut=".($debut+$nnp)."\">SUIVANT</a>";
?>
 
 :hello:

 

[jfdsdjhfuetppo]--Message édité par kayasax--[/jfdsdjhfuetppo]

n°128155
kayasax
Posté le 18-04-2002 à 22:06:36  profilanswer
 

il doit y avoir une autre erreur qqes part parceque parfois le lien suivant s'affiche alors qu'il n'y a aucun msg dans la derniere page et des fois ca tourne impec (en fonction de la limite de post par page).
 
Voila mes tests :
 
$pn=$p+1;
$pp=$p-1;
 
if($debut>=$limite_post):
echo("<tr><td colspan=\"2\" align=\"right\"><a href=\"viewmsg.php?id=$id&p=$pp\">Previous</a></td></tr>" );
elseif($limite_post+$debut << $nbpost):
echo("<tr><td colspan=\"2\" align=\"right\"><a href=\"viewmsg.php?id=$id&p=$pn\">Next</a></td></tr>" );//lien page suivante
elseif($debut=="0" && $nbpost>$limite_post):
echo("<tr><td colspan=\"2\" align=\"right\"><a href=\"viewmsg.php?id=$id&p=$pn\">Next</a></td></tr>" );//lien page suivante
endif;

n°128166
Sh@rdar
Ex-PhPéteur
Posté le 18-04-2002 à 22:40:19  profilanswer
 

en principe y a pas besoin d'ajouter le < en plus...
 
ce truc marche normalement, je m'en sers sur ma page perso.
 
donnes un peu tes requêtes de comptage de poste et le code d'affichage des liens PRECEDENT/SUIVANT stp


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°128167
kayasax
Posté le 18-04-2002 à 22:47:01  profilanswer
 

pour les liens je t'ai mis le code + haut, pour le reste c difficile a isoler ds mon script...
je peux mettre le code complet si tu veux
 
EDIT : en fait laisse tomber g fait nimportkoi... je reprend ca demain...

 

[jfdsdjhfuetppo]--Message édité par kayasax--[/jfdsdjhfuetppo]

n°129032
kayasax
Posté le 21-04-2002 à 15:09:05  profilanswer
 

C'est bon tout fonctionne merci a tous !
encore une tite question qui ne concerne pas mon forum mais c pour ma culture :
comment autoriser les users a poster du code html sans qu'il s'execute ? j'avais pense a strip_tags mais ca vire carrement les balises. j'ai aussi pense a entoure le post par <pre></pre> mais la substitution des smilies ou des liens ne se ferait plus dans ce cas la...
 :hello:

n°129049
Dost67
Posté le 21-04-2002 à 16:38:58  profilanswer
 

kayasax a écrit a écrit :

C'est bon tout fonctionne merci a tous !
encore une tite question qui ne concerne pas mon forum mais c pour ma culture :
comment autoriser les users a poster du code html sans qu'il s'execute ? j'avais pense a strip_tags mais ca vire carrement les balises. j'ai aussi pense a entoure le post par <pre></pre> mais la substitution des smilies ou des liens ne se ferait plus dans ce cas la...
 :hello:  




 
Nan car entre des <pre> ça s'exécute quand même (en tout cas dans Opera). Tu fais juste un $post = htmlspecialchars($post) avant d'enregistrer dans la base de données comme ça les > et < sont convertits en > et <.

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [philosophie] les forums php/Js ...

 

Sujets relatifs
[JAVA] Quels sont vos forums préférés pour développer en Java ?existe t'il des kits forums en php que je pourrias intégrer à mon site
mySQL et les forums ...Recherche aide pour forums PHP-BB
Utilitaire pour suivre les forums en temps réelPropose boutons pour forums
Ou trouver des supers forums sans publicité ou un peu alors?Sites web de forums en CGI et en anglais
D'autres forums? 
Plus de sujets relatifs à : [philosophie] les forums php/Js ...


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)