philippe62770
Messages postés1Date d'inscriptionlundi 5 janvier 2015StatutMembreDernière intervention 5 janvier 2015 5 janv. 2015 à 19:47
salut commen je pourrait changer limage de la chat an haud a gauche merci
cs_bonhommecrea
Messages postés44Date d'inscriptiondimanche 14 mars 2010StatutMembreDernière intervention13 mars 2011 8 janv. 2011 à 09:32
euh 243 pardon
cs_bonhommecrea
Messages postés44Date d'inscriptiondimanche 14 mars 2010StatutMembreDernière intervention13 mars 2011 7 janv. 2011 à 21:44
ligne 143, il y a un commentaire que tu as ouvert et que tu n'a pas refermé :)
rojbisami
Messages postés6Date d'inscriptiondimanche 26 avril 2009StatutMembreDernière intervention18 avril 2010 17 juil. 2009 à 20:31
Un bon script.
Vérifiez l'affichage de l'heure.
cs_SuperChouquette
Messages postés37Date d'inscriptiondimanche 24 février 2008StatutMembreDernière intervention18 mai 2010 12 juil. 2009 à 22:44
Tu dois avoir du texte ou un esoace avant
<?php
session_start();
il ne faut pas qu'il y en ait.
cirkooo
Messages postés35Date d'inscriptionsamedi 23 juin 2007StatutMembreDernière intervention26 décembre 2012 11 juil. 2009 à 03:42
mince, ça ne marche pas? ça m'affiche:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\script.php:1) in C:\wamp\www\script.php on line 2
j'ai essayer de rajouter ?login=toto marche pas non plus?
de quoi ça peut venir?
MoulouD1993
Messages postés28Date d'inscriptionmardi 7 avril 2009StatutMembreDernière intervention28 janvier 2012 2 juil. 2009 à 17:56
jolis script si il ya d'autres script n'hesite pas et encore mercis
Yukilas
Messages postés2Date d'inscriptionmardi 6 janvier 2009StatutMembreDernière intervention20 janvier 2009 20 janv. 2009 à 07:43
@Neigedhiver : Merci bcp, je vais regarder ça aujourd'hui
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 20 janv. 2009 à 01:08
Yukilas
Messages postés2Date d'inscriptionmardi 6 janvier 2009StatutMembreDernière intervention20 janvier 2009 19 janv. 2009 à 12:11
Quelqu'un pourrait m'expliquer ce que sont les lignes 47 et 49 ?
$chat='a:0:{}';
$enligne='a:0:{}';
Merci d'avance ;)
soundpanther
Messages postés68Date d'inscriptionvendredi 27 juillet 2007StatutMembreDernière intervention31 janvier 2009 24 nov. 2008 à 13:05
très bon travail en fin presque
franzemmanuel
Messages postés1Date d'inscriptionjeudi 8 décembre 2005StatutMembreDernière intervention26 avril 2008 26 avril 2008 à 21:11
Super !
cs_SuperChouquette
Messages postés37Date d'inscriptiondimanche 24 février 2008StatutMembreDernière intervention18 mai 2010 16 mars 2008 à 12:38
Désolé, je met à jour le code ! si il y a d'autre bug n'hésite surtout pas !
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 26 févr. 2008 à 20:54
Salut,
J'ai fait aussi un bench pour comparer un simple if elseif else avec un switch case default. On en trouve d'ailleurs plein sur le net...
Clairement, switch prend l'avantage sur if pour un petit nombre de possibilités. Pour ma part, j'ai tenté avec 26 plus une par défaut. Là, switch et if deviennent équivalents (c'est à dire que parfois l'un est plus rapide, parfois c'est l'autre.
Coucou747 (j'allais oublier le '747', mais trop peur de me faire taper sur les doigts), pour écrire pareil que ton switch avec un if, il suffit de sortir l'appel à la méthode de la boucle pour stocker le résultat dans une variable, et de tester sur cette variable.
$aTester = $maClasse -> maMethode();
if ($aTester == '...') {
// ...
}
Autrement dit, il semble que la structure switch demande plus de ressources quand elle est initialisée, mais en demande moins pour chaque possibilité supplémentaire.
Si on avait des valeurs, on pourrait résoudre un système de 2 équations à 2 inconnues, et on saurait quand il est préférable d'utiliser l'un plutôt que l'autre...
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 26 févr. 2008 à 18:55
mais justement, un switch fait comme le tien, c'est presque comparable a un if, mais un switch comme je l'ai fait plus haut,c'est different...
jantosze
Messages postés72Date d'inscriptionmercredi 29 mai 2013StatutMembreDernière intervention15 mai 2009 26 févr. 2008 à 18:49
Salut coucou747,
Il me semble que tu oublies un détail avec Switch:
switch( C ) {
case 1:
.....
break;
case 2:
....
break;
ect ..
default:
......
break;
}
Sinon évidemment tu auras tendance à cumuler
Cdt
JAN
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 26 févr. 2008 à 18:44
nan mais c'est surtout pas les memes structures :
switch (...){
case val1:
instructions executes pour la valeur 1
case val2:
instructions executes pour la valeur 1 ou 2
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 26 févr. 2008 à 18:39
Il est évident que le gain ne se mesure pas sur "Si i == 1" "Si i == 2" ...
C'est absurde :o
Il est beaucoup plus aisé d'écrire :
switch ( $class->ma_methode() ) {
case TRUC:
//
case MACHIN:
//
/// etc..
}
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 25 févr. 2008 à 20:36
en fait, parfois, on peut faire un if en O(log(nombre_elements)) alors qu'un switch est en O(nombre_elements)
voici le bench :
function compare1($i){
if ($i==1)return '1';if ($i==2)return '2';if ($i==3)return '3';
if ($i==4)return '4';if ($i==5)return '5';if ($i==6)return '6';
if ($i==7)return '7';if ($i==8)return '8';return '9';
}
function compare1_1($i){
if ($i<5){if ($i==1)return '1';if ($i==2)return '2';if ($i==3)return '3';return '4';}
if ($i==5)return '5';if ($i==6)return '6';if ($i==7)return '7';if ($i==8)return '8';
return '9';
}
function compare2($i){
switch ($i){
case 1:return '1';case 2:return '2';case 3:return '3';case 4:return '4';
case 5:return '5';case 6:return '6';case 7:return '7';case 8:return '8';
default:return '9';
}}
function compare3($i){$i='f'.$i;return $i();}
function f1(){return '1';}function f2(){return '2';}function f3(){return '3';}
function f4(){return '4';}function f5(){return '5';}function f6(){return '6';}
function f7(){return '7';}function f8(){return '8';}function f9(){return '9';}
c'est clairement compare1_1 la plus rapide
cs_SuperChouquette
Messages postés37Date d'inscriptiondimanche 24 février 2008StatutMembreDernière intervention18 mai 2010 25 févr. 2008 à 18:55
merci pour vos conseil !
Sinon pour l'intégration dans un site, le webmaster peut mettre une frame, le but était que le script tienne dans un fichier, sans base de données, sans fichier texte qui se créé à coté.
Je vais aussi ajouté la gestion des utilisateur, j'ai finit le script ! en tous les cas merci pour vos conseils !
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 25 févr. 2008 à 17:57
Au temps pour moi...
jantosze
Messages postés72Date d'inscriptionmercredi 29 mai 2013StatutMembreDernière intervention15 mai 2009 25 févr. 2008 à 16:51
NEIGEDHIVER je ne partage pas ton avis sur le fonctionnement du switch:
" Dans une commande switch , une condition n'est évaluée qu'une fois, et le résultat est comparé à chaque case . Dans une structure elseif , les conditions sont évaluées à chaque comparaison. Si votre condition est plus compliquée qu'une simple comparaison, ou bien fait partie d'une boucle, switch sera plus rapide. "
lire http://www.manuelphp.com/php/control-structures.switch.php par exemple.
cdt
JAN
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 25 févr. 2008 à 16:08
Salut,
"partie PHP : sur la série des if(@$_GET['action']... J'aurai tendance à utiliser un switch / case avec une gestion du default, je trouve que cela apporte en lisibilité."
...mais fait perdre en performances. D'un autre côté, une série de blocs if, c'est pas optimisé. Mieux vaut utiliser un if ... elseif ... else en prenant soin de mettre en premier l'action qui a le plus de chances de se produire.
Une boucle switch doit parcourir tous les cas possibles avant de se décider. Une boucle if elseif else les parcourt les uns après les autres, et sort dès que le bon a été trouvé.
Et puis les @$_GET c'est moche, très moche.
Mieux vaut une boucle comme ça :
Sinon, petite remarque : c'est
et non pas
Il y a un espace entre le `r` et le `/`
Maintenant, pour que ce chat puisse être plus facilement intégrable dans un site, il faut penser à séparer le code PHP du code HTML et faire en sorte qu'on puisse, justement, facilement intégrer ça où on veut.
jantosze
Messages postés72Date d'inscriptionmercredi 29 mai 2013StatutMembreDernière intervention15 mai 2009 25 févr. 2008 à 10:13
Salut,
En première lecture qq rems de forme:
- partie PHP : sur la série des if(@$_GET['action']... J’aurai tendance à utiliser un switch / case avec une gestion du default, je trouve que cela apporte en lisibilité.
-partie JS: bien les 2 try sur ActiveXObject j'en mettrai un aussi sur le if qui suit,
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } par
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = false;
}
}
return xmlhttp;
} Du fait de readyState 4 mettre une trace d'erreur pour if( mesage.status 200 ) { ... } else { "il y a un problem avec request err_num:"+message.status);Faire un test sur var XXXX httprequest(); car dans ton code tu peux avoir NULL; De même initialiser var xmlhttp false qui est réservé aux ops BOOL je préfère NULL.
5 janv. 2015 à 19:47
8 janv. 2011 à 09:32
7 janv. 2011 à 21:44
17 juil. 2009 à 20:31
Vérifiez l'affichage de l'heure.
12 juil. 2009 à 22:44
<?php
session_start();
il ne faut pas qu'il y en ait.
11 juil. 2009 à 03:42
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\script.php:1) in C:\wamp\www\script.php on line 2
j'ai essayer de rajouter ?login=toto marche pas non plus?
de quoi ça peut venir?
2 juil. 2009 à 17:56
20 janv. 2009 à 07:43
20 janv. 2009 à 01:08
http://fr.php.net/serialize
http://fr.php.net/unserialize
19 janv. 2009 à 12:11
$chat='a:0:{}';
$enligne='a:0:{}';
Merci d'avance ;)
24 nov. 2008 à 13:05
26 avril 2008 à 21:11
16 mars 2008 à 12:38
26 févr. 2008 à 20:54
J'ai fait aussi un bench pour comparer un simple if elseif else avec un switch case default. On en trouve d'ailleurs plein sur le net...
Clairement, switch prend l'avantage sur if pour un petit nombre de possibilités. Pour ma part, j'ai tenté avec 26 plus une par défaut. Là, switch et if deviennent équivalents (c'est à dire que parfois l'un est plus rapide, parfois c'est l'autre.
Coucou747 (j'allais oublier le '747', mais trop peur de me faire taper sur les doigts), pour écrire pareil que ton switch avec un if, il suffit de sortir l'appel à la méthode de la boucle pour stocker le résultat dans une variable, et de tester sur cette variable.
$aTester = $maClasse -> maMethode();
if ($aTester == '...') {
// ...
}
Autrement dit, il semble que la structure switch demande plus de ressources quand elle est initialisée, mais en demande moins pour chaque possibilité supplémentaire.
Si on avait des valeurs, on pourrait résoudre un système de 2 équations à 2 inconnues, et on saurait quand il est préférable d'utiliser l'un plutôt que l'autre...
26 févr. 2008 à 18:55
26 févr. 2008 à 18:49
Il me semble que tu oublies un détail avec Switch:
switch( C ) {
case 1:
.....
break;
case 2:
....
break;
ect ..
default:
......
break;
}
Sinon évidemment tu auras tendance à cumuler
Cdt
JAN
26 févr. 2008 à 18:44
switch (...){
case val1:
instructions executes pour la valeur 1
case val2:
instructions executes pour la valeur 1 ou 2
26 févr. 2008 à 18:39
C'est absurde :o
Il est beaucoup plus aisé d'écrire :
switch ( $class->ma_methode() ) {
case TRUC:
//
case MACHIN:
//
/// etc..
}
que :
$retour = $class->ma_methode();
if ( $retour == TRUC ) {
//
} elseif ( $retour == MACHIN ) {
//
} // etc...
:)
25 févr. 2008 à 20:36
voici le bench :
function compare1($i){
if ($i==1)return '1';if ($i==2)return '2';if ($i==3)return '3';
if ($i==4)return '4';if ($i==5)return '5';if ($i==6)return '6';
if ($i==7)return '7';if ($i==8)return '8';return '9';
}
function compare1_1($i){
if ($i<5){if ($i==1)return '1';if ($i==2)return '2';if ($i==3)return '3';return '4';}
if ($i==5)return '5';if ($i==6)return '6';if ($i==7)return '7';if ($i==8)return '8';
return '9';
}
function compare2($i){
switch ($i){
case 1:return '1';case 2:return '2';case 3:return '3';case 4:return '4';
case 5:return '5';case 6:return '6';case 7:return '7';case 8:return '8';
default:return '9';
}}
function compare3($i){$i='f'.$i;return $i();}
function f1(){return '1';}function f2(){return '2';}function f3(){return '3';}
function f4(){return '4';}function f5(){return '5';}function f6(){return '6';}
function f7(){return '7';}function f8(){return '8';}function f9(){return '9';}
c'est clairement compare1_1 la plus rapide
25 févr. 2008 à 18:55
Sinon pour l'intégration dans un site, le webmaster peut mettre une frame, le but était que le script tienne dans un fichier, sans base de données, sans fichier texte qui se créé à coté.
Je vais aussi ajouté la gestion des utilisateur, j'ai finit le script ! en tous les cas merci pour vos conseils !
25 févr. 2008 à 17:57
25 févr. 2008 à 16:51
" Dans une commande switch , une condition n'est évaluée qu'une fois, et le résultat est comparé à chaque case . Dans une structure elseif , les conditions sont évaluées à chaque comparaison. Si votre condition est plus compliquée qu'une simple comparaison, ou bien fait partie d'une boucle, switch sera plus rapide. "
lire http://www.manuelphp.com/php/control-structures.switch.php par exemple.
cdt
JAN
25 févr. 2008 à 16:08
"partie PHP : sur la série des if(@$_GET['action']... J'aurai tendance à utiliser un switch / case avec une gestion du default, je trouve que cela apporte en lisibilité."
...mais fait perdre en performances. D'un autre côté, une série de blocs if, c'est pas optimisé. Mieux vaut utiliser un if ... elseif ... else en prenant soin de mettre en premier l'action qui a le plus de chances de se produire.
Une boucle switch doit parcourir tous les cas possibles avant de se décider. Une boucle if elseif else les parcourt les uns après les autres, et sort dès que le bon a été trouvé.
Et puis les @$_GET c'est moche, très moche.
Mieux vaut une boucle comme ça :
if (isset($_GET['action'])) {
if ($_GET['action'] == 'nouveau_message') {
// ...
}
elseif ($_GET['action'] == 'vider') {
// ...
}
elseif ($_GET['action'] == 'poster') {
// ...
}
}
Sinon, petite remarque : c'est
et non pas
Il y a un espace entre le `r` et le `/`
Maintenant, pour que ce chat puisse être plus facilement intégrable dans un site, il faut penser à séparer le code PHP du code HTML et faire en sorte qu'on puisse, justement, facilement intégrer ça où on veut.
25 févr. 2008 à 10:13
En première lecture qq rems de forme:
- partie PHP : sur la série des if(@$_GET['action']... J’aurai tendance à utiliser un switch / case avec une gestion du default, je trouve que cela apporte en lisibilité.
-partie JS: bien les 2 try sur ActiveXObject j'en mettrai un aussi sur le if qui suit,
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } par
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = false;
}
}
return xmlhttp;
} Du fait de readyState 4 mettre une trace d'erreur pour if( mesage.status 200 ) { ... } else { "il y a un problem avec request err_num:"+message.status);Faire un test sur var XXXX httprequest(); car dans ton code tu peux avoir NULL; De même initialiser var xmlhttp false qui est réservé aux ops BOOL je préfère NULL.
Cdt
JAN