moogli

  • Signature
    Il en faut peu pour être heureux !!!!!
  • Site web
  • Nombre de sujets
    33
  • Nombre de messages
    1 802
  • Nombre de commentaires
    6
  • Nombre de news
    Aucune
  • Niveau en PHP
    Excellent

Ses derniers messages sur les forums

moogli
le 11/09/2004 à 11:33
Forum
Salut,

Le problème est clair " Erreur interne du serveur " smiley

J'ai des courses a faire mais y pleut tu peu pas faire chanfer le temps assez vite STP ......

blague mise a part : J'ai eu se genre de problème avec un Htaccess que mon hébergeur ne prenenait pas.

Si tu veut une solution rapide je te conseil de SAUVEGARDER ta base et de réinstaller ton forum (suppression ou mieux sauvegarde sur ton DD des anciens fichiers puis réinstall), de regarder s'il tourne et de remettre ta base comme elle était avant.

Je précise c'est une solution rapide qui bien faite ne souffre d'aucune perte mais cela dépend 1/ du forum que tu utilise, 2/ de la façon dont tu procéde.

si tu fait :
1/ Sauvegarde de la base dans un fichier chez toi
2/ Sauvegarde des fichiers (tous) chez toi sur ton
3/ Réinstalle du forum
4/ test du forum
5/ retour de la base d'origine (celle sauvegardé)
6/ essai du forum neuf avec la base

Pour finir je dirais que (comme tu as du le comprendre) ce qui t'est vitale ne l'est pas forcément pour nous et que sans message d'erreur, le nom du forum utilisé (utile pour savoir si l'un d'entre nous a eu les memes déboire que toi) et toute chose que tu peut juger utile nous ne peu pas faire grand chose a part ben g eu sa ou sa ......

Ma solution est bourrin mais doit fonctionner, je précise que je ne suis pas responsable si tu m'empoi et que perd tes données suite a une mauvaise manip.

@+
Il en faut peu pour être heureux !!!!!
moogli
le 11/09/2004 à 11:07
Types de variables
ben file le code en entier se sera + simple @+
Il en faut peu pour être heureux !!!!!
moogli
le 10/09/2004 à 17:23
Types de variables
Normale g core fait le boulet tu met
=> $tablo[]=explode ..... et sa doit marcher normalement smiley
Il en faut peu pour être heureux !!!!!
moogli
le 10/09/2004 à 17:03
Messagerie interne
On me la deja fait celui la smiley smiley
Il en faut peu pour être heureux !!!!!
moogli
le 10/09/2004 à 16:50
Messagerie interne
Salut à tous, voila j'ai eu le temps de refaire mon script pour supprimer les erreurs. J'en ai profité pour rajouter deux trois p'tite choses, bonne lecture smiley

Pour commencer je citerais la pensée du maitre des lieux ( La Globule ) :
Ce script n'est pas sécurisé (pas de rejet de non membre ...), Le copier coller ne sert a rien, le principe est de comprendre le fonctionnement pas d'avoir un truc qui risque de fonctionner :)


[color=red]Préalable :[/color]

Je suppose que vous utilisez une table membre qui contient au minimun les champs : id et pseudo.
Je suppose aussi que vote espace membre repose sur les sessions (voir le comment faire et le cour associé).
Je suppose aussi que lors de la connection du membre vous enregistrez : l'id du membre dans la variable de session : $_SESSION['id'] ainsi que le pseudo du membre dans la variable de session : $_SESSION['pseudo']


Pour commencer :
[list][color=red]De quoi a t on besoin ?[/color]

[*]1/ Une table qui contient les messages (on l'appele messagerie)
[*]2/ Une page pour lire ses messages : lire.php
[*]3/ Une page pour repondre : repondre.php
[*]4/ Une page pour envoyer : envoyer.php
[*]5/ Une page pour supprimer : del.php
[/list]

Bien sur les points 2 ->5 peuvent se faire sur la meme page :) (j'utilise 5 pages par souci de simplicité et de clareté)
[color=red] 1/ La table[/color]

[list]La base doit contenir
[*] l'id du sujet
[*] l'id du posteur
[*] l'id du destinataire
[*] le sujet du message (titre)
[*] le message
[*] la date
[*] un champ lu (1 si oui 0 si non)
[/list]

Structure de la table membre :

CREATE TABLE membre (
id int(6) NOT NULL auto_increment,
pseudo VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`)
)type=MyISAM;

Structure de la table messagerie :

CREATE TABLE messagerie (
id int(6) NOT NULL auto_increment,
id_posteur int(6) NOT NULL,
id_destinataire int(6) NOT NULL,
sujet varchar(255) NOT NULL,
message text NOT NULL,
date datetime NOT NULL,
lu int(1) NOT NULL,
PRIMARY KEY (`id`)
)type=MyISAM;

Voilà pour la table, on passe aux fichiers

[color=red]Le fichier lire.php[/color]

[list]Que doit contenir ce fichier
[*] L'affichage d'une liste avec les titres pour selectionnner le message a lire
[*] L'affichage du message sélectionné
[/list]

(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1649]ce lien[/lien])


[color=red]Le fichier envoyer.php[/color]
[list]Que doit contenir ce fichier
[*] Un fomulaire pour entrer le message, le titre et le destinataire
[*] Le traitement du formulaire
[/list]
(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1650]ce lien[/lien])


[color=red]Le fichier repondre.php[/color]
[list]Que doit contenir ce fichier
[*] Un formulaire permmettant d'entrer le message de réponse
[*] Le traitement du formulaire
[/list]
On arrive avec l'id du message au quel on répond, on commence par afficher ce message puis une textarea pour le texte de la reponse (On affiche ausi le titre du message dans la barre de titre de la fenetre)
(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1651]ce lien[/lien])


[color=red]Le fichier del.php[/color]
[list]Que doit contenir ce fichier
[*] Le traitement de la suppression des messages :)
[/list]
(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1652]ce lien[/lien])


Le fichier config.php de base pour faire fonctionner tout sa :)
[list]Que doit contenir ce fichier
[*] La connection à la base mysql
[*] Un session_start() pour lancer la session
[/list]
<?php
//permet d'ouvrir la session pour simuler l'espace membre (a vous de faire suivant votre script)
session_start();
/*------------------------------------------*/
/* Connection a la base --------------------*/
/*------------------------------------------*/
$base=mysql_connect('localhost','root',''); //parametre par defaut en local (easyphp,wamp et meme l'install préconisé par La Globule :) )
mysql_select_db('messagerie',$base) or die('Erreur connection à la base :'.$base.''.mysql_error());
?>


Que faire en plus ?
Vous pouvez ajouter une gestion de smileys et de BBCODE, donner un aspect plus sympatique a cette messagerie, remplacer le oui ou non de la page lire.php par une petite image et bien d'autres choses aux quels je n'est certainement pas pensés smiley ....

Le code est fonctionnel, je l'espère assez bien commenté et qu'il pourras aider tous ceux qui ce pose plein de questions sur les messsageries internes.
Cette messagerie permet l'envoie de message a plusieurs destinataire (en mes separant par un ; dans le champ destinataire).
J'ai dis que ce script est fonctionnel car l'affichage est basique (meme assez laid) et qu'il n'est nullement " sécrisé ". Pour cela il faut ajouter dans
le fichier config.php (inclus en haut de chaque page) votre script de sécrurité permettant de rejeter les non membres.

Je précise que je suis partisant du 0 HTML dans les saisis utilisateurs d'où la strip_tags lors de l'insertion de celle ci dans la bdd.
Tout ce qui ressemble a une balise html sera supprimer du message, vous pouvez contourner cela en utilisant à la place des fonctions telle que htmlspecialchars() et htmlentities().
Je m'excuse pour l a première version complétement pourris !!! Celle ci fonctionne parfaitement (dans les limites que je me suis fixé et qui sont indiquées au début)
J'espère que vous ne vous êtes pas perdu ni assoupi en lisant tout se charabia smiley
Pour ceux qui souhaite voir ce que cela peut donner ils peuvent télécharger ceci. C'est un daforum au quel j'ai ajouté une messagerie (l'affichage n'est top je sais).

amusez vous bien @+
Il en faut peu pour être heureux !!!!!
moogli
le 04/09/2004 à 14:34
une requete deux serveurs
Salut, bienvenue

Lorsque tu effectue un mysql_query tu rentre en deuxième parametre (optionel) la base de donnée a la quelle tu te connecte et et il me semble que l'on ne peut en indiquer qu'un seul ....

donc je pense qu'il va te falloir 2 requetes , 1 par server.
Il en faut peu pour être heureux !!!!!
moogli
le 03/09/2004 à 18:45
Prob de construction de requete
Ok autant pour moi smiley

Tu veut les membres qui sont dans membres et po dans credit ?

SELECT membre.id FROM membre,credit WHERE membre.id<>credit.id

d'apres ce que tu vient de dire dans la table credit tu n'a que d gens qui n'on pas la date du jour donc tu n'a pas besoin de la date ?

sinon montre un exemple la je patauge :)
Il en faut peu pour être heureux !!!!!
moogli
le 03/09/2004 à 18:38
Concordance local/serveur
lu,

au vu de ton script sa parais normal qu'il te mette les variables ne sont pas déclaré (du moins la première fois).
enusite si ta page est complete comme sa je pige po smiley
sa sert a koi sa =>
<body bgcolor="#000000" text="#FF9900" link="#00CCFF"></body> smiley

Je doit conclure que cette page est 'appelée' en action d'un formulaire sur une autre page. Dans ce cas je te conseil de vérifer l'ortographe de tes variables, parce que la sa ma pas l'aire d'être un problème de regsiter global.

Pour le reste je dirais que pour tout ceux qui ont appris le php ici je pense qu'il code pour les registers global a off puisque la globule a orienté ces cours comme cela (ce qui n'est pas plus mal dans un sens).

@+
Il en faut peu pour être heureux !!!!!
moogli
le 03/09/2004 à 18:30
Modification d'un champ de base non pris en compte ??
salut,

en fait Koboneil a oublier la concaténation (se n'est pas un reproche, je compte plus les fois ou je le fait)
[ien]http://www.lephpfacile.com/wall/lire_wall.php?wall=1641[/lien]

Si non la principale différence entre ' et " c'est que php va essayer d'interpreter tout ce qui se trouve entre double quote (").
exemple
<?php
$moogli= "C'est moi :)".

echo 'Qui est moogli : $moogli';
//affichage : Qui est moogli $moogli
echo 'Qui est moogli : '.$moogli;
//affichage Qui est moogli : c'est moi :)
echo "Qui est moogli : $moogli";
//affichage Qui est moogli : c'est moi :)

c'est pour cela qu'entre double quote il faut echapper les caractère spéciaux (telque '," \, $ ....)

@+
Il en faut peu pour être heureux !!!!!
LoadingChargement en cours