Aller au contenu

MS-DOS_1991

Hubmaster
  • Compteur de contenus

    442
  • Inscrit(e) le

  • Dernière visite

Messages postés par MS-DOS_1991

  1. Salut :)

    Pas besoin de faire des tests pour vérifier le contenu de ta variable puisque tu ne vérifie ici que son existence ;)

    Plus tard dans ton script, bien sûr tu devras vérifier qu'elle répond à un format précis, puis l'échapper avant de l'insérer dans ta BDD, mais pour l'instant, pas besoin de htmlentities :rolleyes:

    P.S: Tu peux simplifier ton script en enlevant certaines parenthèses redondantes:

    $PagePrecOK=false;
    if (isset($_SERVER['HTTP_REFERER']) && isset($_POST['pseudo']))
    {
     if ($_SERVER['HTTP_REFERER'] == $MonDomaine.'inscription.php')
     {
       $PagePrecOK=true;
     }
    }

  2. mais $hash ça renvoit quoi?

    <{POST_SNAPBACK}>

    Dans la variable $hash, tu stockerait un "hash", c'est-à dire une chaîne de caractères qui identifierait précisément le visiteur (un hash par visiteur). Quelques posts au-dessus, je t'indique comment je ferais:

    <?php
    session_start();
    [...]
    $hash = md5(microtime().session_id());

    Tu concatènerais ensuite ce hash au nom de ton fichier :wacko: On aurait donc un fichier par utilisateur et plus de risques qu'un utilisateur obtienne le fichier d'un autre :P

    copy('config.txt', 'config_'.$hash.'.txt'); // creation du fichier avec le contenu de config.txt
    [...] // tes opérations sur le fichier + envoi vers ton utilisateur par email

    Ensuite bien évidemment, tu supprimes le fichier de ton utilisateur (rien de plus simple avec unset() ) et ... c'est tout :lol:

    unlink('config_'.$hash.'.txt');
    ?>

    le code complet:

    <?php
    session_start();
    [...]
    $hash = md5(microtime().session_id());
    copy('config.txt', 'config_'.$hash.'.txt'); // creation du fichier avec le contenu de config.txt
    [...] // tes opérations sur le fichier + envoi vers ton utilisateur par email
    unlink('config_'.$hash.'.txt');
    ?>

  3. parce que c'est un fichier de configuration d'eggdrop qui doit porter le nom config.txt et j'ai pas très bien compris la technique que tu me dis.

    Et si je créé un répertoire unique a un user, j'envoi le fichier config.txt qui se trouve dans le répertoire unique et je supprime le répertoire unique ????

    <{POST_SNAPBACK}>

    Oui, c'est le principe de ma méthode, seulement la tienne est plus longue et plus "compliquée" car tu dois:

    • créer un répertoire unique
    • Créer un fichier config.txt
    • Envoyer ton fichier
    • Supprimer le fichier
    • Supprimer le répertoire

    ...alors qu'avec la mienne tu ne fais que:

    • Créer un fichier config_$hash.txt
    • Envoyer ton fichier
    • Supprimer le fichier

    edit: Ca me paraît cependant être la moins mauvaise solution, vu que tu ne peux pas changer le nom de ton fichier...

    Enfin après, c'est ton script tu fais comme tu veux ;)

  4. A mon avis, le plus simple est pourtant de stocker ton hash md5 dans une variable $hash, puis d'envoyer à ton utilisateur le fichier config_$hash.txt que tu supprime avec unset() ensuite...

    Pourquoi dois-tu absolument utiliser config.txt comme nom de fichier ?

  5. huuuum ok mais sur un site ( http://www.eggdrop-fr.org/autoconf.php ) on ne rencontre jamais d'erreur et on ne reçoit jamais le fichier d'une autre personne, comment ils font ???

    <{POST_SNAPBACK}>

    Pourquoi ne crées-tu pas un fichier à partir de ton config.txt que tu renommes ensuite en config_md5(microtime().session_id()).txt (un nom unique quoi) ?

    Comme ça, plus de risques de collisions entre 2 utilisateurs ^_^

  6. mais si je fais flock() un des deux visiteurs qui a envoyé le formulaire en même temps que l'autre va rencontrer une erreur non?

    <{POST_SNAPBACK}>

    Oui, tu peux par exemple lui afficher un message d'erreur lui demandant de retenter un peu plus tard ;)

  7. Salut :)

    J'obtiens la même erreur sur un Dotclear avec Rewriting d'URLs :unsure: (ici)

    Dans mon cas, c'est à cause des rêgles suivantes:

    DirectoryIndex index.php index.html
    Options +MultiViews
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !robots.txt
    RewriteCond %{REQUEST_URI} !index.xml
    RewriteCond %{REQUEST_URI} !favicon.png
    RewriteCond %{REQUEST_URI} !ascreen.jpg
    RewriteCond %{REQUEST_URI} !googled5a644cc165a55fb.html
    RewriteCond %{REQUEST_URI} !labels.rdf
    RewriteCond %{REQUEST_URI} !logs
    # Repertoires de Dotclear
    RewriteCond %{REQUEST_URI} !ecrire
    RewriteCond %{REQUEST_URI} !conf
    RewriteCond %{REQUEST_URI} !images
    RewriteCond %{REQUEST_URI} !inc
    RewriteCond %{REQUEST_URI} !l10n
    RewriteCond %{REQUEST_URI} !layout
    RewriteCond %{REQUEST_URI} !share
    RewriteCond %{REQUEST_URI} !themes

    RewriteCond %{REQUEST_URI} !ie7
    RewriteCond %{REQUEST_URI} !index
    RewriteRule (.*)$ /index.php/$1

    En fait, je redirige toutes les requêtes (même les 404) vers ma page d'index qui fait le tri :unsure:

  8. sympa d'avoir repondu aussi vite

    j'ai un mess d'erreur:

    Parse error: parse error in c:\program files\easyphp1-8\www\sites\@web\public\fonction.php on line 317

    comment dois je l'integrer a mon fichier php entre des balises <script></script>?

    if ( $nb_membre > 0) 
     {
       
       $_SESSION['login']=$_POST['login'];
       
       
       <script language="JavaScript" type="text/JavaScript">
                                        window.location = 'fichier.php';
                                   </script>

     }

    <{POST_SNAPBACK}>

    C'est normal: les balises html ne sont pas reconnues comme du code php per l'interpréteur (normal d'ailleurs) ;)

    Essaies comme ceci:

    <?php
    [...]
    if ($nb_membre > 0)
    {
     $_SESSION['login']=$_POST['login'];
    ?>
    <script type="text/javaScript">window.location = 'fichier.php';</script>
    <?php
    }
    [...]
    ?>

  9. premier problème : il y a un petit texte qui s'affiche en bas de la page alors que normalement il doit "cacher " le formulaire une fois que celui ci est valider

    par "cacher", tu veux dire "remplacer le formulaire" ? :unsure:

    Si c'est le cas, tu dois mettre la ligne echo ' un mail de confirmation va arrivé'; entre les accolades de la condition if(isset($_POST['inscription'])) ;)

    Sinon, je ne comprends pas : tu as deux fois la même condition

    if(isset($_POST['inscription']))

    dans ton code, avec aucun code dans la première, où tu devrais normalement avoir toutes tes vérifications :wacko:

  10. Bizarre, pourtant ça marche chez moi :huh:

    Quel navigateur utilises-tu :whistling: ?

    edit: je sais: j'ai fait 2 erreurs que j'ai ensuite corrigé sans y penser:

    • Oubli d'un " dans <script type="text/javascript">
    • Mauvaise synthaxe de CDATA (ça marche sans)

  11. Salut :)

    <form method="post" action="">
    <p><input type="text" name="message" id="message" size="50" /></p>
    <p><input type="submit" value="ok" /></p>
    </form>
    <script type="text/javascript">
    <![CDATA[
    document.getElementById('message').focus();
    ]]>
    </script>

    devrait marcher :unsure:

  12. je n'aime pas trop, niveau référencement et niveau accessibilité tes pages sont trop longues.

    Pense à Msn qui n'aime pas trop plus de 2 tirets dans les noms de fichiers.

    Voilà ma suggestion :

        * Catégories: /categorie-18/titre-de-la-categorie/page-1.html

        * Forums: /forum-25/titre-du-forum/page-6.html

        * Sujets: /sujet-785/titre-du-sujet/page-5.html

    Maintenant tu peux aussi avoir un tableau de correspondance plus poussé te permettant d'écrire:

        * Catégories: /titre-de-la-categorie/page-1.html

        * Forums: /titre-du-forum/page-6.html

        * Sujets: /titre-du-sujet/page-5.html

    <{POST_SNAPBACK}>

    J'avais pensé à la 2ème solution, mais l'avais abandonnée car je dois récupérer l'id dans l'URL :unsure:

    Je pense que je vais cumuler ta solution et la mienne:

    • Catégories: /18-titre-de-la-categorie/page-1.html
    • Forums: /25-titre-du-forum/page-6.html
    • Sujets: /785-titre-du-sujet/page-5.html

    Je vous tiens au courant B)

  13. Bonjour à tous :)

    Je code actuellement un forum (PHP/MySQL) et je voudrais que les pages soient accessibles par les URLs suivantes:

    • Catégories: /categorie-18--titre-de-la-categorie--page-1.html
    • Forums: /forum-25--titre-du-forum--page-6.html
    • Sujets: /sujet-785--titre-du-sujet--page-5.html

    J'ai déjà écrit mes rêgles de .htaccess:

    RewriteRule categorie-([0-9]+)--([a-z0-9-]+)--page-([0-9]+).html$ index.php?view_cat=$1&urlized_title=$2&page=$3 [L]
    RewriteRule forum-([0-9]+)--([a-z0-9-]+)--page-([0-9]+).html$ index.php?view_forum=$1&urlized_title=$2&page=$3 [L]
    RewriteRule sujet-([0-9]+)--([a-z0-9-]+)--page-([0-9]+).html$ index.php?view_topic=$1&urlized_title=$2&page=$3 [L]

    Maintenant, je m'interroge sur le futur référencement: les moteurs de recherche vont-ils indexer des URLs qui comportent le double "-" :unsure: ?

    Merci d'avance pour vos contributions ^_^

  14. Salut :)

    Remplaces tes caractères accentués (éèê àâ îïì, etc) par leurs équivalents web:

    é ==> &eacute;

    è ==> &egrave;

    ê ==> &ecirc;

    ...

    Remplace e par les autres lettres (ex: â ==> &acirc;)

  15. Salut :)

    Bon, pour tes erreurs de validation, tout est expliqué en détail dans le rapport du W3C:

    Erreur à la colonne 1206: type de document ne permet pas l'élément "META" ici

    (Balise imbriquée au mauvais endroit selon la norme utilisée. Veuillez regarder les règles d'imbrication propre à cette balise.)

    Toute balise meta doit être placée dans la section <head> de ton document html.

    De plus, comme c'est une balise unique, elle doit se terminer par /> et non > ;)

    <script language="JavaScript">

    Erreur à la colonne 29: attribut requis "TYPE" non spécifié

    (Il manque un attribut obligatoire selon la norme utilisée.)

    Encore une fois, tout est dit: tu doit utiliser l'attribut type="text/javascript" et non plus l'attribut language qui est déprécié :rolleyes:

    <embed src="sitepicturedesk.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="600" height="800"></embed>

    Erreur à la colonne 19: il n'y a pas d'attribut "SRC"

    (L'attribut n'existe pas pour cette balise.)

    Erreur à la colonne 49: il n'y a pas d'attribut "QUALITY"

    (L'attribut n'existe pas pour cette balise.)

    Erreur à la colonne 68: il n'y a pas d'attribut "PLUGINSPAGE"

    (L'attribut n'existe pas pour cette balise.)

    Erreur à la colonne 119: il n'y a pas d'attribut "TYPE"

    (L'attribut n'existe pas pour cette balise.)

    Erreur à la colonne 157: il n'y a pas d'attribut "WIDTH"

    (L'attribut n'existe pas pour cette balise.)

    Erreur à la colonne 170: il n'y a pas d'attribut "HEIGHT"

    (L'attribut n'existe pas pour cette balise.)

    Erreur à la colonne 175: élément "EMBED" indéfini

    (Balise inconnue. Vérifier que la balise est en minuscule pour les documents XHTML ou que la balise existe selon le DTD spécifié.)

    La balise embed n'est plus standard, bien qu'elle soit encore exclusivement reconnue par certains navigateurs :whistling:...

    ... et de même pour tes quelques autres erreurs :P

×
×
  • Créer...