Aller au contenu

dimi3

Hubmaster
  • Compteur de contenus

    110
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par dimi3

  1. J'y suis arrivé ainsi : function go() { marequete('afficher.php','affichage'); actu = window.setTimeout(go,60000); } </script> </head> <body onload="go();"> Merci, captain_torche, de m'avoir aiguillé sur Ajax, dont je ne connais pas tous les trésors.
  2. Voici ce que j'ai fait : <html> <head> <script language="javascript"> function marequete(url,cadre) { var XHR = null; if(window.XMLHttpRequest) // Firefox XHR = new XMLHttpRequest(); else if(window.ActiveXObject) // Internet Explorer XHR = new ActiveXObject("Microsoft.XMLHTTP"); else { alert("Votre navigateur ne supporte pas ce script..."); return; } XHR.open("GET",url, true); XHR.onreadystatechange = function attente() { if(XHR.readyState == 4) { document.getElementById(cadre).innerHTML = XHR.responseText; } } XHR.send(null); return; } </script> </head> <body> <span onclick="marequete('afficher.php', 'affichage');">Rafraîchir</span> <div id="affichage"></div> </body> </html> Ce code fonctionne bien, mais l'utilisateur doit cliquer pour actualiser. Ca n'a pas d'intérêt car ça ne répond pas à ce que je souhaiterais : un rafraîchissement automatique toutes les tant secondes.
  3. Je vous remercie. En utilisant Ajax, j'imagine que j'afficherai les questions et réponses dans un conteneur <DIV>. Peut-on ne rafraîchir qu'un conteneur <DIV> d'une page ?
  4. Bonjour, Sur la même page se trouve un formulaire permettant au visiteur de formuler une question, et au-dessous sont affichées les questions posées par les visiteurs et les réponses qu'on leur apporte. Lorsque le visiteur a posé sa question, il laisse la page de son navigateur ouverte en attendant de voir s'afficher sa réponse. Mais il peut attendre longtemps, car si la page n'est pas rafraîchie, il ne voit pas la réponse qui lui a été donnée depuis longtemps. J'ai ajouté donc au code de la page : header ('refresh: 60; url = http://www.mapage.fr') ; Tout va bien tant que le visiteur n'écrit pas sa question ou sa réponse dans le formulaire au moment où le rafraîchissement a lieu ! Sinon il perd tout ce qu'il a entré ! De quelle(s) manière(s) on pourrait parer à cet inconvénient ? J'ai pensé à faire 2 frames : une pour le formulaire et une pour l'affichage des question-réponses, ne rafraîchissant que cette dernière. Est-ce une bonne idée, car je sais que les frames sont très critiquées (Je ne sais pas trop pourquoi d'ailleurs !). Je vous remercie de vos idées.
  5. Voilà, j'étais sûr d'avoir fait une erreur de raisonnement... mais je ne parvenais pas à la déceler. Merci à toi et merci à Captain_torche pour ses propositions de vérifications.
  6. La variable compteur se trouve dans un fichier texte. Le code complet est : <?php $_SESSION_START(); $fc= fopen("./compteur/compteur.txt",'r'); $compteur = fgets($fc,1024); $compteur = trim($compteur); fclose($fc); if (!isset($_SESSION['visite'])) { $compteur++; } else { $_SESSION['visite'] = "1"; } Il ne me semble pas que le problème se situe au niveau de la variable compteur puisque celle-ci s'incrémente correctement, mais au niveau de ma condition qui n'est pas respectée. Le compteur s'incrémente même quand la condition n'est pas satisfaite.
  7. Merci de votre attention. J'ai fait erreur en écrivant mon code dans mon message précédent. Dans mon fichier, j'ai bien mis "session_start();".
  8. Bonjour, Afin de n'incrémenter mon compteur de visites qu'à la première ouverture du fichier index de mon site, j'ai imaginé ce code : <?php $_SESSION_START(); if (!isset($_SESSION['visite'])) { $compteur++; } else { $_SESSION['visite'] = "1"; } Ca ne fonctionne pas. Ce code incrémente mon compteur à chaque ouverture du fichier index. Voyez-vous une erreur dans mon raisonnement ? Je vous remercie.
  9. j'arrive longtemps après la bataille... Pour que le programme fonctionne, il faut modifier le fichier verifier.php joint au programme : Voici une idée : <?php $cryptinstall="./cryptographp.fct.php"; include $cryptinstall; ?> <html> <?php if (chk_crypt($_POST['code'])) // SI BON ON ENTRE DANS LE SITE { echo "<script language=\"javascript\" type=\"text/javascript\">"; echo "window.location.replace(\"fichierOK.php\")"; echo "</script>"; } else // SI MAUVAIS RETOUR A L'INDEX DU SITE { echo "<script language=\"javascript\" type=\"text/javascript\">"; echo "window.location.replace(\"index.php\")"; echo "</script>"; } ?> </html>
  10. Merci. J'ai fait ça : $("p").live("click", function(){ $(this).after("<p><table border = 1 cellpadding = 15><tr><td><center><u>Aide</u></center><br>... bla...bla...bla...<br><br><center><input type=\"button\" value=\"Cacher l'aide\" onclick=\"affCache('resultat');\"></center></tr></td></table><br></p>"); }); et : <p>Aide</p> Le résultat est plus mauvais que la solution Ajax car le clic sur le bouton [Cacher l'aide] , au lieu de faire disparaître l'aide, il la multiplie. Quant à lier les fonctions .live et .Ajax, ça je ne sais pas faire. Ca marche nickel ! Mille mercis !
  11. Merci de votre attention. Lien d'appel : <A href="javascript:aide()">Aide</A> <br><br> <div id="resultat"></div> Fonctions dans le head : function affCache(idpr) { var pr = document.getElementById(idpr); if (pr.style.display == "") { pr.style.display = "none"; } else { pr.style.display = ""; } } function aide() { obj = document.getElementById("resultat"); obj.innerHTML = ""; if(window.XMLHttpRequest) // FIREFOX xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else return(false); xhr_object.onreadystatechange = function() { if(xhr_object.readyState == 4) { if(xhr_object.status == 200) obj.innerHTML += "" + xhr_object.responseText; else obj.innerHTML +="Error code " + xhr_object.status; } }; xhr_object.open("GET", "http://...chemin.../aide.php", true); xhr_object.send(null); } Fichier d'aide : <?php echo "<table border = 1 cellpadding = 15><tr><td><center><u>Aide</u></center><br>... bala bla bla ... "; echo "<br><br><center><input type=\"button\" value=\"Cacher l'aide\" onclick=\"affCache('resultat');\"></center></tr></td></table><br>"; ?>
  12. Bonjour, Pour obtenir de l'aide sur une page web, l'utilisateur clique sur un lien qui va appeler via Javascript/Ajax un texte sur le serveur. Ce texte va s'afficher dans un <div>. A la fin de l'affichage du texte un bouton [Fermer le message d'aide] permet à l'utilisateur de cacher le <div> encombrant. Mais si l'utilisateur souhaite réafficher le message d'aide, un nouveau clic sur le lien d'ouverture ne renouvelle pas l'affichage. Comment puis-je faire pour que le clic soit toujours fonctionnel, durant toute la durée d'affichage de la page à l'écran ? Je vous remercie de vos idées.
  13. Merci Ernestine... Il y a des jours où on devrait rester couché... Et dire que je suis depuis plus d'une heure sur ce code ! C'est toute la différence entre une pro qui a l'oeil aiguisé et un amateur qui se débat avec tellement de problèmes qu'il ne voit plus l'évidence...
  14. dimi3

    Formulaire checkbox et PHP

    Bonjour, Lorsque je crée un formulaire en html, les valeurs sont bien envoyées au fichier php qui va les traiter : <form name="formulaire" method="POST" action="traiter.php"> Choisissez les dates parmi la liste proposée :<br> <?php echo $datefichier[0] ?><input type="checkbox" name="check[]" value="<?php echo $datefichier[0] ?>"> <br> <?php echo $datefichier[1] ?><input type="checkbox" name="check[]" value="<?php echo $datefichier[1] ?>"><br> <input type="submit" name="submit" value="Envoyer"> </form> Mais lorsque je fais appel à un code php pour créer le formulaire, les valeurs ne passent pas. J'ai besoin de passer par la boucle while car le nombre d'input checkbox est variable. <form name="f" methode = "POST" action = "traiter.php"> <?php $datefichier = array_unique ($datefichier); sort($datefichier); $longueur = count($datefichier); $k = 0; while($k < $longueur) { echo $datefichier[$k]." <input type = 'checkbox' name = 'check[]' value = '$datefichier[$k]'><br>"; $k++; } ?> <input type = "submit" name = "submit" value = "Envoyer"> </form> Le fichier qui traite les valeurs est : <?php $tabcheck = (isset($_POST['check']))?$_POST['check']:null; echo "Voici les dates que vous avez choisies :<br>"; if (!empty($tabcheck)) { foreach($tabcheck as $cle => $valeur) { echo $cle.' : '.$valeur.'<br>'; } } ?> Une remarque : l'envoi avec code php pour créer le formulaire affiche dans la barre d'adresse du navigateur toutes les valeurs envoyées, comme si on employait la méthode GET. Je vous remercie de vos idées.
  15. dimi3

    Liens relatifs

    Merci pour l'explication de ces subtilités.
  16. Merci pour votre message. j'ai trouvé que la difficulté venait du fait que je passe d'une page à l'autre via un menu include dans la page appelante. En ajoutant session_start() en tête du fichier menu include, la variable est bien passée. La question est donc résolue.
  17. Bonsoir, Je récupère sans problème la valeur d'une variable de session lorsque le changement de page reste à la racine du site. Mais lorsque j'ouvre une page située dans un dossier du site, je ne récupère plus sa valeur. Je n'ai pas omis de mettre une session_start en tête de chaque page, ni omis de sauvegarder mes fichiers en utf8 sans bom. Que peut-il bien se passer ? je vous remercie.
  18. dimi3

    Liens relatifs

    Bonsoir, quelle différence entre les liens suivants : avec 1 point : ./repertoire/fichier.ext avec 2 points : ../repertoire/fichier.ext Merci à vous
  19. dimi3

    Liens relatifs

    Voilà donc le pourquoi du comment. J'ai tout refait en php et tout va bien. Merci pour vos bons conseils et votre efficacité.
  20. dimi3

    Liens relatifs

    merci de votre attention. le fichier contient le menu, c'est à dire les fonctions javascript d'affichage (déroulement des sous-menus etc.) et les liens.
  21. dimi3

    Liens relatifs

    Bonjour, J'ai 3 répertoires à la racine de mon site que j'appelle "menu", "repertoire1" et "repertoire2". Chaque fichier dans les répertoires , "repertoire1" et "repertoire2" affiche un menu qui permet d'ouvrir les fichiers de son propre répertoire et de l'autre répertoire. Ce menu appartient à son propre répertoire appelé "menu". Tous les fichiers du site l'appellent pour affichage en sommet de page par un <script language="javascript" src=&quot;http://monAdresseSite/menu/menu.js". Pour ouvrir un fichier de l'autre répertoire j'ai fait les liens suivants : - dans le répertoire1 : <a href="../repertoire2/fichier.php"> -dans le répertoire2 : <a href="../repertoire1/fichier.php"> Ca ne fonctionne pas. Cela vient-il du fait que le menu appelé appartient à son propre répertoire ? je vous remercie.
  22. J'ai encore appris quelque chose aujourd'hui ! Merci.
  23. J'ai cru comprendre que le header devait toujours être en première ligne de code. J'ai testé à l'instant. Ca n'a pas résolu le problème.
×
×
  • Créer...