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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  440  441  442  ..  486  487  488  489  490  491
Auteur Sujet :

les développeurs de forums, les 3/4 des forums sont down /o\

n°1562302
Tristou
Keep calm and hack cookies
Posté le 19-05-2007 à 09:35:25  profilanswer
 

Reprise du message précédent :
Ouaip, c'est ce que j'ai fait et effectivement, en allant ajouter dans la BDD le nom du fichier (le script d'upload n'est pas fini), il m'affiche bien le message d'erreur car le champ est rempli. Seulement quand je supprimes l'entrée directement dans la base, le smiley n'aparait plus dans le profil (normal) mais j'ai toujours le message d'erreur me disant que j'ai déjà un smiley [:gratgrat]


Message édité par Tristou le 19-05-2007 à 09:37:17

---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
mood
Publicité
Posté le 19-05-2007 à 09:35:25  profilanswer
 

n°1562313
kao98
...
Posté le 19-05-2007 à 10:46:23  profilanswer
 

Code :
  1. if (empty($affichage['membre_smiley']) || $affichage['membre_smiley']=='')


 
Non ?
Une chaine vide c'est pas "empty" ou "Null" je crois.

Message cité 2 fois
Message édité par kao98 le 19-05-2007 à 10:48:06

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1562316
chaced
Posté le 19-05-2007 à 11:02:14  profilanswer
 

kao98 a écrit :

Code :
  1. if (empty($affichage['membre_smiley']) || $affichage['membre_smiley']=='')


 
Non ?
Une chaine vide c'est pas "empty" ou "Null" je crois.


 
Une chaine vide c'est différent de NULL, null c'est si on fait un unset sur une variable, ou si on test sur une variable qui n'a pas été encore alloué. (ou que l'on met soit meme NULL dans la variable bien sur :D)


---------------
CPU-Z | Timespy | Mes bd | Mon blog
n°1562334
kao98
...
Posté le 19-05-2007 à 12:24:33  profilanswer
 

Oui, merci pour les précisions.
Une chaine vide, c'est bel et bien différent de empty et de null.
 
Par contre, squoi la différence entre empty et null (s'il y en a) ?


Message édité par kao98 le 19-05-2007 à 12:27:55

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1562340
chaced
Posté le 19-05-2007 à 13:01:34  profilanswer
 

empty retourne true si ce qui est passé en parametre est vide :D
 
Genre une chaine vide, l'entier 0, null, false ou encore un tableau vide.
 


---------------
CPU-Z | Timespy | Mes bd | Mon blog
n°1562355
kao98
...
Posté le 19-05-2007 à 13:49:18  profilanswer
 

D'accord d'accord ! Merci pour ce détail ! :jap:


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1562359
Tristou
Keep calm and hack cookies
Posté le 19-05-2007 à 14:05:32  profilanswer
 

Je ne vois vraiment pas où ça cloche, mon raisonnement a l'air pourtant juste [:noxauror]
 
Voilà la structure de mon champ 'membre_smiley'
 

membre_smiley    varchar(100)  Oui    NULL


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
n°1562360
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 19-05-2007 à 14:05:42  profilanswer
 

kao98 a écrit :

Code :
  1. if (empty($affichage['membre_smiley']) || $affichage['membre_smiley']=='')
 

Non ?
Une chaine vide c'est pas "empty" ou "Null" je crois.


Non, ça ne sert à rien ton bout de code là. il empty($affichage['membre_smiley']) retournera ok si $affichage['membre_smiley'] n'existe pas, si il est égal à zéro, si il est égal à une chaine vide (là c'est ta condition) ou si il est égal à NULL.

 

Edit : Ha zut, grillaid. :D


Message édité par The-Shadow le 19-05-2007 à 14:06:10
n°1562563
Tristou
Keep calm and hack cookies
Posté le 20-05-2007 à 11:13:23  profilanswer
 

Yop, une idée pour mon problème :D ?
 
Et sinon, comment vous gérer les fuseaux horaires du moins pour les lister dans le profil avec l'heure correspondante ? J'ai déjà fait quelques recherches mais ça m'a l'air assez ardu :(


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
n°1562875
Tristou
Keep calm and hack cookies
Posté le 21-05-2007 à 13:52:13  profilanswer
 

Corrigé le problème précédent, il suffisait d'ajouter dans la requête

 
Code :
  1. WHERE membre_pseudo = '" .$_SESSION['pseudo']. "'
 


Pour le profil j'aurais besoin de faire une jointure entre ma table forum_membres (avec les infos de chaque membre genre la localisation, le pseudo, le mot de passe etc.) et la table de configuration propore à chaque utilisateur (nombre de sujets par page, nombre de messages par page, activer le BBcode etc)

 


Ma table forum_membre (du moins ce dont j'ai besoin dans le profil) est composé des champs suivants :
membre_pseudo, membre_mdp, membre_email,membre_sexe, membre_siteweb, membre_msn, membre_metier, membre_passion, membre_avatar, membre_signature, membre_citation, membre_smiley, membre_localisation

Et la table de config de ces champs-là :
config_id_forum, config_membre_id, config_activ_bbcode, config_activ_signature, config_activ_avatars, config_nombre_sujets, config_nombre_messages, config_connex_invis, config_msg_flash, config_langue

 

J'ai d'ores et déjà fait ça mais il doit manquer des trucs :

 
Code :
  1. $requete_profil = mysql_query (
  2.                      'SELECT membre_pseudo, membre_mdp, membre_email,membre_sexe, membre_siteweb, membre_msn, membre_metier,
  3.               membre_passion, membre_avatar, membre_signature, membre_citation, membre_smiley, membre_localisation
  4.                       FROM forum_membres
  5.                       LEFT JOIN forum_config_user
  6.                       ON forum_membres.membre_id = forum_config_user.config_membre_id
  7.                       WHERE membre_id="'.$_SESSION['id'].'"
  8.                       ')
 

J'ai bien saisi le concept mais les différents cas que j'ai vu ne correspondant pas au mien, j'ai un peu de mal à réaliser cette jointure :/

Message cité 2 fois
Message édité par Tristou le 21-05-2007 à 13:52:59

---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
mood
Publicité
Posté le 21-05-2007 à 13:52:13  profilanswer
 

n°1562898
cinocks
Posté le 21-05-2007 à 14:15:51  profilanswer
 

Tristou a écrit :

Corrigé le problème précédent, il suffisait d'ajouter dans la requête
 
 
...
 
 
Ma table forum_membre (du moins ce dont j'ai besoin dans le profil) est composé des champs suivants :  
membre_pseudo, membre_mdp, membre_email,membre_sexe, membre_siteweb, membre_msn, membre_metier, membre_passion, membre_avatar, membre_signature, membre_citation, membre_smiley, membre_localisation  

Et la table de config de ces champs-là :
config_id_forum, config_membre_id, config_activ_bbcode, config_activ_signature, config_activ_avatars, config_nombre_sujets, config_nombre_messages, config_connex_invis, config_msg_flash, config_langue
 
J'ai d'ores et déjà fait ça mais il doit manquer des trucs :
 

Code :
  1. $requete_profil = mysql_query (
  2.                      'SELECT membre_pseudo, membre_mdp, membre_email,membre_sexe, membre_siteweb, membre_msn, membre_metier,
  3.               membre_passion, membre_avatar, membre_signature, membre_citation, membre_smiley, membre_localisation
  4.                       FROM forum_membres
  5.                       LEFT JOIN forum_config_user
  6.                       ON forum_membres.membre_id = forum_config_user.config_membre_id
  7.                       WHERE membre_id="'.$_SESSION['id'].'"
  8.                       ')


 
J'ai bien saisi le concept mais les différents cas que j'ai vu ne correspondant pas au mien, j'ai un peu de mal à réaliser cette jointure :/


 
C'est quoi ta question? Si tu veux recuperer des champs venant de plusieurs tables, tu fais une jointure entre elles et retourne les champs dont tu as besoin.  :??:

n°1562915
Tristou
Keep calm and hack cookies
Posté le 21-05-2007 à 14:27:33  profilanswer
 

Bah c'est : comment joindre ces deux tables justement, dans le SELECT, je n'ai mis les champs de la première table, faut-il aussi ajouter les champs de la deuxième ? J'ai aussi vu des cas où il y a  des 'a' ou des 'b' devant le nom des champs d'autres fois, c'est carrément le nom de la table ? Faut-il utiliser AS ?


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
n°1562930
Dr House
It's NOT lupus
Posté le 21-05-2007 à 14:34:50  profilanswer
 

Code :
  1. $requete_profil = mysql_query ('SELECT
  2. A.membre_pseudo, A.membre_mdp, A.membre_email,A.membre_sexe, A.membre_siteweb, A.membre_msn, A.membre_metier, A.membre_passion, A.membre_avatar, A.membre_signature, A.membre_citation, A.membre_smiley, A.membre_localisation,
  3. B.config_id_forum, B.config_membre_id, B.config_activ_bbcode, B.config_activ_signature, B.config_activ_avatars, B.config_nombre_sujets, B.config_nombre_messages, B.config_connex_invis, B.config_msg_flash, B.config_langue
  4. FROM forum_membres as A
  5. LEFT JOIN forum_config_user as B
  6. ON A.membre_id = B.config_membre_id
  7. WHERE membre_id="'.$_SESSION['id'].'"')


 
Ou plus simple :
 

Code :
  1. $requete_profil = mysql_query ('SELECT A.*, B.*
  2. FROM forum_membres as A
  3. LEFT JOIN forum_config_user as B
  4. ON A.membre_id = B.config_membre_id
  5. WHERE membre_id="'.$_SESSION['id'].'"')


 
Nan ? [:petrus75]


Message édité par Dr House le 21-05-2007 à 14:35:43

---------------
En attente d'anonymat.
n°1562942
Tristou
Keep calm and hack cookies
Posté le 21-05-2007 à 14:40:43  profilanswer
 

De préférence la première parce que dans forum_membres je n'ai pas besoin de tout les champs. Donc en fait, on séléctionnes tous les champs nécéssaires des deux tables, on définit A comme la première table et B comme la deuxième et ensuite on joint c'est ça ?


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
n°1562946
Dr House
It's NOT lupus
Posté le 21-05-2007 à 14:42:31  profilanswer
 

Walà, c'est plus simple au niveau de la syntaxe :jap:
 
Après, au lieu de A, tu peux appeler ça "bonjour" :D
 
SELECT bonjour.membre_pseudo, bonjour.membre_mdp
FROM ta_table as bonjour
 
[:petrus75]
 
Bref, c'est juste une histoire de syntaxe là ;)


---------------
En attente d'anonymat.
n°1562958
Tristou
Keep calm and hack cookies
Posté le 21-05-2007 à 14:49:57  profilanswer
 

:jap:
 
Je vais le refaire histoire de bien comprendre (et accessoirement faire marcher [:petrus75])


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
n°1563151
Tristou
Keep calm and hack cookies
Posté le 21-05-2007 à 19:57:33  profilanswer
 

Bon, si ça avait marché du premier coup, ça aurait été trop beau [:petrus75] : j'ai un souci.
 
Tous les contenus de la première table s'affichent normalement, comme avant la jointure, en revanche, j'ai voulu afficher le contenu d'un champ de la deuxième table, celle qui est jointe (en faisant $affichage['nom_du_champ']) et rien ne s'affiche (j'ai rajouté A.membre_id dans la requête des fois que ça manque mais ça ne change rien.)
 
Bien entendu, j'ai rempli ledit champ via mysql :jap:


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
n°1563154
Dr House
It's NOT lupus
Posté le 21-05-2007 à 20:07:05  profilanswer
 

Balance ta requête :D


---------------
En attente d'anonymat.
n°1563179
Tristou
Keep calm and hack cookies
Posté le 21-05-2007 à 20:47:56  profilanswer
 

Code :
  1. $requete_profil = mysql_query('SELECT
  2.           A.membre_id, A.membre_pseudo, A.membre_mdp, A.membre_email,A.membre_sexe, A.membre_siteweb, A.membre_msn, A.membre_metier, A.membre_passion,
  3.    A.membre_avatar, A.membre_signature, A.membre_citation, A.membre_smiley, A.membre_localisation,
  4.           B.config_id_forum, B.config_membre_id, B.config_activ_bbcode, B.config_activ_signature, B.config_activ_avatars, B.config_nombre_sujets,
  5.    B.config_nombre_messages, B.config_connex_invis, B.config_msg_flash, B.config_langue
  6.           FROM forum_membres as A
  7.           LEFT JOIN forum_config_user as B
  8.           ON A.membre_id = B.config_membre_id
  9.           WHERE membre_id="'.$_SESSION['id'].'"') or die(mysql_error());
 

J'ai resaisi la requête que tu m'a conseillé (en ajoutant le champ membre_id)


Message édité par Tristou le 21-05-2007 à 20:49:27

---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
n°1563227
joce
Architecte / Développeur principal
"BugHunter"
Posté le 21-05-2007 à 22:53:57  profilanswer
 

Tristou a écrit :

Corrigé le problème précédent, il suffisait d'ajouter dans la requête
 

Code :
  1. WHERE membre_pseudo = '" .$_SESSION['pseudo']. "'


 


 
SQL injection time !


---------------
Protèges carnets personnalisés & accessoires pour bébé
n°1563229
Tristou
Keep calm and hack cookies
Posté le 21-05-2007 à 23:10:21  profilanswer
 

Ah bon ? Euuuh par rapport au code ci-dessus, j'ai viré les deux " par contre dans une requête qui ne fais qu'afficher une info (dans le sens où ça ne passe pas par le clic sur un lien ou par un formulaire), comment on peut avoir une injection SQL :??:

 

EDIT : c'est bon, on m'a expliqué, je corrige, merci :jap:


Message édité par Tristou le 22-05-2007 à 00:12:25

---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
n°1563239
the real m​oins moins
Posté le 22-05-2007 à 00:34:03  profilanswer
 

joce a écrit :

SQL injection time !


ouais tiens, avec une variable de session qui contient le pseudo, bien sûr [:frag_facile]

n°1563240
chaced
Posté le 22-05-2007 à 00:35:05  profilanswer
 

joce a écrit :

SQL injection time !


 
Faut mieux tout proteger c'est clair  :jap:


---------------
CPU-Z | Timespy | Mes bd | Mon blog
n°1563259
art_dupond
je suis neuneu... oui oui !!
Posté le 22-05-2007 à 08:16:56  profilanswer
 

Comment ça peut se faire "injecter" ?
 
 
merci :)


---------------
oui oui
n°1563285
drasche
Posté le 22-05-2007 à 09:44:28  profilanswer
 

http://www.google.fr/search?hl=fr& [...] ql&spell=1


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°1563295
masklinn
í dag viðrar vel til loftárása
Posté le 22-05-2007 à 10:00:49  profilanswer
 

the real moins moins a écrit :

ouais tiens, avec une variable de session qui contient le pseudo, bien sûr [:frag_facile]


Si le pseudo mis en session vient directement de la saisie utilisateur au lieu d'être extraite de la BDD, oui.
 
Et je te rappelle que tu parles à Joce, donc ça ne m'étonnerait pas un instant qu'il le gère comme ça [:pingouino]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1563306
the real m​oins moins
Posté le 22-05-2007 à 10:15:50  profilanswer
 

masklinn a écrit :

Si le pseudo mis en session vient directement de la saisie utilisateur au lieu d'être extraite de la BDD, oui.


voilà voilà [:frag_facile]

n°1563771
art_dupond
je suis neuneu... oui oui !!
Posté le 23-05-2007 à 08:05:07  profilanswer
 

 

Merci mais  je voulais savoir comment "injecter" une variable de session ;)

 
masklinn a écrit :

Si le pseudo mis en session vient directement de la saisie utilisateur au lieu d'être extraite de la BDD, oui.

 

Et je te rappelle que tu parles à Joce, donc ça ne m'étonnerait pas un instant qu'il le gère comme ça [:pingouino]

 

Mais avant de le foutre en session, on vérifie d'abord que c'est un bon pseudo non ?

 

Je me vois pas avoir un pseudo en session et de faire par la suite une requête dessus.

 

Y a un autre moyen de se faire "injecter" une variable de session ?

Message cité 1 fois
Message édité par art_dupond le 23-05-2007 à 08:05:34

---------------
oui oui
n°1563773
cinocks
Posté le 23-05-2007 à 08:19:15  profilanswer
 

Du toute façon un pseudo pour identifiant interne, c'est moche. :o

n°1563805
soulmanto
Chat Noir replica
Posté le 23-05-2007 à 10:08:37  profilanswer
 

grave! :o

n°1563816
raph77
Posté le 23-05-2007 à 10:37:36  profilanswer
 

Alors qu'être un numéro c'est le top :sol:
 
:whistle:

n°1563837
omega2
Posté le 23-05-2007 à 11:07:40  profilanswer
 

http://www.leprisonnier.net/fonds/no6_on_the_phone_small.jpg
Je ne suis pas un numéro, je suis un homme libre.
 [:anathema]

n°1564000
joce
Architecte / Développeur principal
"BugHunter"
Posté le 23-05-2007 à 14:41:11  profilanswer
 

art_dupond a écrit :

Merci mais  je voulais savoir comment "injecter" une variable de session ;)
 
 
 
Mais avant de le foutre en session, on vérifie d'abord que c'est un bon pseudo non ?
 
Je me vois pas avoir un pseudo en session et de faire par la suite une requête dessus.
 
Y a un autre moyen de se faire "injecter" une variable de session ?


oue mais tu peux decider de prendre comme pseudo 1' OR 1 et hop ca te fait faire un SELECT sur toute la base user :love: (magic quote a off of course)

Message cité 3 fois
Message édité par joce le 23-05-2007 à 14:41:51

---------------
Protèges carnets personnalisés & accessoires pour bébé
n°1564029
chaced
Posté le 23-05-2007 à 15:17:28  profilanswer
 

vive la fonction mysql_real_escape_string :D
 
Au passage ils auraient pu trouver plus court comme nom...


---------------
CPU-Z | Timespy | Mes bd | Mon blog
n°1564031
the real m​oins moins
Posté le 23-05-2007 à 15:18:10  profilanswer
 

joce a écrit :

oue mais tu peux decider de prendre comme pseudo 1' OR 1


ha bon [:pingouino]

n°1564094
masklinn
í dag viðrar vel til loftárása
Posté le 23-05-2007 à 16:08:01  profilanswer
 

chaced a écrit :

vive la fonction mysql_real_escape_string :D
 
Au passage ils auraient pu trouver plus court comme nom...


Ben non, mysql_escape_string était déjà pris par une fonction qui n'échappe pas tout comme il faut [:pingouino]
 
Et ils pouvaient pas remplacer l'une par l'autre, ça aurait réduit les risques d'injection sql :o


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1564179
chaced
Posté le 23-05-2007 à 17:38:16  profilanswer
 

d'un coté ce n'est pas grave j'utilise ma propre fonction qui appelle mysql_real_escape_string, comme ça si ils changent encore cette fonctione ça ira plus vite :D


---------------
CPU-Z | Timespy | Mes bd | Mon blog
n°1564253
art_dupond
je suis neuneu... oui oui !!
Posté le 23-05-2007 à 19:41:45  profilanswer
 

joce a écrit :

oue mais tu peux decider de prendre comme pseudo 1' OR 1 et hop ca te fait faire un SELECT sur toute la base user :love: (magic quote a off of course)


ok :o
 

Spoiler :

Bande de malades qui pensez que des gens puissent penser à des trucs de malades pour rendre vos forums malades :p


---------------
oui oui
n°1564257
joce
Architecte / Développeur principal
"BugHunter"
Posté le 23-05-2007 à 19:55:38  profilanswer
 

ba en pratique ils le font :p
Suffit de voir le nombre de faille phpbb exploitees :D


Message édité par joce le 23-05-2007 à 19:55:51

---------------
Protèges carnets personnalisés & accessoires pour bébé
n°1564281
art_dupond
je suis neuneu... oui oui !!
Posté le 23-05-2007 à 20:47:30  profilanswer
 

ah voilà, t'as aucun mérite en fait...


---------------
oui oui
n°1564282
rosco
Posté le 23-05-2007 à 20:51:32  profilanswer
 

Heureusement que MD est pas public, y doit en avoir des failles là dedans [:pingupra]

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  440  441  442  ..  486  487  488  489  490  491

Aller à :
Ajouter une réponse
 

Sujets relatifs
question avec les forums phpbb2[php] trouver la premier place ou inserer un enregistrement (résolu)
Forums phpBBQui connait l'algo du Passticket et sa mise en place en VB ?
[Merise] Mise en place d'un MCDFocus mal placé....
[Blabla/Prog] Les développeurs foromeurs sont-ils des feignasses?Mise en place d'un formulaire CGI
forums création de site internetJava - Mise en place d'une api (Servlet)
Plus de sujets relatifs à : les développeurs de forums, les 3/4 des forums sont down /o\


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