Aller au contenu

Ernestine

Membre+
  • Compteur de contenus

    1 294
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par Ernestine

  1. Ta page a pour titre "erreur 404", mais le serveur, lui, ne renvoie pas une erreur 404. Tu dois utiliser cet outil pour le visualiser : http://www.webmaster-hub.com/pages/outils/headers Dans cet outil, tape par exemple une page imaginaire du site google, disons : http://www.google.fr/lsqfjjk En première ligne du résultat, tu as : Voila ce qu'il faut obtenir avec une page qui n'existe pas. Maintenant, fais l'essai avec une page imaginaire de ton site :http://www.cheloniophilie.com/qsdfsdf Tu obtiens deux blocs de résultats, le premier est : C'est à dire une redirection temporaire vers cette page 404.php, qui correspond au deuxième résultat : Donc une redirection temporaire vers la page 404.php : c'est très différent d'une erreur 404 ! Et c'est ce qui se produit avec les deux pages que tu cites en exemple dans ton premier message. Si ça se trouve, tu as mis en place une règle bizarre de redirection 302 dans ton .htaccess pour les pages non trouvées, et c'est à cause de ça que tes redirections permanentes ne sont pas lues (simple hypothèse).
  2. Un truc bizarre, sur ton site, c'est qu'il ne renvoie en réalité jamais d'erreurs 404. Quand une page n'est pas trouvée, le serveur renvoie un code 302 (redirection temporaire) et redirige vers la page dont le titre est "Erreur 404". Il serait préférable qu'en cas de page non trouvée, le serveur renvoie vraiment une erreur 404 ! Tu peux visualiser tout ça avec l'outil analyseur d'entêtes : http://www.webmaster-hub.com/outils/http-viewer.php
  3. Bonjour, Pour le faire en live, tu peux par exemple détecter l'évènement "touche relâchée", sur les deux champs de saisie. Concrètement, dans calcul.js, remplacer la ligne : $("form#formulaire_calcul").submit(function() { par : $("input#nombre_a, input#nombre_b").keyup(function() { Par contre, ça veut dire qu'une requête sera effectuée à chaque fois que l'utilisateur appuie sur une touche, donc ça peut faire ramer... Il serait éventuellement possible, aussi, de détecter l'évènement "perte de focus" des champs nombre_a et nombre_b, c'est à dire que le calcul se lancerait chaque fois que le curseur quitte l'un de ces deux champs (avec jQuery c'est la fonction focusout()). Pour afficher le résultat dans un div plutôt que dans un input, il faut, dans calcul.php, remplacer l'input par un div, c'est à dire remplacer <input id="resultat_addition" type="text" readonly="readonly" /> par : <div id="resultat_addition"></div> Et dans le fichier calcul.js, écrire le résultat non pas avec la fonction val(), mais avec la fonction html(), et bien sûr supprimer l'input, donc remplacer : $("input#resultat_addition").val(data['resultat_addition']); par : $("#resultat_addition").html(data['resultat_addition']);
  4. C'est normal : la fonction array_search fait une recherche sur les valeurs, c'est à dire, dans notre cas, sur les quantités. Si tu veux vérifier la présence d'un identifiant de produit, c'est sur les clés qu'il faut rechercher, et donc utiliser la fonction array_key_exists (et peu importe la position dans le tableau). Ta page d'ajout au panier devrait donc plutôt être : <?php include('fonctions/fonction.php'); //Initialise les variables $id = $_GET['id']; if(array_key_exists($id, $_SESSION['panier'])) $_SESSION['panier'][$id]++; else $_SESSION['panier'][$id] = 1; header('location:../index.php?cat=affaire'); ?>
  5. En relisant ton code, je vois cette ligne : $pos = array_search($_SESSION['panier']['id']); Cette fonction doit prendre deux paramètres ! Là tu n'en donnes qu'un... Tu aurais certainement dû écrire : $pos = array_search($id, $_SESSION['panier']['id']); Doc : http://www.php.net/manual/fr/function.array-search.php Donc forcément ça casse tout le reste de ton script...
  6. Ah non, si tu fais ça, ça signifie que tu as un tableau 'panier', qui contient un tableau 'id', qui lui-même contient un tableau 'quantité', ça fait tout un tas de tableaux imbriqués, alors qu'un seul tableau d'une seule dimension suffit. Par exemple tu déclares ton tableau 'panier' de cette manière : $_SESSION['panier'] = array(); Ensuite, admettons qu'un utilisateur ajoute une fois le produit d'identifiant 12. Pour l'ajouter au panier, tu fais simplement : $_SESSION['panier'][12] = 1; Si ensuite il ajoute trois fois le produit 23, alors on fait : $_SESSION['panier'][23] = 3; Imaginons que plus tard, il revient sur le produit 12 et qu'il l'ajoute une fois de plus (donc maintenant il est deux fois dans le panier), alors on corrige simplement la quantité correspondante : $_SESSION['panier'][12] = 2; Et ainsi de suite... Avec ça, si tu fais un print_r de $_SESSION['panier'], tu obtiendras : Array ( [12] => 2 [23] => 3 ) Et pour afficher le panier : foreach($_SESSION['panier'] AS $id => $quantite) echo 'produit : ' . $id . ', quantité : ' . $quantite . '<br />'; Par contre, si tu as besoin de stocker d'autres données (par exemple des options choisies pour chaque produit), et non pas uniquement la quantité, alors il deviendra effectivement nécessaire de faire des tableaux imbriqués.
  7. Salut, Je ne vois pas trop pourquoi ta variable $_SESSION['panier'] contient deux tableaux : ce serait plus pratique qu'elle en contienne un seul, c'est à dire un tableau clés/valeurs où les clés seraient les identifiants des produits, et valeurs leurs quantités. Exemple : j'ajoute trois fois le produit 12 et deux fois le produit 23, alors mon tableau $_SESSION['panier'] serait du style : 12 => 3 23 => 2 Ce serait plus facile à manipuler que ton double tableau. Ensuite, quand l'utilisateur ajoute un produit, on regarde si ce produit est déjà présent dans le panier (avec array_key_exists car c'est au niveau des clés qu'on recherche) : si c'est le cas, on modifie la quantité (c'est à dire la valeur correspondante), sinon, on ajoute une nouvelle entrée au tableau.
  8. Ernestine

    site dynamique

    Bonjour, S'il est ignorant, ce n'est pas possible. Au mieux, en travaillant un peu, il parviendra à créer la base et faire le minimum. Mais de là à créer toute la base et la lier au site, c'est une autre paire de manches, et de bonnes connaissances sont indispensables.
  9. Ce que je ne comprends pas, c'est cette phrase : S'il s'agit de trois pages différentes, jouant chacune UN morceau, alors on ne peut pas parler de playlist : c'est simplement trois pages, qui chacune affiche le player une fois avec un seul morceau. Non ?
  10. Sarc > Pour layer2, je mettrais plutôt top:150px, c'est à dire le décalage entre le bord haut de corps et layer2 (300px) moins la hauteur de layer1 (150px). Je me permets d'ailleurs une petite précision : un bloc en relative se positionne par rapport à lui-même (s'il était dans le flux). Et un bloc en absolute se positionne par rapport au premier ancêtre positionné (qui n'est pas forcément son parent direct).
  11. Salut, En CSS, la définition sur les id est prioritaire de celle sur les class, ce qui explique que les propriétés de #contenu-principal a sont prioritaires sur .Style13 a Pour résoudre le problème, je pense qu'il suffirait de mieux cibler l'élément, remplacer : .Style13 a { font-weight: bold; font-style: italic; color: #00CC00; } par : #contenu-principal .Style13 a { font-weight: bold; font-style: italic; color: #00CC00; }
  12. Spammer les forums et inscrire le site dans des annuaires bidons (si la validation est instantanée et non modérée c'est forcément bidon) ne va certainement pas produire de résultats sérieux. Mieux vaut un seul bon et vrai lien, que cinq liens poubelle...
  13. Oui mais bon, autant faire les choses bien, et fermer la connexion dès qu'on n'en a plus besoin
  14. Salut, Référenceur c'est un métier, et ce n'est pas comme ça en quelques semaines, alors que c'est tout nouveau pour toi, que tu vas obtenir des résultats dignes de ce nom. En plus tu nous dis que tu ne peux pas toucher à la partie technique, et si ça se trouve, à la base, le site est super mal conçu et tous tes efforts seront vains. Ça c'est pour l'aspect technique, mais on ne sait rien non plus de l'aspect rédactionnel. Y a-t-il une quantité et une qualité suffisante de contenu sur ce site ? Les réseaux sociaux, ça peut aider à rendre un site plus populaire. Pour le référencement Google proprement dit, si tu ne peux pas toucher à l'aspect technique ni au rédactionnel, ton boulot va un peu se résumer à obtenir des liens de qualité. Je pense que ton responsable de mission n'a pas vraiment conscience de ce que représente le référencement d'un site. Ça ne s'improvise pas !
  15. Salut, Point de vue référencement, oublie les deux premières solutions : l'attribut title d'un lien n'est pas pris en compte par Google (du moins c'est ce que j'ai pu lire à droite à gauche, après, peut-être que les choses ont changé, mais en tous cas cet attribut n'a quasiment aucun poids) et il est aussi fortement probable que Google détecte le display:none La troisième solution est de loin la meilleure, non seulement pour le référencement, mais aussi pour l'accessibilité générale du site. Et puis placer l'image en absolute au pixel près n'est pas compliqué.
  16. Le problème, c'est que c'est une mise en page constituée d'une multitude de tableaux et de cellules de tableau, auxquelles sont appliqués des styles, soit avec des style="", soit directement en dur comme <table bgcolor="#ffffff" Or certains styles se répercutent de "mère en fille" d'une cellule à l'autre, si bien que pour régler un problème, ça oblige à remonter de tableau en tableau. Ainsi sur la page d'accueil, en regardant le code plus attentivement, on constate que les deux divs "Dernières notations" et "Derniers commentaires" sont contenus dans une cellule de tableau. Et cette cellule est ouverte ainsi : <td align="right" valign="top" width="330"> Ce algin right se répercute donc sur les divs, ce qui expliquait pourquoi, sous Chrome, le tableau contenant les dernières notations était collé sur le bord droit du div si bien que le contenu était invisble, car trop à gauche. Sur d'autres pages, il suffit qu'il n'y ait pas ce align=right dans la cellule mère, pour que ça fonctionne. Après la question, c'est pourquoi Chrome l'interprète de telle manière et Firefox et IE d'une autre. Là pour le coup, ça va être dur de le deviner, vue la complexité du code et le nombre de paramètres qui se répercutent les uns sur les autres. A plus forte raison du fait que tu n'as déclaré aucun Doctype, donc c'est le navigateur qui le choisit comme bon lui semble pour le meilleur et pour le pire... Merci pour la petite mention sur la page d'accueil.
  17. Oui mais sur cette page, le scroll dans les divs est uniquement vertical. Alors que sur la page d'accueil, dans les divs "Dernières notations" et "Derniers commentaires", le scroll est à la fois vertical et horizontal. Ce n'est donc pas tout à fait le même cas de figure
  18. Tu n'as pas correctement recopié le code que j'ai indiqué. Tu as fermé la guillemet deux fois, tu as mis : <div style="overflow: scroll; width: 330px; height: 150px"; text-align: left;"> Il faut mettre : <div style="overflow: scroll; width: 330px; height: 150px; text-align: left;">
  19. Coucou, Dans la page que tu nous as montrée plus haut, il n'y a aucune inclusion de feuille de style, et aucun style défini dans la page. Ce qui m'amène à penser que la portion de code donnée par Captain, si elle ne fonctionne pas, c'est que tu ne l'as pas mise au bon endroit. Tu peux par exemple ajouter ceci quelque part dans le head de ta page (par exemple juste avant </head>) : <style type="text/css"> body { background-repeat: repeat-y; } </style> Et là ça devrait marcher. L'avantage, c'est qu'au final tu pourrais même te contenter d'une image de 210 pixels (largeur de la marge) de large sur 1 pixel (pourquoi 20 ?) de haut.
  20. Concernant ton problème d'ascenseur, après quelques petits essais avec les outils de développement de Chrome, je pense que tu peux régler ton problème (sans que ça gêne les autres navigateurs) en précisant un alignement à gauche pour le conteneur. Dans le code source html, remplacer : <div style="overflow: scroll; width: 330px; height: 150px"> par : <div style="overflow: scroll; width: 330px; height: 150px; text-align: left;"> (n'oublie pas le point virgule après height: 150px;)
  21. Tu n'as pas résolu le problème : sur un écran plus large, ce sera la même chose. Aujourd'hui, les écrans d'une résolution supérieure à 1580 pixels en largeur sont de plus en plus fréquents. La solution préconisée par Captain Torche ne fonctionnait-elle donc pas ? (en y ajoutant éventuellement un background-position: left top;)
  22. Bonjour, Ce code est un véritable brouillon : mise en page en tableaux imbriqués, gros mélange de styles dans la CSS et directement dans le code html, beaucoup d'erreurs de validation, et tu ne déclares même pas le Doctype ! C'est typiquement le genre de site où dès qu'il y a le moindre problème, il est plus rapide de tout recommencer à zéro plutôt que de chercher à le résoudre.
  23. Salut, Le logiciel ffmpeg, qui a un grand nombre de possibilités de traitement de vidéo, peut tout à fait extraire automatiquement des images dans une vidéo uploadée par tes visiteurs. A installer sur ton serveur : http://www.ffmpeg.org/
×
×
  • Créer...