E-magination
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


~ S'évader de la banalité... Et entrer dans l'imaginaire ! ~
 
AccueilGuelnika, le site de E-m !ChatS'enregistrerConnexion
Le deal à ne pas rater :
Code promo Nike : -25% dès 50€ d’achats sur tout le site Nike
Voir le deal

 

 La programmation

Aller en bas 
+36
pouale
meteskis
Choco-sama
Dragongaze13
Wraithslayer/HD
Kotomine
Naqqah
kilam1110
wolftag
valentinos
garywiss6
AristA
Sogeking
Chroniker
Falco
Empty
AlexRE
Awakeing
Grade
Mod
Godboy
coco
Arvester
Blizzard
Krok
Shakuras
Raspberyl
Slump
Antheor
guigui kun
Quelqu'un
krosk
Toshibashin
Relm
Ccd-ToF
NeoKakashi
40 participants
Aller à la page : Précédent  1 ... 15 ... 26, 27, 28 ... 35 ... 44  Suivant
AuteurMessage
Mod
Super Maker Lv 17
Super Maker Lv 17



Nombre de messages : 647

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeSam 23 Fév 2008, 21:15

Argh. Normal que ce soit dur à trouver avec un code qui déconne XD. Je veux bien la réponse du compilateur quand tu tentes de lui faire avaler ça ^^.

Erreurs :
- Ton prototype de la fonction password est déclaré dans le main et ne correspond pas à la fonction plus bas dans le code (surcharge). Si ce n'est pas le prototype, alors il y a un int en trop au début de phrase.
- Absence de return dans la fonction password alors que tu indoques int en retour.
- Fonction password appellée sans paramètre.

Des trucs pas beaux:
- Variable globale ok alors que tu as le return de password qui pourrait servir.
- Les accents dans du code affiché en console >_<.

A part ça, en théorie c'est 19976424 qui devrait dévérouiller le code.

@ Shakuras : Pas d'inquiétudes, on en est encore loin ^^.
Revenir en haut Aller en bas
http://www.game-corp.net/
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
Falco


Nombre de messages : 13628
Age : 33

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeSam 23 Fév 2008, 21:17

Bouh KoZzY, puisque c'est ça, 70 PO à tout les membres qui ont tenté de trouver la solution :p

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
Mod
Super Maker Lv 17
Super Maker Lv 17
Mod


Nombre de messages : 647
Age : 36

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeSam 23 Fév 2008, 21:29

Et 140 pour moi pour le debug gratuit Very Happy.
Revenir en haut Aller en bas
http://www.game-corp.net/
Empty
Mangeur de manettes Lv 65
Mangeur de manettes Lv 65
Empty


Nombre de messages : 16363
Age : 38

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeSam 23 Fév 2008, 21:41

Mod a écrit:
Argh. Normal que ce soit dur à trouver avec un code qui déconne XD. Je veux bien la réponse du compilateur quand tu tentes de lui faire avaler ça ^^.

Erreurs :
- Ton prototype de la fonction password est déclaré dans le main et ne correspond pas à la fonction plus bas dans le code (surcharge). Si ce n'est pas le prototype, alors il y a un int en trop au début de phrase.
- Absence de return dans la fonction password alors que tu indoques int en retour.
- Fonction password appellée sans paramètre.

Des trucs pas beaux:
- Variable globale ok alors que tu as le return de password qui pourrait servir.
- Les accents dans du code affiché en console >_<.

A part ça, en théorie c'est 19976424 qui devrait dévérouiller le code.

@ Shakuras : Pas d'inquiétudes, on en est encore loin ^^.

Ben il serait temps que tu copies colles le code dans un compilateur et que tu vérifies par toi même que ce dernier fonctionne très bien!
La surchage de fonction en C++ c'est sensiblement différent du C, ici la signature n'est pas la même et ce que j'ai fait est tout à fait valable.
(en plus ça change absolument rien qu'il soit déclaré dans le main ou pas)


Fonction password appelée sans paramètres car elle n'en a pas besoin ^^
J'ai mis ça uniquement pour tromper sinon la réponse aurait été trop évidente Sad

Bref, compile et test avant de me prendre pour un programmeur manchot qui code avec des moufles ^^

Tu as juste pour la réponse par contre Wink

Ps: Par contre merci pour les accents, j'oublie à chaque fois :p

____________
La programmation - Page 27 206168MMCBan
Revenir en haut Aller en bas
https://e-magination.jeun.fr
Mod
Super Maker Lv 17
Super Maker Lv 17
Mod


Nombre de messages : 647
Age : 36

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeDim 24 Fév 2008, 09:17

Juste pour être sûr, j'ai compilé, et ça me donne :

Code:
error C4716: 'password' : must return a value


Citation :
(en plus ça change absolument rien qu'il soit déclaré dans le main ou pas)

Ca change que ta fonction password ne sera accessible que dans le contexte local. Ce qui rend ta fonction inutilisable ailleurs que dans le main autant directement effectuer les opérations dans le main sans passer par une fonction.
Enfin, j'ai peut-être tort de voir ça plus comme un "vrai" code qu'un code pour une énigme ^^.
Revenir en haut Aller en bas
http://www.game-corp.net/
Empty
Mangeur de manettes Lv 65
Mangeur de manettes Lv 65
Empty


Nombre de messages : 16363
Age : 38

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeDim 24 Fév 2008, 13:22

Mod... Dis toi que si j'avais voulu coder un truc pareil réellement, un bête if avec "19976424" aurait suffit... Oui tu as tort de voir ça comme un "vrai" code ^^ Cependant, tu peux me dire avec quoi tu compiles stp, car chez moi j'ai pas d'erreur, et ça me lourderait assez de faire des erreurs pareilles sans le savoir à cause d'un compilateur qui me dit "oui Amen" .. Tu vois ce que je veux dire?

____________
La programmation - Page 27 206168MMCBan
Revenir en haut Aller en bas
https://e-magination.jeun.fr
Mod
Super Maker Lv 17
Super Maker Lv 17
Mod


Nombre de messages : 647
Age : 36

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeDim 24 Fév 2008, 19:38

J'ai compilé sous Visual Studio 9 qui m'a donné l'erreur ci-dessus et je viens de tenter sous GCC pour lequel je n'ai aucun problème, ce qui me surprend assez... o_o
Revenir en haut Aller en bas
http://www.game-corp.net/
Empty
Mangeur de manettes Lv 65
Mangeur de manettes Lv 65
Empty


Nombre de messages : 16363
Age : 38

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeDim 24 Fév 2008, 20:00

Je viens de re-tester (codes::block) ça marche très bien Very Happy

Bizarre..Faudrait trouver d'où vient le problème ... Si je vais faire un exécutable on verra.

____________
La programmation - Page 27 206168MMCBan
Revenir en haut Aller en bas
https://e-magination.jeun.fr
Mod
Super Maker Lv 17
Super Maker Lv 17
Mod


Nombre de messages : 647
Age : 36

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeMer 27 Fév 2008, 22:00

Solution trouvée par hasard.
Lorsque l'on programme en C suivant les normes ISO, on indique nécessairement le return. Apparemment Visual Studio 9 oblige à programmer suivant ces normes, contrairement à GCC (marrant de voir ça sachant qu'avec Internet Explorer et Firefox c'est l'inverse, le premier ne respecte pas les normes, le second si...).
Après coup je me rend compte que j'ai appris à programmer en C suivant la norme, ce qui explique que je prenne l'absence de return pour une erreur.
Revenir en haut Aller en bas
http://www.game-corp.net/
Godboy
Maker Lv 6
Maker  Lv 6
Godboy


Nombre de messages : 146
Age : 31

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeJeu 28 Fév 2008, 09:39

Wouw effacez ce post svp >_>


Dernière édition par Godboy le Jeu 28 Fév 2008, 16:30, édité 1 fois
Revenir en haut Aller en bas
Empty
Mangeur de manettes Lv 65
Mangeur de manettes Lv 65
Empty


Nombre de messages : 16363
Age : 38

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeJeu 28 Fév 2008, 13:58

Mod a écrit:
Solution trouvée par hasard.
Lorsque l'on programme en C suivant les normes ISO, on indique nécessairement le return. Apparemment Visual Studio 9 oblige à programmer suivant ces normes, contrairement à GCC (marrant de voir ça sachant qu'avec Internet Explorer et Firefox c'est l'inverse, le premier ne respecte pas les normes, le second si...).
Après coup je me rend compte que j'ai appris à programmer en C suivant la norme, ce qui explique que je prenne l'absence de return pour une erreur.

Ah ok, désolé je t'avais mal jugé, j'ai cru que tu essayais de faire le malin en me décrédibilisant avec des arguments peu fondés ^^

Merci pour l'info, je tâcherai de suivre "la norme" à l'avenir Very Happy (note que pour ceux qui n'ont pas trouvés, vous n'avez pas d'excuse puisqu'il n'y a pas besoin d'exécuter le code pour connaitre la réponse :p)

____________
La programmation - Page 27 206168MMCBan
Revenir en haut Aller en bas
https://e-magination.jeun.fr
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
Falco


Nombre de messages : 13628
Age : 33

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeVen 29 Fév 2008, 20:56

Yay, me revoila, f'sait longtemps tient love

J'ai un problème pour la création de mon forum. J'aimerais ouvrir une page admin, que si le membre en a l'autorisation.
Donc j'ai une table "forum_membres"
Dedans y'a le nom, le pass, etc... et le rang, contenu dans "membre_rang".

Si le lvl est 4, c'est que je suis admin.
Donc moi, j'ai fait ça pour afficher la page:

Code:
$requete2 = mysql_query('
SELECT membre_rang
FROM forum_membres
WHERE membre_pseudo = '.$_SESSION['pseudo'].''or die (mysql_error()));

$data2 = mysql_fetch_assoc($requete2);


if ($data2['membre_rang'] = 4)
{

//J'affiche ma page admin

}

else
{

//T'a pas le droit d'être la

}

Le problème, c'est que la variable $data2['membre_rang'] est toujours égal à 4, que je soit connecté ou pas :/

Help !

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
AlexRE
Admin trop trizo Lv 65
Admin trop trizo Lv 65
AlexRE


Nombre de messages : 29934
Age : 37

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeVen 29 Fév 2008, 21:04

Tu es sûr que tes SESSIONS ont disparu ? Parfois les SESSIONS sont présentes dans un cookie appelé PHPSESSID, ça peut venir de là...

Sinon regarde si ça ne vient pas de la fonction "mysql_fetch_assoc", moi j'utilise toujours "mysql_fetch_array", il y a une légère différence.

____________
Relm a écrit:
Merci pour la confirmation Gary et fuck my life.
Revenir en haut Aller en bas
http://www.alexzone.net
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
Falco


Nombre de messages : 13628
Age : 33

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeVen 29 Fév 2008, 21:42

J'ai utiliser "mysql_fetch_array" et ça n'a rien changer.
C'est aussi ce que je pensais pour les sessions, c'est chiant :/

Du coup, je vais trouver quelqu'un pour voir si il peut se connecter.

Merci cactus smile

Edit : Bon, bin un ami a moi qui n'est pas inscrit sur le forum arrive à accéder au panneau d'admin, et chez lui, la variable $data est aussi égal à 4 ^^" (alors qu'elle est reservé au admin), peut-être une erreur SQL ?

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
Mod
Super Maker Lv 17
Super Maker Lv 17
Mod


Nombre de messages : 647
Age : 36

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeSam 01 Mar 2008, 11:04

Change cette ligne :


Code:
if ($data2['membre_rang'] = 4)

par :


Code:
if ($data2['membre_rang'] == 4)

Le = simple est l'affectation, le == correspond au test. Erreur casse-pieds n°1.^^


Citation :
Ah ok, désolé je t'avais mal jugé, j'ai cru que tu essayais de faire le malin en me décrédibilisant avec des arguments peu fondés ^^

Ah non, pas du tout, c'était juste une constatation ^^. Ca ne m'intéresse pas vraiment de faire le malin/descendre les gens ou autre. Il y en a déjà suffisamment qui le font :evil: .


Dernière édition par Mod le Sam 01 Mar 2008, 11:10, édité 2 fois
Revenir en haut Aller en bas
http://www.game-corp.net/
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
Falco


Nombre de messages : 13628
Age : 33

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeSam 01 Mar 2008, 11:06

Justement, c'est l'erreur que je viens de corriger a l'instant, en suivant un cours du SDZ ^^"
Seulement, maintenant que je soit admin ou pas, je ne peux pas accèder au site ^^"
Ma variable $data vaut rien du tout :/

Ca pourrait venir de ma requête avec la session ?

Merci cactus smile

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
Invité
Invité
Anonymous



La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeSam 01 Mar 2008, 11:18

Pourquoi tu mets pas direct ceci :

Code:
if (mysql_fetch_assoc($requete2) = 4)

?
Revenir en haut Aller en bas
Mod
Super Maker Lv 17
Super Maker Lv 17
Mod


Nombre de messages : 647
Age : 36

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeSam 01 Mar 2008, 11:21

Il y a aussi ce morceau qui semble un peu étrange :

Code:
$requete2 = mysql_query('
SELECT membre_rang
FROM forum_membres
WHERE membre_pseudo = '.$_SESSION['pseudo'].''or die (mysql_error()));


C'est la première fois que je vois un die dans la requête même, je ne vois pas bien quel peut être le résultat recherché, sachant que le mysql_error() ne peut jamais être valable, vu qu'il est un argument de la requête (en fait, tu appelles le retour d'erreur avant que la fonction pouvant générer l'erreur n'ait été appelée).

Essaye plutôt ça :

Code:
$requete2 = mysql_query('
SELECT membre_rang
FROM forum_membres
WHERE membre_pseudo = '.$_SESSION['pseudo']) or die (mysql_error());
Revenir en haut Aller en bas
http://www.game-corp.net/
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
Falco


Nombre de messages : 13628
Age : 33

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeSam 01 Mar 2008, 11:22

Mex, tu t'es mit au PHP ? oO

Sinon, bah je préfère bien détailler mes formules, au moins je suis sur de pas faire d'erreur ^^"
Mais bon j'en fait quand même :p

Edit pour Mod : Bah du coup maintenant, ma page n'affiche plus rien du tout ^^"

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
Invité
Invité
Anonymous



La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeSam 01 Mar 2008, 11:27

En fait hum, la formation que tu as faite au début je la comprends pas, je mettrais ça comme ça :

Code:
$requete2 = "SELECT membre_rang
FROM forum_membres
WHERE membre_pseudo = '.$_SESSION['pseudo'].''or die (mysql_error()))";

$data2 = mysql_query($requete2);
Revenir en haut Aller en bas
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
Falco


Nombre de messages : 13628
Age : 33

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeSam 01 Mar 2008, 11:48

Ta requête est fausse :/

Bon, j'ai retiré le or die, c'est lui qui empêchait d'afficher les données...

Du coup, retour au point de départ, ma variable $data est toujours vide :/

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
Invité
Invité
Anonymous



La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeSam 01 Mar 2008, 11:51

Ok, vérifie l'orthographe de tes membre_rang forum_membres membre_pseudo et vérifie ta ponctuation parce qu'elle est illisible
Revenir en haut Aller en bas
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
Falco


Nombre de messages : 13628
Age : 33

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeSam 01 Mar 2008, 11:52

Citation :
Ok, vérifie l'orthographe de tes membre_rang forum_membres membre_pseudo

Elle est juste.
Citation :

Vérifie ta ponctuation parce qu'elle est illisible

Lol fufu

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
AlexRE
Admin trop trizo Lv 65
Admin trop trizo Lv 65
AlexRE


Nombre de messages : 29934
Age : 37

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeSam 01 Mar 2008, 16:54

Mod a écrit:
Code:
if ($data2['membre_rang'] = 4)

par :


Code:
if ($data2['membre_rang'] == 4)

Le = simple est l'affectation, le == correspond au test. Erreur casse-pieds n°1.^^

Ah zut, comment j'ai pu louper ça !? Very Happy
C'est vraiment une erreur de base.

or die (mysql_error()) n'est pas faux, il permet d'afficher précisément l'erreur de la requête quand il y en a une. ^^ Seulement ici il est mal placé.

Il faut le placer comme ça :
Code:
mysql_query("") or die (mysql_error());
(en dehors de la parenthèse de mysql_query, quoi)

Sinon ton problème est toujours le même Falcossj !!! :evil:
Quand est-ce que tu vas comprendre ??

Regarde tes apostrophes !

Dans ta parenthèse mysql_query tu utilises des apostrophes normales > '
pour tout le code qui est à l'intérieur.

Mais le problème se trouve dans le fait que le "pseudo" de $_SESSION['pseudo'] est entouré lui aussi d'apostrophes !! Du coup le serveur pense que tu sors de la requête, et ça foire.

Tu as deux façons de "bien" faire.

Celle là (en gardant des apostrophes partout) :

Code:
mysql_query('
SELECT membre_rang
FROM forum_membres
WHERE membre_pseudo = '.$_SESSION[\'pseudo\'].'') or die (mysql_error());

Ou celle là (en utilisant des guillemets et des apostrophes) :

Code:
mysql_query("
SELECT membre_rang
FROM forum_membres
WHERE membre_pseudo = '.$_SESSION['pseudo']."") or die (mysql_error());

Essaye donc ce code là :

Code:
$requete2 = mysql_query("
SELECT membre_rang
FROM forum_membres
WHERE membre_pseudo = '.$_SESSION['pseudo']."") or die (mysql_error());

$data2 = mysql_fetch_assoc($requete2);


if ($data2['membre_rang'] == 4)
{

//J'affiche ma page admin

}

else
{

//T'a pas le droit d'être la

}

Et ça devrait aller... :whah:

____________
Relm a écrit:
Merci pour la confirmation Gary et fuck my life.
Revenir en haut Aller en bas
http://www.alexzone.net
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
Falco


Nombre de messages : 13628
Age : 33

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeSam 01 Mar 2008, 16:56

Oui ça marche ^^"
J'avais du mal à comprendre pour les guillemets, mais la c'est bon.

(enfait ça marche depuis ce matin, je me suis rendu compte moi même de l'erreur).

Merci.

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
AlexRE
Admin trop trizo Lv 65
Admin trop trizo Lv 65
AlexRE


Nombre de messages : 29934
Age : 37

La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitimeSam 01 Mar 2008, 17:00

Non ! Je suis bête !
Ta variable $_POST['pseudo'] est une chaine de caractère et non pas un nombre !!

Donc là ça se complique encore plus, tu es obligé de rajouter des guillemets après
Code:
WHERE membre_pseudo =
!! (quelle idée de vérifier avec le pseudo et pas simplement avec l'id du membre...)

La bonne requête est donc :

Code:
mysql_query('
SELECT membre_rang
FROM forum_membres
WHERE membre_pseudo = \''.$_SESSION[\'pseudo\'].'\'') or die (mysql_error());


Ou alors (en utilisant des guillemets et des apostrophes) :

Code:
mysql_query("
SELECT membre_rang
FROM forum_membres
WHERE membre_pseudo = '".$_SESSION['pseudo']."'") or die (mysql_error());


Et le bon code (et là je pense que c'est vraiment le bon), est :

Code:
$requete2 = mysql_query("
SELECT membre_rang
FROM forum_membres
WHERE membre_pseudo = '".$_SESSION['pseudo']."'") or die (mysql_error());

$data2 = mysql_fetch_assoc($requete2);


if ($data2['membre_rang'] == 4)
{

//J'affiche ma page admin

}

else
{

//T'a pas le droit d'être la

}

____________
Relm a écrit:
Merci pour la confirmation Gary et fuck my life.
Revenir en haut Aller en bas
http://www.alexzone.net
Contenu sponsorisé





La programmation - Page 27 Empty
MessageSujet: Re: La programmation   La programmation - Page 27 Icon_minitime

Revenir en haut Aller en bas
 
La programmation
Revenir en haut 
Page 27 sur 44Aller à la page : Précédent  1 ... 15 ... 26, 27, 28 ... 35 ... 44  Suivant
 Sujets similaires
-
» Programmation
» La programmation: Un art ou pas?
» [CoRoLia] Programmation
» Exercices de programmation
» [Python] La programmation Facile.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
E-magination :: ~ Forums de la communauté et de discussions ~ :: Discussions diverses-
Sauter vers: