aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah
putain ui
merci, sur le coup j'ai pas fait gaffe du tout à ce genre de contraintes ._.
Topic technique : venez parler ici de vos problèmes et questions techniques
Max
- Membre
- 12928 posts
Weby
- Membre
- 56564 posts
Weby
- Membre
- 56564 posts
30 octobre 2013, 16:56
Remarque, si tu remplaces les points de concaténation par des virgules, là ça marche, parce qu'echo analyse chaque élément séparément.
Dans le premier cas, tu effectues une opération de concaténation et juste au milieu, tu effectues une addition. C'est normal que PHP ne sache pas quoi faire. Il faut ajouter des parenthèses pour avoir un ordre de traitement (des priorités). De plus, c'est normal que PHP t'affiche « 1 » en tout premier car c'est la valeur de retour de ton opération : $var + 1 réussie, la valeur de retour est true donc 1 (sous forme de chaîne de caractère). Et comme il n'a pas de priorités, il commence par évaluer l'opération, l'affiche, puis concatène.
En fait, qu'on utilise la virgule à la place du point, ça n'a pas le même sens. Dans le cas du point, on concatène une chaîne que l'on envoie à echo. Même si ce n'est pas une fonction, on y retrouve des similitudes, et donc on peut dire que echo reçoit en premier argument la chaîne concaténée. Dans le cas de la virgule, on envoie les parties de la chaîne dans chaque argument de la fonction echo (il en existe n). Donc avec l'exemple : echo $a, $b, $c; echo va recevoir en premier argument $a, en second $b, et en dernier $c. echo traite ses arguments au pas à pas et les envoie les uns après les autres en sortie. En gros, ça revient à faire : echo($a, $b, $c);, donc si tu as echo($a, $b + 7, $c);, c'est normal que $b + 7 soit évaluée avant d'être envoyé en valeur à echo ; ce qui ne se passe pas avec une concaténation, on ne fait pas intervenir les mêmes mécanismes, d'où la nécessité des parenthèses. QED.
Dans le premier cas, tu effectues une opération de concaténation et juste au milieu, tu effectues une addition. C'est normal que PHP ne sache pas quoi faire. Il faut ajouter des parenthèses pour avoir un ordre de traitement (des priorités). De plus, c'est normal que PHP t'affiche « 1 » en tout premier car c'est la valeur de retour de ton opération : $var + 1 réussie, la valeur de retour est true donc 1 (sous forme de chaîne de caractère). Et comme il n'a pas de priorités, il commence par évaluer l'opération, l'affiche, puis concatène.
En fait, qu'on utilise la virgule à la place du point, ça n'a pas le même sens. Dans le cas du point, on concatène une chaîne que l'on envoie à echo. Même si ce n'est pas une fonction, on y retrouve des similitudes, et donc on peut dire que echo reçoit en premier argument la chaîne concaténée. Dans le cas de la virgule, on envoie les parties de la chaîne dans chaque argument de la fonction echo (il en existe n). Donc avec l'exemple : echo $a, $b, $c; echo va recevoir en premier argument $a, en second $b, et en dernier $c. echo traite ses arguments au pas à pas et les envoie les uns après les autres en sortie. En gros, ça revient à faire : echo($a, $b, $c);, donc si tu as echo($a, $b + 7, $c);, c'est normal que $b + 7 soit évaluée avant d'être envoyé en valeur à echo ; ce qui ne se passe pas avec une concaténation, on ne fait pas intervenir les mêmes mécanismes, d'où la nécessité des parenthèses. QED.
Max
- Membre
- 12928 posts
30 octobre 2013, 17:03
ouais, j'avais déjà lu ça en plus, mais c'est tellement le genre de trucs qu'on oublie facilement, thx wébie
Weby
- Membre
- 56564 posts
30 octobre 2013, 17:10
Dans le doute, j'ai toujours appris d'avoir le moins d'opérations possibles dans un echo.
Max
- Membre
- 12928 posts
30 octobre 2013, 17:14
bah dans le doute, je ferais de même dans l'avenir, ahah
March
- Membre
- 616 posts
30 octobre 2013, 17:38
Et j'espère aussi que t'a pas l'intention de laisser $_GET['n'] tout seul sans intval (si ça reste uniquement du chiffre la valeur) ou htmlspecialchar/htmlentities (si c'est du texte)
Max
- Membre
- 12928 posts
30 octobre 2013, 17:42
C'est 3x rien, c'est juste pour un exercice qu'un prof demandait, je vais pas trop me casser la tête.
là j'ai juste utilisé isset et ctype_digit pour checker les trucs basiques, niveau sécurité j'ai rien utilisé
là j'ai juste utilisé isset et ctype_digit pour checker les trucs basiques, niveau sécurité j'ai rien utilisé
Weby
- Membre
- 56564 posts
30 octobre 2013, 18:05
ctype_digit c'est très limité comme fonction, typiquement ça ne fonctionne pas du tout sur des variables de type int !
Weby
- Membre
- 56564 posts
30 octobre 2013, 18:10
Code: [Sélectionner]
<?php
$valeur[]= "5";
$valeur[]= '5';
$valeur[]= 5 ;
foreach($valeur as $v)
{
echo "Ctype_Digit :".PHP_EOL;
if(ctype_digit($v))
{
echo "Numérique".PHP_EOL;
}
else
{
echo "Non numérique !".PHP_EOL;
}
echo "IsNumeric :".PHP_EOL;
if(is_numeric($v))
{
echo "Numérique".PHP_EOL;
}
else
{
echo "Non numérique !".PHP_EOL;
}
echo PHP_EOL.PHP_EOL;
}
Sortie :Code: [Sélectionner]
Ctype_Digit :
Numérique
IsNumeric :
Numérique
Ctype_Digit :
Numérique
IsNumeric :
Numérique
Ctype_Digit :
Non numérique !
IsNumeric :
Numérique
Max
- Membre
- 12928 posts
30 octobre 2013, 18:16
boh, je l'utilisais même pas dans cet optique, c'était beaucoup, beaucoup plus basique xD
Code: [Sélectionner]
<?php
if(isset($_GET['n']) and ctype_digit($_GET['n'])){
for ($i = 0; $i <= 10; $i++){
echo('<tr><td>');
echo('<b>'.$_GET['n'].'</b>'.'*'. $i.' = ' );
echo('<span style="color:#8b2100">'.$_GET['n'] * $i.'</span>');
echo('</td></tr>');}
echo('<tr><td><span class="text"> <a href="additions.php?n='.$_GET['n'].'">Afficher la table d\'addition correspondante</a></span></td></tr>');
}
//else{
// echo('<p style="color:red">Valeur <b>inexistante</b> ou pas de type <b>nombre</b></p>');}
?>
th0mich0u
- Membre
- 353 posts
30 octobre 2013, 21:36
Bonsoir, j'ai résolu mon problème: je m'étais dis qu'une simple restauration des paramètres avec une ancienne sauvegarde de windows 7 pourrait régler le décalage comme je vous l'avais expliquer précédemment. Eh beh, quand j'ai fais ma restauration, j'ai plus ce problème. C'est plutôt cool nan ?
Max
- Membre
- 12928 posts
30 octobre 2013, 23:32
bah encore heureux qu'avec une restauration ça remarche normalement, t'aurais sérieusement de quoi t'inquiéter sinon
RAndoom
- Membre
- 2208 posts
30 octobre 2013, 23:51
> Je cherche à faire un dualBoot avec W8 sur mon asus.
Une fois sur le bios, je ne trouve pas le lecteur CD lors des choix de priorité du boot.
Apparemment W8 est installé en UEFI, il faut désactiver le Boot Secure et activer le CSM launch.
et toujours pas de résultat. Une Idée ?
Une fois sur le bios, je ne trouve pas le lecteur CD lors des choix de priorité du boot.
Apparemment W8 est installé en UEFI, il faut désactiver le Boot Secure et activer le CSM launch.
et toujours pas de résultat. Une Idée ?
Weby
- Membre
- 56564 posts
Max
- Membre
- 12928 posts
31 octobre 2013, 11:06
c'est la merde le dual boot avec les laptop sous win8
RAndoom
- Membre
- 2208 posts
Weby
- Membre
- 56564 posts
31 octobre 2013, 12:23
Formatte le disque dur
Installe linux, only
Débarrasse-toi de windows a tout jamais
Pas de souci de dualboot
Installe linux, only
Débarrasse-toi de windows a tout jamais
Pas de souci de dualboot
RAndoom
- Membre
- 2208 posts
31 octobre 2013, 14:24
le monde en serait bien plus simple.
March
- Membre
- 616 posts
03 novembre 2013, 21:52
>devoir coder un système pour imiter les courbes d'expérience des jeux pokémon
>ce rendre compte que dans les 6 courbes, y'en a 4 qui sont assez simple a refaire, alors que les 2 dernières sont extrèmement galère
>ce rendre compte que dans les 6 courbes, y'en a 4 qui sont assez simple a refaire, alors que les 2 dernières sont extrèmement galère
Weby
- Membre
- 56564 posts
03 novembre 2013, 21:55
genre lesquelles ?
March
- Membre
- 616 posts
03 novembre 2013, 22:02
Les 2 inséré par la 3eme gen, la Croissance Erratique et la Croissance Fluctuante.
Et je trouve étonnamment simple le système de calcul des XP gagné en combat :
Exp = a × b × N / 7, avec :
a : coefficient multiplicateur selon les bonus assossié au pokémon, du style naméoui qui dois en avoir un gros ;
b : expérience de base, propre au Pokémon vaincu ;
N : niveau du Pokémon adverse vaincu.
Edit : Je vais bien galérer aussi pour le casino et aussi un peu sur le pokegear
« Modifié: 03 novembre 2013, 22:04 par Pépitosaure »
Et je trouve étonnamment simple le système de calcul des XP gagné en combat :
Exp = a × b × N / 7, avec :
a : coefficient multiplicateur selon les bonus assossié au pokémon, du style naméoui qui dois en avoir un gros ;
b : expérience de base, propre au Pokémon vaincu ;
N : niveau du Pokémon adverse vaincu.
Edit : Je vais bien galérer aussi pour le casino et aussi un peu sur le pokegear
Weby
- Membre
- 56564 posts
03 novembre 2013, 23:47
oublie pas le coefficient 1.5 si le pokémon est un échangé :V
March
- Membre
- 616 posts
03 novembre 2013, 23:58
Ui c'est ce qui entrera dans la case "bonus" (dans A dans la formule)
D'ailleur weby file ton email par MP que je puisse t'envoyer la rom de la distro que tu voulais (totalement hors sujet je sais)
D'ailleur weby file ton email par MP que je puisse t'envoyer la rom de la distro que tu voulais (totalement hors sujet je sais)
March
- Membre
- 616 posts
04 novembre 2013, 11:56
http://pokaflod.alwaysdata.net/
La fonction de calcul de gain d'expérience est codé.
La fonction de calcul de l'experience néssessaire a la montée de niveau avec la courbe rapide est codé.
La fonction de calcul de l'experience néssessaire a la montée de niveau avec la courbe moyenne est codé.
La fonction de calcul de l'experience néssessaire a la montée de niveau avec la courbe parabolique est codé.
La fonction de calcul de l'experience néssessaire a la montée de niveau avec la courbe lente est codé.
« Modifié: 05 novembre 2013, 13:42 par Walty »
La fonction de calcul de gain d'expérience est codé.
La fonction de calcul de l'experience néssessaire a la montée de niveau avec la courbe rapide est codé.
La fonction de calcul de l'experience néssessaire a la montée de niveau avec la courbe moyenne est codé.
La fonction de calcul de l'experience néssessaire a la montée de niveau avec la courbe parabolique est codé.
La fonction de calcul de l'experience néssessaire a la montée de niveau avec la courbe lente est codé.
Elyiøs
- Membre
- 3107 posts
05 novembre 2013, 17:44
« Modifié: 05 novembre 2013, 17:50 par Petit Cageot »
Max
- Membre
- 12928 posts
05 novembre 2013, 20:25
mdrrrrrr, toutes ces merdes que vous devez installer sur votre pc pour avoir autant de merde et de problèmes :v
Weby
- Membre
- 56564 posts
05 novembre 2013, 20:27
C'est le même problème que l'autre con.
Fais une restauration à une date où ça marchait, et ça doit marcher.
Mais sérieux, arrêtez d'installer n'importe quelle merde.
La pub au milieu de page typiquement c'est pas PT qui l'a, donc c'est un spyware sur TON ordi.
Fais une restauration à une date où ça marchait, et ça doit marcher.
Mais sérieux, arrêtez d'installer n'importe quelle merde.
La pub au milieu de page typiquement c'est pas PT qui l'a, donc c'est un spyware sur TON ordi.
Max
- Membre
- 12928 posts
06 novembre 2013, 18:38
Yo, gros soucis avec min laptop sous windows 8 (ui caca jessé)
Apres une desinstallation d'un logiciel qui a planté et m'a obligé a forcer l'arret du pc, ce dernier veut absolument proceder a une reparation automatique qui n'est pas concluante.
A chaque demarrage Windows essaye de refaire la reparation, mais ne marche pas, et me parle de srttrail.txt
j'ai essayé la restauration systeme (au bout de 30 min la machine me dit que la restauration n'a pas pu s'effectuer), j'ai essayé l'actualisation, windows me dit qu'il n'a pas reussi.
Le truc c'est que j'ai des fichiers importants dessus que je ne vzux pas perdre.
Si quelqu'un a une solution, je le....oui!
Apres une desinstallation d'un logiciel qui a planté et m'a obligé a forcer l'arret du pc, ce dernier veut absolument proceder a une reparation automatique qui n'est pas concluante.
A chaque demarrage Windows essaye de refaire la reparation, mais ne marche pas, et me parle de srttrail.txt
j'ai essayé la restauration systeme (au bout de 30 min la machine me dit que la restauration n'a pas pu s'effectuer), j'ai essayé l'actualisation, windows me dit qu'il n'a pas reussi.
Le truc c'est que j'ai des fichiers importants dessus que je ne vzux pas perdre.
Si quelqu'un a une solution, je le....oui!
Weby
- Membre
- 56564 posts
06 novembre 2013, 18:44
dual boot
récupère les fichiers importants > clé USB/hdd
format
linux
win
récupère les fichiers importants > clé USB/hdd
format
linux
win