Vous n'êtes pas identifié(e).
Je ne vois pas de session_start() au début d'index.php
Saluton,
Dans tous les scripts et la doc j'ai toujours vu le paramètre Location de header() écrit avec une majuscule.
Ce serait ballot si c'était juste cela, non ?
Saluton, rustik,
Si tu veux féminiser ton pseudo je te conseille : Rustika, c'est juste la traduction de rustique en espéranto.
Pour le reste, je crois que les propos de Jc sont la sagesse même, et pour l'hébergement tu peux aussi t'adresser à ceux qui hébergent ce forum, t'as un lien juste en bas de cette page.
@mike.
Bon alors j'ai remplacé tout ce fourbis
function fillwithspan($argot,$trid){
if(strpos($argot,'(1)')!==false){
$argot=str_replace('(1)','<span class="renvoi" onMouseover="montre(\'l'.$trid.'_1\');" onMouseout="cache(\'l'.$trid.'_1\');">(1)</span>',$argot);
}
if(strpos($argot,'(2)')!==false){
$argot=str_replace('(2)','<span class="renvoi" onMouseover="montre(\'l'.$trid.'_2\');" onMouseout="cache(\'l'.$trid.'_2\');">(2)</span>',$argot);
}
if(strpos($argot,'(3)')!==false){
$argot=str_replace('(3)','<span class="renvoi" onMouseover="montre(\'l'.$trid.'_3\');" onMouseout="cache(\'l'.$trid.'_3\');">(3)</span>',$argot);
}
if(strpos($argot,'(4)')!==false){
$argot=str_replace('(4)','<span class="renvoi" onMouseover="montre(\'l'.$trid.'_4\');" onMouseout="cache(\'l'.$trid.'_4\');">(4)</span>',$argot);
}
if(strpos($argot,'(5)')!==false){
$argot=str_replace('(5)','<span class="renvoi" onMouseover="montre(\'l'.$trid.'_5\');" onMouseout="cache(\'l'.$trid.'_5\');">(5)</span>',$argot);
}
if(strpos($argot,'(6)')!==false){
$argot=str_replace('(6)','<span class="renvoi" onMouseover="montre(\'l'.$trid.'_6\');" onMouseout="cache(\'l'.$trid.'_6\');">(6)</span>',$argot);
}
if(strpos($argot,'(7)')!==false){
$argot=str_replace('(7)','<span class="renvoi" onMouseover="montre(\'l'.$trid.'_7\');" onMouseout="cache(\'l'.$trid.'_7\');">(7)</span>',$argot);
}
if(strpos($argot,'(8)')!==false){
$argot=str_replace('(8)','<span class="renvoi" onMouseover="montre(\'l'.$trid.'_8\');" onMouseout="cache(\'l'.$trid.'_8\');">(8)</span>',$argot);
}
if(strpos($argot,'(9)')!==false){
$argot=str_replace('(9)','<span class="renvoi" onMouseover="montre(\'l'.$trid.'_9\');" onMouseout="cache(\'l'.$trid.'_9\');">(9)</span>',$argot);
}
if(strpos($argot,'(10)')!==false){
$argot=str_replace('(10)','<span class="renvoi" onMouseover="montre(\'l'.$trid.'_10\');" onMouseout="cache(\'l'.$trid.'_10\');">(10)</span>',$argot);
}
if(strpos($argot,'(11)')!==false){
$argot=str_replace('(11)','<span class="renvoi" onMouseover="montre(\'l'.$trid.'_11\');" onMouseout="cache(\'l'.$trid.'_11\');">(11)</span>',$argot);
}
return $argot;
}
par
et, à ma grande surprise et satisfaction, j'obtiens le même résultat.
Je n'y comprends absolument rien, mais ça fonctionne impeccablement.
Merci à toi JC pour ta patience, promis dès que j'aurai retrouvé quelques neurones sains et un peu de temps, je chercherai à comprendre.
Bon, Ok, avec preg_match_all il me les trouve toutes.
Maintenant faut que je vois comment combiner ça avec preg_replace().
Ça me promet encore bien de l'amusement c't'affaire.
Ben, crénom ! qu'est-ce qui raconte dans la doc alors ?
C'est-y quoi ce flag PREG_OFFSET_CAPTURE ?
Si on ne peut plus se fier à la doc ...
Bon j'essaye d'avancer sur cette affaire. Je teste pour voir sir preg_match me trouve toutes les 'notes', notamment quand il y en a plusieurs dans une même ligne.
J'ai donc modifié le script comme suit :
Et j'obtiens ces données
Array
(
[0] => Array
(
[0] => (1)
[1] => 19
)[1] => Array
(
[0] => 1
[1] => 20
)
)
Array
(
[0] => Array
(
[0] => (2)
[1] => 13
)
)
[1] => Array
(
[0] => 2
[1] => 14
)
)
Array
(
[0] => Array
(
[0] => (4)
[1] => 12
)[1] => Array
(
[0] => 4
[1] => 13
)
)
Array
(
[0] => Array
(
[0] => (5)
[1] => 36
)[1] => Array
(
[0] => 5
[1] => 37
)
)
Array
(
[0] => Array
(
[0] => (6)
[1] => 14
)[1] => Array
(
[0] => 6
[1] => 15
)
)
Où l'on voit bien que lorsqu'il y a plusieurs 'notes' dans une ligne, seule la première est détectée.
Dans la leçon 1 la ligne 2 comporte les 'notes' (2) et (3) et la ligne 11 les notes (6) et (7).
Alors que la constante PREG_OFFSET_CAPTURE, devrait assurer la capture de toutes les correspondances.
Le paramètre flags peut prendre l'une des valeurs suivantes :
PREG_OFFSET_CAPTURE
Si cette option est activée, toutes les sous-chaînes qui satisfont le masque seront aussi identifiées par leur offset. Notez que cela modifie la valeur de matches qui devient un tableau dont chaque élément est un tableau contenant la chaîne correspondant au masque à l'offset 0 ainsi que l'offset de la chaîne dans subject à l'offset 1.
Evidemment bien sûr (le boulet !!!) :
retourne, avec lecon0001.inc.php
1 1 1 0 0 1 0 0 0 0 1 0 0 0
Ce qui correspond bien au fait qu'il y ait des notes aux items 1, 2, 3, 6 et 11 et pas dans les autres. A ceci près que dans les items 2 et 11 il y a deux notes.
Je ne t'oublie pas MK, j'ai juste la tête sous l'eau. Je reviens vers toi au plus tôt.
En doutais-je ?
En attendant fait un test en remplaçant ton pattern par le mien, voir ce que ça donne.
J'ai inséré au début du code de ma fonction
Et cela me retourne une jolie guirlande de 0 0 0 0 0 0
preg_match() retourne 1 si le pattern fourni correspond, 0 s'il ne correspond pas, ou FALSE si une erreur survient.
j'en conclus que ce pattern ne convient pas trop.
Saluton,
Au vu des scripts, je ne vois pas comment les url ne viendraient pas à être polluées.
Rien à dire sur le script, il fait le boulot demandé, si ce n'est pas le résultat attendu c'est qu'il faudrait programmer le script pour qu'il évite de modifier tout argument href.
Saluton,
Je ne vois pas pourquoi il en serait autrement si le script se résume à cela.
n'affichera jamais rien si la sélection de la base bateau n'échoue pas.
Merci Jc,
Mais je crains de ne pas tout comprendre (comme souvent)
Le but est d'éventuellement remplacer dans $ligne['argot'] toute occurrence d'un nombre entre parenthèses par son équivalent encapsulé d'un <span> et de ses méthodes onmouseover() et onmouseout() en leur passant la valeur du nombre comme argument des fonctions montre() et cache().
Or preg_replace() attend trois arguments : le motif recherché, le texte de remplacement, la chaîne dans laquelle chercher et substituer.
Et c'est sur ce dernier point que je bute, j'ai deux pattern, un pour le preg_match et un pour le preg_replace, ça, d'accord.
Mais comment imbriquer le preg_match et le preg_replace ?
Saluton,
Mon besoin de mise en forme finale est qu'au survol d'un numéro de note, par exemple (1) la note correspondante qui est par nature de type display:none devienne visible.
Ce que j'obtiens, par exemple sur cette page : http://www.avcxjo-moko-kantas.fr/LMAM/i … p?page=001Pour cela il faut que je rende réactive la zone (1) de l'item d'argot.
Comme la page est construite par PHP (il y aura in fine 100 pages de structure identique) les identifiants des lignes sont générés au fil de l'eau.
Et preg_replace est bien une fonction regex de substitution, donc je en vois aps ce qu'il y a d'incohérent à vouloir l'utiliser dans ce contexte.
C'est une partie de code php dans la CSS d'un site Wordpress.
J'avoue mon incrédutlité. Je ne vois vraiment pas ce que ce code PHP fait dans une CSS. Ni surtout à quoi sert PHP en l'occurence, le contenu de l'echo étant du pur HTML.
Et le code WP Cycle affiche un diapo géré par le plugin WP-Cycle dans les extensions WP
On n'est vraiment au-delà des limites de mes compétences.
Je n'utilise jamais aucun CMS et encore moins Word-Press.
Saluton,
Deux questions pourquoi cet echo, php n'apporte rien dans l'affaire, et qu'est-ce que wp_cycle() ?
Bon le problème de la navigation dans le glossaire réversible est réglé.
J'avais oublié que les ancres internes ne pointent plus sur l'attribut name mais sur l'attribut id. Lequel, bien sûr, doit être unique pour toute la page HTML.
Vous pouvez voir le résultat ici : www.avcxjo-moko-kantas.fr/LMAM/index.php?page=GLO
Bon, ne me demandez pas (enfin pas trop) comment j'ai fait, mais là, ça a vraiment l'air de fonctionner.
Pour des raisons que je ne m'explique pas, le résultat d'un
sur mon site retourne
Array
(
[input_encoding] => ISO-8859-1
[output_encoding] => ISO-8859-1
[internal_encoding] => ISO-8859-1
)
Donc, bien que tout ce que j'y transfère via Filezilla soit, au départ en UTF8 sous Ubuntu gedit, j'ai dû considérer que tout se retrouvait en ISO-8859-1 sur le serveur. (Bizarre, bizarre.)
Bref voici les deux sources
les data:
et le script
return strtolower(utf8_encode($modif));
}
?>
Bon maintenant il me reste à comprendre pourquoi les ancres internes ne fonctionnent pas, mais c'est une autre aventure ...
Euh non, en fait, ça ne fonctionne pas vraiment, mais on s'approche.
Bon finalement j'ai trouvé, ailleurs sur le web, une solution pas très élégante, mais qui semble fonctionner :
Excuse-moi pour le retard.
Il y a un truc que je ne comprend pas dans ta démarche, pourquoi aller chercher dans le table de base de données des infos déjà présentes dans l'array $_SESSION['liste'] juste pour vérifier que '1010' et 1014' sont bien dans cette liste ?
Au fait, peux-tu montrer le résultat d'un var_dump($_SESSION['liste']) ?
Excuse-moi, j'étais en déplacement à Lyon depuis dimanche et je viens de rentrer mais là, tout de suite, je dois aller chez ma belle-mère.
je te réponds ce soir.
@+
Saluton,
On va procéder par ordre.
Pour commencer, plutôt que de soumettre count($_SESSION['liste']) requêtes il faut utiliser la syntaxe SQL "IN(liste des id )" pour ne soumettre qu'une seule requête.
Ensuite, crois-tu que la condition ($enr[0]=='1010' && $enr[0]=='1014' ) puisse jamais être vérifiée ?
En d'autres termes, $enr[0] a-t-il la moindre chance d'être à la fois (&&) égal à '1010' et '1014' ?
Saluton,
Ciel ! une Céleste, comment va Babar ?
Soyons sérieux :
Saluton,
Je me prends la tête depuis des heures avec un autre problème.
j'ai cet array associatif :
l'objectif est de le classer par ordre alphabétique croissant sur les index d'abord puis sur les valeurs (en gardant l'association clé=>valeur.
J'y parviens très bien avec ce jeux de fonctions :
appelées dans ce script :
Mon souci est que le 'é' de 'épaules dans l'item
ne se transforme pas en E.
Et pourtant j'ai testé
qui affiche bien 'EPAULE'.
Vous pouvez voir ce script ici : http://www.avcxjo-moko-kantas.fr/LMAM/i … p?page=GLO