Aller au contenu

QuentinC

Actif
  • Compteur de contenus

    32
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par QuentinC

  1. Simple, clair, précis, rapide, que demander de plus ? Je ne connaissais pas cette instruction. Merci.
  2. Bonsoir, Je m'excuse d'avance pour le titre qui n'est malheureusement pas très explicite ... j'ai pas pu trouver mieux. J'ai un fichier .htaccess à la racine dans lequel sont définies diverses règles de réécriture d'URL. Là n'est pas le problème, elles fonctionnent bien. Maintenant, dans un de mes sous-dossiers, j'ai besoin d'autrs règles de réécriture plus spécifiques, je mets donc un .htaccess dans ce sous-dossier. Et là, horreur, les règles définies par le .htaccess qui se trouve à la racine ne fonctionnent plus dans ce sous-dossier. Y-a-t-il un moyen de faire comprendre à apache qu'il ne doit pas remplacer les réécritures existantes mais seulement les ajouter ? Merci pour votre aide.
  3. Problème résolu. J'ai fini par utiliser la fonction sérialize. En faisant un peu attention, on peut en comprendre le format.
  4. Ben il faut bien l'évaluer à un moment donné, le code, dans l'exemple que tu donnes. Perso je n'aime pas trop eval non plus, c'est que ça peut être un gouffre en matière de sécurité. Pour ce qui est des trigger, oublie, mon hébergeur mutualisé est encore à mysql 3. JE sais pas si c'est une bonne idée, mais je suis parti sur une version de serialize perso, qui me donne un truc du type : cle1=chaine1,1.0 cle2=chaine2,2.0 cle3=chaine3,3.0 JE me demande si ça chengerait beaucoup de chose si je transforme le tableau associatif en tableau normal. Il n'est pas encore trop tard pour le faire. Tant que les boucles foreach ($tableau as $cle=>$valeur) fonctionnent aussi pour les tableaux à clés numériques...
  5. Voilà, tu as compris. J'aimerais un truc que je puisse autant modifier par script que manuellement dans un gestionnaire type phpmyadmin. D'autres idées dans le post sur phpdebutant dont j'ai fait un copier-coller : http://www.phpdebutant.org/forum_msg249923.php IL y est question de créer une nouvelle table. Étant donné l'utilisation que j'aimerais faire de ces tableaux, ça me complique inutilement les choses et ça mobilise le serveur SQL qui en a déjà assez à faire avec une quinzaine de requêtes par page.
  6. Le problème c'est qu'il est quasiment impossible de décoder manuellement un tableau sérialisé. Mais je retiens l'idée, je n'y avais pas pensé. Ca en fait je m'en fiche, je n'utilise que ces données pour mon jeu. Donc tant que je peux lire/modifier les données autant par script que manuellement dans phpmyadmin, ça me suffit. Et pour ouvrir un XML et le lire en php, c'est pas très évident. Je comprends pas vraiment où tu veux en venir avec cette phrase. Peux-tu expliquer ? Merci. Désolé pour le double-post, impossible d'éditer mes erreurs en ce qui concerne le bbcode. Le bouton éditer ne fonctionne pas.
  7. Bonjour, J'aimerais savoir comment s'y prendre pour stocker des tableaux complexes en base de donnée. Que faut-il faire ? - Stocker un bout de code php à évaluer (pour la sécurité c'est pas top) - Une chaîne à exploder/imploder (ça va pour les tableaux simples, mais après ?) - du XML (c'est pas un peu sortir un tank pour tuer une mouche ? la conversion des données est extrêmement compliquée) - autre idée ? Pour ce que je veux vaire ici, la structure de mes tableaux à stoker est complexe mais néanmoins fixe. En fait j'ai un tableau associatif, et chaque clé contient elle-même un tableau simple avec une valeur chaîne et une valeur numérique. Merci pour votre aide.
  8. Bah, il fut un temps ou j'avais des fichiers nommés avec des espaces et des accents et tout ... le seul truc à craindre, c'est l'utf8. Sinon, ça roule : le navigateur fait automatiquement la conversion espace => %20, é => %e9, % => %25 ... J'avais même des fichiers nommés "Téléchargement.php" ! Bon, c'est quand même mieux si on peut faire sans, mais après tout wikipedia le fait, alors...
  9. Si c'est une requête interne, ça pourrait très bien être le nom du serveur, l'user agent.
  10. QuentinC

    Bloquer le spam en php

    Pour un forum, effectivement, c'est trop restrictif. Mais dès le moment où il faut s'inscrire, les robots abandonnent vite même s'il peuvent procéder à une inscription automatique sans problème.
  11. A moins que ce ne soit un hacker assez doué pour changer son IP.
  12. QuentinC

    Bloquer le spam en php

    Bonjour, J'utilise depuis peu une technique radicale pour bloquer les spam sur mon livre d'or, ça a l'air de marcher pour le moment : if (substr_count($_POST['message'], "http://") >=2) die("Espèce de spameur !"); En gros : j'interdis la présence de plus d'une URL dans le message posté. Sinon, la meilleure méthode reste un système d'identification complet.
  13. Et comment je fais pour changer le type de redirection en sachant que j'utilise <?php header("Location:http://quentinc.net/..../"); ?> J'aimerais si possible éviter de modifier tous mes fichiers sur free. Mais bin si c'est nécessaire c'est pas grave. Merci. P.S. Une autre de mes questions traîne dans le bar.
  14. Bonjour, La question est dans le titre. Pour résumer : Jusqu'à fin avril, mon site était hébergé chez free (http://quentinc1.free.fr). Depuis, je l'ai passé sur un vrai NDD (http://quentinc.net). J'ai mis une redirection automatique sur toutes mes anciennes pages free vers les nouvelles pages du .net (j'ai fait au plus simple : <?php header("Location:......"); ?>) Si je lance une recherche google sur mon pseudo QuentinC, je tombe d'abord sur mes pages du .net avant celles de l'ancien site free. Par contre, bizarrement, le site qui est sur free a toujours un page rank de 3 et le .net reste collé à 0. Alors ma question est : combien de temps google va-t-il prendre avant de comprendre que j'ai changé définitivement d'adresse ? Merci.
  15. Bonjour, IL faut regarder du côté des porpirétés de l'objet event lors du clic (onclick). Sauf erreur, pour IE c'est .x et .y, pour firefox ça ne doit pas être loin.
  16. Les évènements onXXX habituels sont en fait des variables particulières qui ne contiennent pas une valeur mais un pointeur de fonction. Autrement dit, une variable qui contient le code d'une fonction ou son emplacement en mémoire. En ne mettant pas de parenthèses, tu attribues à cette propriété onload un pointeur de fonction, soit donc une variable qui "contient" ta fonction, ce que nous voulons normalement lors d'une affectation d'une fonction à un évènement. La fonction elle-même n'est pas exécutée mais gardée en mémoire pour être appelée au moment opportun, ici donc la fin du chargement du document. En mettant des parenthèses, au contraire, tu vas provoquer l'exécution immédiate de la fonction indiquée et la propriété recevra la valeur que ta fonction retourne (via l'instruction return). En exécutant la fonction à ce moment précis, ta page n'est pas encore entièrement construite ce qui explique pourquoi tu n'obtiens pas tous les éléments que tu souhaites. Ne déséspère pas trop vite, tu as même plusieurs syntaxes possibles. En voici une : document.onload = function anonymous () { appel_premiere_fonction_sans_parametres(); appel_deuxieme_fonction_avec_parametres(1, 2, 3, 4, "bonjour"); }
  17. As-tu vérifié le contenu de la variable $nom avant l'inclusion ? Ca peut paraître bête comme conseil, mais souvent c'est comme ça qu'on s'aperçoit d'un bug.
  18. Vire les parenthèses dans ton premier exemple de ton premier message et ça devrait fonctionner.
  19. Désolé, mon chat était les quatre fers en l'air en buvant du thé.
  20. Entre popup et div : les deux sont autant malpratiques l'un que l'autre de toute façon. Je préfèrerais presque les vraies popup qu'on peut fermer avec Alt+F4. Pour l'image capchat : vous l'avez vu vous-mêmes, ça bloque non seulement les robots ... le problème c'est qu'il n'existe pas vraiment de moyen aussi performant tout en étant accessible au plus grand nombre.
  21. Justement, j'aimerais faire la différence afin d'effectuer une redirection. J'ai remarqué pour google... tantôt il retient la version avec, et la version sans www, mais jamais les deux (logique, c'est du duplicata exact)... c'est plutôt embêtant. Le code donné ci-dessus me satisfait presque : RewriteCond %{HTTP_HOST} ^tonsite.com$ RewriteRule ^(.*) http://www.tonsite.com/$1 [QSA,L,R=301] En fait j'aimerais le contraire : rediriger ceux qui arrivent sur www.site.com vers site.com sans les www. En toute logique, ça devrait être ça : RewriteCond %{HTTP_HOST} ^www.tonsite.com$ RewriteRule ^(.*) http://tonsite.com/$1 [QSA,L,R=301] Au passage, à quoi sert le flag QSA ? Pendant que je suis dans les .htaccess et l'url-rewriting, j'ai un autre truc qui me tracasse. Je réécris d'une manière générale /une-certaine-page/ en /index.php?page=une-certaine-page. Jusque là tout va bien. Pour l'instant, l'expression régulière utilisée contient la liste exhaustive des pages à réécrire, ce qui n'est pas très optimal car ça va finir par devenir ingérable vu la quantité importante de pages à traiter. J'ai actuellement la consigne de réécriture suivante : rewriterule ^/(page1|page2|page3|page4|...)/?$ index.php?page=$1 [L] Pour essayer, j'ai voulu transformer ça en : rewriterule ^/([-a-zA-Z0-9]+)/?$ index.php?page=$1 [L] Et c'est là que commence les problèmes : je ne peux plus accéder à mes sous-dossiers ! J'ai tenté de rajouter : rewritecond %{REQUEST_FILENAME} !-d mais ça ne m'a pas aidé. Merci pour l'aide. Heu, désolé pour le double post mais j'ai fait une erreur dans le bbcode dans le mesage précédent et j'ai voulu éditer... J'ai bien repéré le lien "éditer le post" mais il ne se passe rien quand je l'active. Ah, il est génial ce forum... il concatène directement le contenu. C'est bien le premier que je vois faire ça. Du coup ça ne me dérange pas d'en envoyer un troisième...
  22. Bonjour, En ce qui concerne les injections SQL, un simple addslashes résoud le problème si tu utilises des apostrophes pour délimiter les chaînes... ou encore mieux, tu laisse les magic quotes le faire pour toi.
  23. Ah, je viens de découvrir un autre truc. La version appelée bas-débit est géniale en matière d'accessibilité ... mais on ne peut alors plus poster. Dommage...
×
×
  • Créer...