Aller au contenu

QuentinC

Actif
  • Compteur de contenus

    32
  • Inscrit(e) le

  • Dernière visite

Messages postés par QuentinC

  1. 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.

  2. 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...

  3. 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.

  4. La première solution est effectivement a éviter. A la limite tu sérialise ton tableau pour le stocker et tu le déserialisera pour le lire (au moins ça évite

    de devoir évaluer ton code PHP).

    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é.

    Je trouve la seconde solution peu pertinente, autant partir sur la première solution.[/quoteš

    Oui justement, ça risque de vite devenir une usine à gaz avec de l'explode/implode/regexp et tout le tralala. C'est ce que je pensais mais tu confirmes : à barrer de la liste.

    L'avantage du XML est la réutilisation de ton tableau à partir d'autres appli sans aucun problème importation de tes données.

    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.

    Tes tableaux ont certes peut être une structure complexe, mais est ce que le temps que tu mets à les créer nécessite réellement un stockage ??

    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.

  5. 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.

  6. 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...

  7. 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.

  8. 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.

  9. 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.

  10. - Comment ça se fait ?

    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.

    - Malheureusement, je devrai passer des paramètres dans la fonction finale. Dommage.

    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");
    }

  11. 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.

  12. 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...

  13. 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.

×
×
  • Créer...