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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  535  536  537  ..  1454  1455  1456  1457  1458  1459
Auteur Sujet :

blabla@web

n°1716542
nraynaud
lol
Posté le 11-04-2008 à 22:18:09  profilanswer
 

Reprise du message précédent :
'tain je suis rincé du cerveau là.

               $('tr_<%=workout.getId()%>').observe('mouseover', function(event){event.element().addClassName('highLight');});


vous voyez le bug ?


---------------
trainoo.com, c'est fini
mood
Publicité
Posté le 11-04-2008 à 22:18:09  profilanswer
 

n°1716578
nraynaud
lol
Posté le 12-04-2008 à 00:51:17  profilanswer
 

c'est peut-être la fatigue, mais je comprends pas pourquoi quand j'enregistre l'event handler sur une ligne, dans l'event que je reçois, l'élément c'est la case. Ce comportement était déjà décrit dans l'exemple de ratibus, mais je comprends pas la logique du truc.


---------------
trainoo.com, c'est fini
n°1716597
ratibus
Posté le 12-04-2008 à 08:07:02  profilanswer
 

nraynaud a écrit :

c'est peut-être la fatigue, mais je comprends pas pourquoi quand j'enregistre l'event handler sur une ligne, dans l'event que je reçois, l'élément c'est la case. Ce comportement était déjà décrit dans l'exemple de ratibus, mais je comprends pas la logique du truc.


C'est le bubbling : http://www.quirksmode.org/js/events_order.html
En gros le click est fait dans la cellule mais l'info remonte aux noeuds parents par propagation et ça finit par arriver dans le handler de ton <tr>. Mais l'élément initial qui a déclenché la série c'est bien la cellule.
Pour ton usage utilise ça dans ce cas : http://prototypejs.org/api/event/findElement

Code :
  1. $('tr_<%=workout.getId()%>').observe('mouseover', function(event){
  2.   var elmt = event.findElement('tr');
  3.   if(elmt != document) {
  4.     elmt.addClassName('highLight');
  5.   }
  6. });



---------------
Mon blog
n°1716604
nraynaud
lol
Posté le 12-04-2008 à 09:19:36  profilanswer
 

ratibus a écrit :


C'est le bubbling : http://www.quirksmode.org/js/events_order.html
En gros le click est fait dans la cellule mais l'info remonte aux noeuds parents par propagation et ça finit par arriver dans le handler de ton <tr>. Mais l'élément initial qui a déclenché la série c'est bien la cellule.
Pour ton usage utilise ça dans ce cas : http://prototypejs.org/api/event/findElement

Code :
  1. $('tr_<%=workout.getId()%>').observe('mouseover', function(event){
  2.   var elmt = event.findElement('tr');
  3.   if(elmt != document) {
  4.     elmt.addClassName('highLight');
  5.   }
  6. });



Je veux bien imaginer que l'évènement remonte, mais pourquoi il part pas directement du fragment de texte contenu dans la cellule ? pourquoi dans l'exemple que tu m'a donné (le premier), le point de départ du click serait un <tr> ?


---------------
trainoo.com, c'est fini
n°1716617
gizmo
Posté le 12-04-2008 à 10:34:31  profilanswer
 

anapajari a écrit :

Dites, y'en a qu'on déjà joué avec "Adobe Air" ou pas encore?  
Si oui c'est comment?


 
Yep. Bah csi tu prends le coté HTML, au niveau UI, c'est pas trop différent que pour l'élaboration d'une page web. L'avantage, c'est que t'as tout le bazar pour la persistance locale et l'intégration avec le desktop. J'ai pas encore regardé le côté Flex.
Par contre, la doc est assez pauvre et pas spécialement la plus a jour, heureusement que leur introspector est pas mal foutu pour naviguer dans les instances.

n°1716619
Dj YeLL
$question = $to_be || !$to_be;
Posté le 12-04-2008 à 10:45:22  profilanswer
 

Comment je peux faire un truc de ce genre qui fonctionne :

 
Code :
  1. INSERT INTO foo(bar, baz) VALUES("Foo", (SELECT MAX(baz) + 1 FROM foo))
 

? :o

 

Edit : Oué bon OK, c'est marqué dans la doc qu'on ne peut pas utiliser la même table pour un INSERT/UPDATE et une sous-requête en même temps :o

Message cité 1 fois
Message édité par Dj YeLL le 12-04-2008 à 10:48:57

---------------
Gamertag: CoteBlack YeLL
n°1716647
Shinuza
This is unexecpected
Posté le 12-04-2008 à 12:34:25  profilanswer
 

nraynaud a écrit :


ben à la base quand tu fais colllection.each, tu veux juste itérer sur une collection sans faire apparaître l'index. Mais comme l'implémentation de each est par une fonction et que les fonctions ferment pas sur le this, si tu utilises this dans une boucle, il faut utiliser bind() sinon, c'est pas la peine.
 
Mais la bonne nouvelle c'est que si tu oublie cette règle pourtant simple ([:kiki]), parce que tu étais concentré par exemple sur les différentes implémentations entre navigateurs du truc que tu manipules tu le sauras pas avant l'exécution.
 
En gros tout ce qui concerne la manipulation de fonctions dans ce langage devient l'horreur si tu manipules des états un peu encapsulés dans des objets. Bref, c'est hautement irrégulier.


[:captain obvious]

nraynaud a écrit :


je reviens à la charge, c'est quoi l'avantage comparatif de ça avec un onclick ? est-ce que dans un onclick je peux récupérer l'objet event evoyé ? (j'ai vaguement googlé, mais ça manque d'expertise solide). C'est spécifié où les onclick etc. ?

Le gros avantage en plus de ceux cité par les autres, c'est le controle du bubbling (même principe que pour les exceptions, mais avec les élements dom).


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1716649
The-Shadow
T'as été voir dans ton profil?
Posté le 12-04-2008 à 12:47:44  profilanswer
 

Dj YeLL a écrit :

Comment je peux faire un truc de ce genre qui fonctionne :

 
Code :
  1. INSERT INTO foo(bar, baz) VALUES("Foo", (SELECT MAX(baz) + 1 FROM foo))
 

? :o

 

Edit : Oué bon OK, c'est marqué dans la doc qu'on ne peut pas utiliser la même table pour un INSERT/UPDATE et une sous-requête en même temps :o


Si si tu peux.

 

Faut faire quelquechose comme :
INSERT INTO foo (bar,baz) SELECT "Foo",baz FROM foo WHERE baz=(SELECT MAX(baz) FROM foo);

 

Ou alors j'ai mal compris le problème...

Message cité 1 fois
Message édité par The-Shadow le 12-04-2008 à 12:48:26
n°1716669
Dj YeLL
$question = $to_be || !$to_be;
Posté le 12-04-2008 à 13:24:10  profilanswer
 

The-Shadow a écrit :


Si si tu peux.
 
Faut faire quelquechose comme :
INSERT INTO foo (bar,baz) SELECT "Foo",baz FROM foo WHERE baz=(SELECT MAX(baz) FROM foo);
 
Ou alors j'ai mal compris le problème...


 
 [:mlc] Y'a des chances que ça marche oué :D
 
Bon ben je vais tester ça


---------------
Gamertag: CoteBlack YeLL
n°1716671
ratibus
Posté le 12-04-2008 à 13:24:35  profilanswer
 

nraynaud a écrit :

Je veux bien imaginer que l'évènement remonte, mais pourquoi il part pas directement du fragment de texte contenu dans la cellule ? pourquoi dans l'exemple que tu m'a donné (le premier), le point de départ du click serait un <tr> ?


Dans mon premier exemple je pense qu'il vaut ptet mieux passer par un findElement('tr') ou alors tu vas devoir tester le tagName avec 'TR', 'TD'...


---------------
Mon blog
mood
Publicité
Posté le 12-04-2008 à 13:24:35  profilanswer
 

n°1716676
The-Shadow
T'as été voir dans ton profil?
Posté le 12-04-2008 à 13:35:26  profilanswer
 

Dj YeLL a écrit :

 

[:mlc] Y'a des chances que ça marche oué :D

 

Bon ben je vais tester ça


Ca marchera, par contre, ton exemple, ça ressemble à de l'autoincrémente manuel. :D
Tu veux pas utiliser le vrai autoincremente ? :D

Message cité 1 fois
Message édité par The-Shadow le 12-04-2008 à 13:37:36
n°1716680
Dj YeLL
$question = $to_be || !$to_be;
Posté le 12-04-2008 à 13:42:29  profilanswer
 

The-Shadow a écrit :


Ca marchera surement, par contre, ton exemple, ça ressemble à de l'autoincrémente manuel. :D
Tu veux pas utiliser le vrai autoincremente ? :D


 
Ça marche oui, j'ai du corriger un peu, mais c'est bon :) Merci :jap:
 
Et oui, vu comme ça c'est de l'auto-incrément, c'est d'ailleurs un peu le principe mais pas tout à fait :D En fait, en gros c'est pour le positionnement des éléments d'une liste. Le dernier élément ajouté doit avoir la position max + 1. Je devrais arriver au même résultat avec COUNT, mais le problème restera le même.
 
Bon donc au final ça donne ça :
 

Code :
  1. INSERT INTO foo (bar, baz)
  2. (
  3.    SELECT "Foo", baz + 1
  4.    FROM foo
  5.    WHERE baz =
  6.    (
  7.        SELECT MAX(baz)
  8.        FROM foo
  9.    )
  10. )


---------------
Gamertag: CoteBlack YeLL
n°1716682
The-Shadow
T'as été voir dans ton profil?
Posté le 12-04-2008 à 13:47:54  profilanswer
 

Dj YeLL a écrit :

 

Ça marche oui, j'ai du corriger un peu, mais c'est bon :) Merci :jap:

 

Et oui, vu comme ça c'est de l'auto-incrément, c'est d'ailleurs un peu le principe mais pas tout à fait :D En fait, en gros c'est pour le positionnement des éléments d'une liste. Le dernier élément ajouté doit avoir la position max + 1. Je devrais arriver au même résultat avec COUNT, mais le problème restera le même.

 

Bon donc au final ça donne ça :

 
Code :
  1. INSERT INTO foo (bar, baz)
  2. (
  3.    SELECT "Foo", baz + 1
  4.    FROM foo
  5.    WHERE baz =
  6.    (
  7.        SELECT MAX(baz)
  8.        FROM foo
  9.    )
  10. )



Oui j'avais oublié de taper le +1, mais sinon j'avais testé. :D
Le count ce n'est pas une bonne idée, because si c'est une clé unique et que tu as un trou, 1,2,4,5 +1, ça va te retourner 5 et bam, duplicate key et ensuite, si tu fais ça en 2 requêtes du genre
select count(baz) from toto
insert (resultatselect)
tu peux avoir un problème si la requête est exécuté 2 fois parrallèlement.
Par contre, je ne comprends pas ton explication pour ne pas utiliser l'autoincremente, mais bon, on s'en fout. :D

Message cité 1 fois
Message édité par The-Shadow le 12-04-2008 à 13:48:08
n°1716684
Dj YeLL
$question = $to_be || !$to_be;
Posté le 12-04-2008 à 13:52:04  profilanswer
 

The-Shadow a écrit :


Oui j'avais oublié de taper le +1, mais sinon j'avais testé. :D
Le count ce n'est pas une bonne idée, because si c'est une clé unique et que tu as un trou, 1,2,4,5 +1, ça va te retourner 5 et bam, duplicate key et ensuite, si tu fais ça en 2 requêtes du genre
select count(baz) from toto
insert (resultatselect)
tu peux avoir un problème si la requête est exécuté 2 fois parrallèlement.
Par contre, je ne comprends pas ton explication pour ne pas utiliser l'autoincremente, mais bon, on s'en fout. :D

 

Il manquait le "+1" en effet, mais de mon côté si je ne met pas le deuxième jeu de parenthèse j'ai une erreur.

 

C'est pour un gestion de catégories :

 

- CATEGORIE 1
   > Contenu 1.1
   > Contenu 1.2
   > Contenu 1.3
- CATEGORIE 2
   > Contenu 2.1
   > Contenu 2.2
   > Contenu 2.3
- CATEGORIE 3
   > Contenu 3.1
   > Contenu 3.2
   > Contenu 3.3

 

Les "contenus" sont rattaché à l'ID de la catégorie, l'ID de ces catégories en auto-incrément. Je ne peux donc pas utiliser l'autoincrément sur le champ "position".


Message édité par Dj YeLL le 12-04-2008 à 13:52:39

---------------
Gamertag: CoteBlack YeLL
n°1716685
The-Shadow
T'as été voir dans ton profil?
Posté le 12-04-2008 à 13:54:41  profilanswer
 

Tu devrais peut-être plutot utiliser un ID unique sur Categorie que tu "autoincrémentes" manuellement et un ID autoincrémente sur la sous catégorie.
L'avantage, c'est que si tu supprimes le 3.2, MySQL te recalculte tout seul l'autoincremente et si tu updates la 3.3 pour la transformer en 3.2, la prochaine insertion deviendra 3.3.
A voir après la colonne le plus sujette à manipulation.


Message édité par The-Shadow le 12-04-2008 à 13:56:49
n°1716689
Dj YeLL
$question = $to_be || !$to_be;
Posté le 12-04-2008 à 13:58:34  profilanswer
 

Je suis pas sûr de saisir.
 
En gros dans ma table des catégories j'ai ça :
 
ID | NAME | POSITION
 
L'ID est donc le champ auto-incrémenté. Et la position prend la valeur max+1
 
Si je rajoute du contenu dans mon autre table, j'ai un champ CATEGORY_ID, pour définir dans quel catégorie se trouve quel contenu.
 
Donc le fait d'avoir un auto-incrément sur "position" et pas sur "id", je vois que ça va changer... puisqu'à ce moment là il va falloir que je calcul le MAX+1 du champ ID ...


---------------
Gamertag: CoteBlack YeLL
n°1716697
The-Shadow
T'as été voir dans ton profil?
Posté le 12-04-2008 à 14:11:41  profilanswer
 

Dj YeLL a écrit :

Donc le fait d'avoir un auto-incrément sur "position" et pas sur "id", je vois que ça va changer... puisqu'à ce moment là il va falloir que je calcul le MAX+1 du champ ID ...


Tout à fait, dans les 2 cas tu auras un autoincremente à calculer manuellement, c'est pour ça que je dis "Il faut voir quelle colonne est sujette à être modifier plus souvent".

 

Par exemple :

Code :
  1. CREATE TABLE `foo` (
  2.   `ID_categorie` MEDIUMINT UNSIGNED NOT NULL,
  3.   `ID_souscategorie` MEDIUMINT UNSIGNED NOT NULL DEFAULT NULL AUTO_INCREMENT,
  4.   `contenu` VARCHAR(45),
  5.   PRIMARY KEY(`ID_categorie`, `ID_souscategorie`)
  6. );
  7. // Je crée mes premières sous-cats
  8. INSERT INTO foo (ID_categorie,contenu) VALUES (1,'sous categorie 1.1'),(2,'sous categorie 2.1'),(3,'sous categorie 3.1');
  9. // Je complète les sous cats de la catégorie 1
  10. INSERT INTO foo (ID_categorie,contenu) VALUES (1,'ma sous categorie suivante (1.2 ?)'),(2,'ma sous categorie suivante (1.3 ?)'),(3,'ma sous categorie suivante (1.4 ?)');
  11. // J'efface la sous catégorie 2 de la cat 1
  12. DELETE FROM foo WHERE ID_categorie=1 AND ID_souscategorie=2;
  13. // je décremente ceux qui peuvent l'être pour éviter les trous
  14. UPDATE IGNORE foo SET ID_souscategorie=ID_souscategorie-1 WHERE ID_categorie=1;
  15. // J'insère une nouvelle sous cat
  16. INSERT INTO foo (ID_categorie,contenu) VALUES (1,'Encore une sous categorie');


A la dernière insertion, MySQL aura recalculer l'autoincrémente, la sous cat sera donc la 1.4 et tu évites tous les trous.
Je sais pas si ça t'ai indispensable, mais ça peut toujours servir de le savoir.

Message cité 1 fois
Message édité par The-Shadow le 12-04-2008 à 14:12:47
n°1716698
skeye
Posté le 12-04-2008 à 14:13:06  profilanswer
 

theredled a écrit :


Singleton, ça correspond à un design pattern précis, pas seulement à un but abstrait.

 

Oui, et tout ce qu'en dit le GOF c'est que le but de ce design pattern est
1) D'assurer qu'il n'y a qu'une seule instance de la classe.
2) De fournir un point d'accès global à cette instance.

 

Ce que tu proposes fait exactement cela. Il y a plusieurs manières d'implémenter un DP, hein, c'est justement le but du design pattern de définir un fonctionnement et pas une implémentation.:o


Message édité par skeye le 12-04-2008 à 14:13:35

---------------
Can't buy what I want because it's free -
n°1716911
Dj YeLL
$question = $to_be || !$to_be;
Posté le 13-04-2008 à 11:04:27  profilanswer
 

The-Shadow a écrit :


Tout à fait, dans les 2 cas tu auras un autoincremente à calculer manuellement, c'est pour ça que je dis "Il faut voir quelle colonne est sujette à être modifier plus souvent".
 
Par exemple :

Code :
  1. CREATE TABLE `foo` (
  2.   `ID_categorie` MEDIUMINT UNSIGNED NOT NULL,
  3.   `ID_souscategorie` MEDIUMINT UNSIGNED NOT NULL DEFAULT NULL AUTO_INCREMENT,
  4.   `contenu` VARCHAR(45),
  5.   PRIMARY KEY(`ID_categorie`, `ID_souscategorie`)
  6. );
  7. // Je crée mes premières sous-cats
  8. INSERT INTO foo (ID_categorie,contenu) VALUES (1,'sous categorie 1.1'),(2,'sous categorie 2.1'),(3,'sous categorie 3.1');
  9. // Je complète les sous cats de la catégorie 1
  10. INSERT INTO foo (ID_categorie,contenu) VALUES (1,'ma sous categorie suivante (1.2 ?)'),(2,'ma sous categorie suivante (1.3 ?)'),(3,'ma sous categorie suivante (1.4 ?)');
  11. // J'efface la sous catégorie 2 de la cat 1
  12. DELETE FROM foo WHERE ID_categorie=1 AND ID_souscategorie=2;
  13. // je décremente ceux qui peuvent l'être pour éviter les trous
  14. UPDATE IGNORE foo SET ID_souscategorie=ID_souscategorie-1 WHERE ID_categorie=1;
  15. // J'insère une nouvelle sous cat
  16. INSERT INTO foo (ID_categorie,contenu) VALUES (1,'Encore une sous categorie');


A la dernière insertion, MySQL aura recalculer l'autoincrémente, la sous cat sera donc la 1.4 et tu évites tous les trous.
Je sais pas si ça t'ai indispensable, mais ça peut toujours servir de le savoir.


 
 
Pour ce qui est de la colonne la plus sujette à modification, à mon avis ça se vaut.
 
Par contre je me heurte à un autre problème là :D Si ma table est vide, y'a pas de MAX(position) ... donc y'a pas de résultat, et donc pas d'insertion ... :D


---------------
Gamertag: CoteBlack YeLL
n°1716912
Dj YeLL
$question = $to_be || !$to_be;
Posté le 13-04-2008 à 11:09:29  profilanswer
 

Bon j'ai modifié la requête et ça fonctionne :
 

Code :
  1. INSERT INTO foo (bar, baz)
  2. (
  3.    SELECT "Foo", COALESCE(MAX(baz), 0) + 1
  4.    FROM foo
  5. )


---------------
Gamertag: CoteBlack YeLL
n°1716972
Dj YeLL
$question = $to_be || !$to_be;
Posté le 13-04-2008 à 17:19:57  profilanswer
 

On sait qu'avec :
 

Code :
  1. if(foo() && bar())


 
Si foo() retourne false, bar n'est pas exécuté.
 
Il existe un moyen pour exécuter les 2 ? Ou je suis obligé de rajouter une étape du genre
 

Code :
  1. $bar = bar();
  2. if(foo() && $bar)


---------------
Gamertag: CoteBlack YeLL
n°1716996
sub1
Posté le 13-04-2008 à 18:50:54  profilanswer
 

Hello,
 
tu mets juste un & au lieu de && ?
j'ai pas testé mais je pense que c'est le comportement normal (dans tous les shells *nix toujours)

n°1716998
Dj YeLL
$question = $to_be || !$to_be;
Posté le 13-04-2008 à 19:03:56  profilanswer
 

Ça a l'air de fonctionner en effet \:D/

 

Merci :jap:


Message édité par Dj YeLL le 13-04-2008 à 19:04:07

---------------
Gamertag: CoteBlack YeLL
n°1717004
ratibus
Posté le 13-04-2008 à 19:50:21  profilanswer
 

sub1 a écrit :

Hello,
 
tu mets juste un & au lieu de && ?
j'ai pas testé mais je pense que c'est le comportement normal (dans tous les shells *nix toujours)


Ca peut marcher ça va dépendre des valeurs de retour car le & simple c'est l'opérateur binaire http://www.php.net/manual/en/langu [...] itwise.php


---------------
Mon blog
n°1717281
nraynaud
lol
Posté le 14-04-2008 à 15:25:39  profilanswer
 

hep les gens, en JS, unshift c'est bien la sodomie du push() ? la même chose, mais par l'autre côté ?


---------------
trainoo.com, c'est fini
n°1717283
flo850
moi je
Posté le 14-04-2008 à 15:27:03  profilanswer
 

ca ajoute un ou des elements au debut d'un tableau


Message édité par flo850 le 14-04-2008 à 15:27:09

---------------

n°1717284
nraynaud
lol
Posté le 14-04-2008 à 15:27:28  profilanswer
 

ok, merci.


---------------
trainoo.com, c'est fini
n°1717339
anapajari
s/travail/glanding on hfr/gs;
Posté le 14-04-2008 à 16:43:15  profilanswer
 

gizmo a écrit :

 

Yep. Bah csi tu prends le coté HTML, au niveau UI, c'est pas trop différent que pour l'élaboration d'une page web. L'avantage, c'est que t'as tout le bazar pour la persistance locale et l'intégration avec le desktop. J'ai pas encore regardé le côté Flex.
Par contre, la doc est assez pauvre et pas spécialement la plus a jour, heureusement que leur introspector est pas mal foutu pour naviguer dans les instances.


:jap: merci, je vais jeter un oeil du coup :)


Message édité par anapajari le 14-04-2008 à 16:43:38

---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1717402
koskoz
They see me trollin they hatin
Posté le 14-04-2008 à 18:34:02  profilanswer
 

J'ai pas le droit de faire ça ou je le fais mal ?
 

Code :
  1. define('EXTENSION', 'array("jpg", "png", "gif" )');


 

Code :
  1. elseif(!in_array(substr($thumb, -3), EXTENSION))
  2.    {
  3.        echo "<p>L'extension de la vignette n'est pas la bonne !</p>";
  4.    }


---------------
Twitter
n°1717407
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 14-04-2008 à 18:38:46  profilanswer
 

koskoz a écrit :

J'ai pas le droit de faire ça ou je le fais mal ?
 

Code :
  1. define('EXTENSION', 'array("jpg", "png", "gif" )');


 

Code :
  1. elseif(!in_array(substr($thumb, -3), EXTENSION))
  2.    {
  3.        echo "<p>L'extension de la vignette n'est pas la bonne !</p>";
  4.    }



Je sais pas mais en tout cas c'est très moche.
 
A mon avis ton define va être considéré comme la chaine de caractère array("jpg", "png", "gif" ) donc essaies d'enlever les '' qui l'entourent et si ca marche pas c'est que soit c'est pas possible soit c'est possible mais ca vaut pas le coup de le faire.


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1717408
theredled
● REC
Posté le 14-04-2008 à 18:40:43  profilanswer
 

koskoz a écrit :

J'ai pas le droit de faire ça ou je le fais mal ?

 
Code :
  1. define('EXTENSION', 'array("jpg", "png", "gif" )');
 
Code :
  1. elseif(!in_array(substr($thumb, -3), EXTENSION))
  2.    {
  3.        echo "<p>L'extension de la vignette n'est pas la bonne !</p>";
  4.    }



'array("jpg", "png", "gif" )', c'est une chaine de caractères.

 

Dans tous les cas, pas possible en php de mettre une donnée non scalaire dans un DEFINE (tableau par ex). Tu vas devoir utiliser une variable globale pour faire ce genre de trucs.

Message cité 1 fois
Message édité par theredled le 14-04-2008 à 18:41:02

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1717412
flo850
moi je
Posté le 14-04-2008 à 18:49:44  profilanswer
 

ben deja, tu ne dois pas tester l'extension ( imagine que je te file un flash avec l'extension d'un jpg)  
 


---------------

n°1717413
koskoz
They see me trollin they hatin
Posté le 14-04-2008 à 18:51:01  profilanswer
 


 
Un coup de strtolower et on en parle plus.
De plus, cette page sera vraiment restreintes à deux, voire trois personnes grand maximum.


---------------
Twitter
n°1717418
theredled
● REC
Posté le 14-04-2008 à 18:55:57  profilanswer
 

flo850 a écrit :

ben deja, tu ne dois pas tester l'extension ( imagine que je te file un flash avec l'extension d'un jpg)

 



Maintenant imagine que je te file un jpeg/php avec une extension .php :o


Message édité par theredled le 14-04-2008 à 18:56:26

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1717422
ratibus
Posté le 14-04-2008 à 19:07:29  profilanswer
 


Bcp + propre de faire appel à ceci http://php.net/getimagesize avec le second argument renseigné ;)


---------------
Mon blog
n°1717434
Dj YeLL
$question = $to_be || !$to_be;
Posté le 14-04-2008 à 19:33:25  profilanswer
 

koskoz a écrit :

J'ai pas le droit de faire ça ou je le fais mal ?

 
Code :
  1. define('EXTENSION', 'array("jpg", "png", "gif" )');
 
Code :
  1. elseif(!in_array(substr($thumb, -3), EXTENSION))
  2.    {
  3.        echo "<p>L'extension de la vignette n'est pas la bonne !</p>";
  4.    }


 

Euh ... là tu stockes une chaine de caractères.

 

Tu peux pas stocker un array dans une constante, ou alors faut sérialiser.

 

Edit : Oué bon OK, nouvelle page toussa :o


Message édité par Dj YeLL le 14-04-2008 à 19:33:59

---------------
Gamertag: CoteBlack YeLL
n°1717436
0x90
Posté le 14-04-2008 à 19:38:52  profilanswer
 

theredled a écrit :


'array("jpg", "png", "gif" )', c'est une chaine de caractères.
 
Dans tous les cas, pas possible en php de mettre une donnée non scalaire dans un DEFINE (tableau par ex). Tu vas devoir utiliser une variable globale pour faire ce genre de trucs.


 
rajoute un return devant le array et un ; après le ')'
puis partout ou tu veut utiliser EXTENSION, tu remplace par eval(EXTENSION) :)


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1717451
bixibu
Ca ... c'est fait!
Posté le 14-04-2008 à 19:59:20  profilanswer
 

[:meatpuppet]  [:eleonor]  
[:vomiv] [:vomi2]
 [:vomi]    [:bardass]

 

une globale serait pas moins crade quand meme ?


Message édité par bixibu le 14-04-2008 à 20:01:03
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  535  536  537  ..  1454  1455  1456  1457  1458  1459

Aller à :
Ajouter une réponse
 

Sujets relatifs
blabla 3blabla 2
PUTAIN HARKO TU AS FERM2 BLABLA ![Beaucoup de blabla pour rien : post à effacer] Compiler .bat
variable1="blabla + variable2 +blala : c'est possible ??[PHP & regex] "blabla blabla file.ext?point=444 blabla" Recupérer 444
mail("celine@hotmail.com"," sujet","blabla"); pose une err ! Help[MySQL] WHERE 'blabla' compris dans le champ truc
[blabla@olympe] Le topic du modo, dieu de la fibre et du monde[PHP / BlaBla - limite]
Plus de sujets relatifs à : blabla@web


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