IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Développement d'un module d'administration


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut Développement d'un module d'administration
    Bonjour à tous,

    Je suis en train de développer un module d'administration.

    La situation :
    Une personne souhaite avoir un site internet pour son commerce. Cette personne n'a aucune connaissance en programmation, cependant il souhaite être en mesure d'effectuer les modifications futures lui-même.

    Ce que je souhaite faire :
    Une zone sécurisée par un mot de passe dans laquelle l'administrateur du site peut se rendre afin de remplir des formulaires. Chaque formulaire correspond à une partie du site (exemple concret plus bas).
    Une fois le texte entré dans les différents formulaires et le bouton "envoyer" cliqué, le contenu du site de cette personne est modifié.

    Ce que j'ai réussi à faire :
    Tout. Pas de problème là dessus, néanmoins, étant néophyte en php, j'ai bidouillé un script qui je pense fera rire certains d'entre vous... Malheureusement je n'ai pas trouvé d'autre solution pour le moment. Tout conseil sera le bienvenu.

    Mon problème actuel :
    -Pour qu'un retour à la ligne soit effectué, l'administrateur doit taper <br> dans le formulaire. J'aurais aimé créer un bouton "retour à la ligne" qui insérerait automatiquement <br> à la suite du texte que l'administrateur serait en train de taper. Un peu comme le système de smileys de ce forum : je clic sur un smiley et ça me rajoute le code automatiquement icon_razz.gif
    -Deuxième problème : les apostrophes. En effet, lorsque on entre un texte de ce style dans le formulaire "l'apostrophe l'a bien cherché...", on obtient ceci lors de la modifications : "l\'apostrophe l\'a bien cherché...". Y a-t-il un moyen de pallier à ça?

    Et pour finir, voici le code du fichier php (ne riez pas trop fort...) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    <?
    $texte = fopen ("page.html" , "w");
    fputs ($texte , "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /><title>Untitled Document</title></head><body><p>Ceci est un test d'administration par php via la fonction fputs.</p><table width='540' border='2'><tr><td>");
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , $case1);
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , "</td><td>");
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , $case2);
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , "</td><td>");
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , $case3);
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , "</td></tr><tr><td>");
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , $case4);
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , "</td><td>");
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , $case5);
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , "</td><td>");
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , $case6);
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , "</td></tr><tr><td>");
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , $case7);
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , "</td><td>");
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , $case8);
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , "</td><td>");
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , $case9);
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , "</tr></table><br>Nous avons ci-dessus 9 cases qui peuvent être modifiées en passant par un fichier php. Rendez-vous <a href='index.html'>ici</a> pour faire le test.<br><br><br>Votre signature : ");
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , $signature);
     
    $texte = fopen ("page.html" , "a+");
    fputs ($texte , "</body></html>");
     
    fclose ($texte);
     
    echo "Pour visualiser les modifications, rendez-vous sur ";
    echo "<a href='page.html'>ce lien</a>";
    ?>

  2. #2
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    Pour ton premier problème cette fonction devrait le résoudre :

    http://fr.php.net/manual/fr/function.nl2br.php

    Pour ton second, tu dois avoir les magic quotes activées non?

    Essaye : http://fr.php.net/manual/fr/function...quotes-gpc.php

    Pour voir si c'est le cas?
    Si c'est ça il faut désactiver cette fonction (de manière générale tout le monde conseille de ne jamais l'utiliser ça rajoute des choses comme tu peux le voir sans que ça soit piloté par le programmeur...)

  3. #3
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par overtrack Voir le message
    Bonjour à tous,
    Mais dis moi si je me trompes ta question est comment écrire un forum

    Oui en fait tout est la , et ce n'est forcément pas facile,
    Regardes , toi pour poster ici

    1) tu dois te loguer ( c' est le premier module a faire pour toi .. )
    2) tu crées un nouveau message ( c'est le deuxiéme module "editeur" )
    3) tu peux rééditer un de tes messages ...

    Tu vois tout y est !

    Ors ce que tu as fait est pas mal , reste le login et que l'éditeur soit plus performent

    Alors tu veux commencer par quoi ??

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Merci pour vos réponses

    Linio : merci pour ton astuce des magic quote, je les ai désactivées, et maintenant cela fonctionne. Les apostrophe s'affichent correctement. Pour ce qui est de nl2br, je vais regarder ça plus en profondeur.

    FoxLeRenard : oui, je pense que ça peut s'apparenter à un système de forum effectivement. Pour le système de login, si on reprend le même style qu'un forum, je suppose qu'on doit passer par un base de donnée. Je n'ai malheureusement pas encore eu le temps de m'y attarder. J'apprends en autodidacte et je n'ai pas encore regardé les DB. Je pense qu'il y a moyen de faire un système de login en JS? Quelle est la meilleure solution?
    L'important dans le cas de l'éditeur, c'est qu'il ne réduise pas mes possibilités de design du site (ou alors pas trop). Et à part le système d'édition que j'ai écris, je n'ai vraiment aucune idée de solution alternative.
    Au pire, si le login doit absolument être connecté à une DB, je peux encore trouver un ou deux tutos qui parlent de ça sur le net. Mais pour l'éditeur... alors là, galère...

  5. #5
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par overtrack Voir le message
    Merci pour vos réponses
    Coté login tu n'as rien a faire, car tu poses comme probléme , faire un site web modifiable par UN ADMINISTRATEUR ....

    Alors pas compliqué,

    tu lui fait un HTML qu' il va mettre sur son micro, dopnc c'est inviolable
    voila ce html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html><body  scroll="no">
    <style>
    * {font-size : 100%;}
    html { width:100%;height : 100%;font-size : 100%;
    }
    body {
    width:100%;height : 100%;background-color : #3367A1; 
    font-family : Verdana, Myranda,Arial, Helvetica, sans-serif; 
    font-size : 16px;color : #FFFFFF; margin-left : 0; margin-right : 0;
    text-align:center;}
    input { border:1px solid #ffffff; background-color:#3367A1;
            font-family:verdana;color:#FFFFFF;font-size : 16px;     }
    </style>
    <p align=center><br /> <br /> <br /> <br /> <br /> 
    Gestion Outils du site Web<br /> 
    <form  action="http://www.sonsite.com/zzz_editeur.php"   method="POST" >
    <input name='PolXX' type='hidden'  value="hkYUFdddsz54!">
    <input type="submit" name="Submit"   value=" Conection ">
    </form>
    </p></body></html>
    Et dans zzz_editeur.php sur son web, l'éditeur
    qui commencera par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <?php
    session_start();
    if (isset($_POST["PolXX"])) $PolXX=trim($_POST["PolXX"]);
        else $PolXX="";
    if (!isset($_SESSION['PolXX2']))   {$_SESSION['PolXX2']="";$PolXX2="";}
         else {$PolXX2=$_SESSION['PolXX2'];}
    if($PolXX!="") $PolXX2=$PolXX;
    if($PolXX2!="hkYUFdddsz54!")
     {
     header("Location: "ndex.php");
     exit;
     }
      else {
            $_SESSION['PolXX2']=$PolXX2;
            $PolXX2=$PolXX2;
            header ("Location: zzz_editeur02.php");
            }
    ?>
    Comme cela dans tout les outils il suffira de controler la session

  6. #6
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Merci beaucoup, je planche là dessus et te donne mon feedback par après.

  7. #7
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par overtrack Voir le message
    Merci beaucoup, je planche là dessus et te donne mon feedback par après.
    Il te faudra pour tester en réel te créer un zzz_editeur02.php

    avec tout juste un echo "coucou" !!

  8. #8
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Super, j'ai bien compris que le nom de la session est défini par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name='PolXX' type='hidden'  value="hkYUFdddsz54!">
    et que si on ne passe pas par là, le fichier zzz_editeur.php renvoie en page index.php.
    A l'opposé, si on passe par là, zzz_editeur.php renvoie vers zzz_editeur02.php.
    C'est très ingénieux! Maintenant, en tappant directement zzz_editeur02.php dans la barre d'adresse, on tombe dessus sans problème vu qu'il n'y a pas de vérification sur ce fichier. De toute façon, tout bon administrateur qui se respecte a plutôt intérêt à garder les noms de ses fichiers d'admin secret

    C'est déjà un problème en moins, merci beaucoup!

    Je vais me concentrer sur l'éditeur et essayer de faire un truc correct. Je posterai ici pour avoir vos avis.
    J'avais d'abord pensé à des fichiers XML qui serait incrémentés dans le site en tant que contenus. Par exemple xml1 aurait le contenu de la page d'accueil, xml2 aurait celui de la page "news", ... L'éditeur dans ce cas modifierait simplement les fichiers XML. Ça aurait pu être une bonne idée jusqu'à ce que je me rende compte que la balise xml est propriétaire IE.

    De toute façon, avec du recul cette solution me parait un peu nulle...

  9. #9
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par overtrack Voir le message
    Super, j'ai bien compris
    Pour TOUT les autres outils dont zzz_editeur02.php

    ils ont tout bétement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    session_start();
    if (!isset($_SESSION['PolXX2']))   {$_SESSION['PolXX2']="";$PolXX2="";}
         else {$PolXX2=$_SESSION['PolXX2'];}
    if($PolXX2!="hkYUFdddsz54!")
     {
     header("Location: "index.php");
     exit;
     }
    //===== whaou C BON
    
    ?>

  10. #10
    FoxLeRenard
    Invité(e)
    Par défaut
    Ne te compliques pas, ça ne sert a rien d'avoir un autre format que du texte !!
    je pourrais te donner une base il faut juste savoir que sur le serveur quelque soit le fichier que tu édites, il devront avoir les droits en lecture ecriture ...
    donc le mieux c' est quand le site web est dans la racine
    accueil.php
    et qu'il contienne un include de ces fichiers car personne ne saura les trouver



    accueil.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    include="pajusytqrf_ii/slk mlmmsm.txt"

  11. #11
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par FoxLeRenard Voir le message
    Pour TOUT les autres outils dont zzz_editeur02.php

    ils ont tout bétement...
    Great!

    Ok pour l'include, j'y avais pensé, mais pas à la fonction include() directement dans la page. Je voyais plutôt le cas habituel www.site.com/index.php?page=page.html ainsi que les problèmes que ca peut engendrer comme http://www.site.com/index.php?page=w...alveillant.txt

    Je fais un test de suite avec l'include.

    Ah, et je te remercie pour le temps que tu passe à m'aider, c'est très apprécié.

    EDIT : je viens de tester avec 4 fichiers : la page php qui doit être modifiée, la page qui contient l'éditeur, le fichier php qui exécute l'édition en fopen + fputs et pour finir le fichier txt qui est injecté dans la page principale.
    Tout fonctionne parfaitement ! Quelques modifications et deux/trois chipotages et j'aurai mon petit module d'administration. Je te remercie beaucoup pour ton aide précieuse

    Je te copie-colle mon code au cas ou tu aurait quelques remarques à faire

    La page principale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <body>
    Ci dessous, le texte à édité : <br/><br/>
    <?php include "texte.txt";?>
    <br/><br/>
     
    Ca marche?
    </body>
    L'éditeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?
    $texte = fopen ("texte.txt" , "w");
    fputs ($texte , $nouveautexte); //$nouveautexte est déterminé par mon formulaire
    fclose ($texte);
    ?>

  12. #12
    FoxLeRenard
    Invité(e)
    Par défaut
    Oui c'est jouable mais directement dans le textarea

    Et mets tois en BBCode les ouvertures et dermetures en [form] [/form]

    donc un str_replace avant

    et attention au point .=
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <?PHP
    $Le_Body = "";
    $QUOI1="montexte.txt";
        $TabX1=file($QUOI1);
        $NbrLig=count($TabX1)-1;
        for($i=0;$i<=$NbrLig;$i++)
          {
           $Le_Body .= stripslashes($TabX1[$i]);
          }
    $Le_Body=str_replace("[","<",$Le_Body);
    $Le_Body=str_replace("]",">",$Le_Body);
     
    ?>
    <FORM etc ........>
    <textarea name='LArea' id='LArea' cols='90' wrap='virtual' >
    <?php
     echo("".$Le_Body."");
    ?>
    </textarea>

    Bon je repasses demain matin

  13. #13
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Ouffff

    Là tu m'as largué... Tu peux m'expliquer pourquoi mettre les balises du form en BBCode? Et le stripslashes est-il utile vu que j'ai désactivé les magic quotes directement dans le .htaccess à la racine du site?

    D'après ce que je comprends de ton code et après quelques recherche des fonctions sur le net :

    On lit le contenu du fichier $QUOI1 (montexte.txt) et on le renvoie dans le tableau $TabX1.
    On compte le nombre d'éléments qu'il y a dans le tableau et on retire 1 à ce nombre pour renvoyer le tout dans $NbrLig. Là je cale déjà car pour moi le nombre d'éléments dans le tableau s'élève à 1. Donc ça fait 0. Je me plante?

    Ensuite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for($i=0;$i<=$NbrLig;$i++)
          {
           $Le_Body .= stripslashes($TabX1[$i]);
          }
    Je nage carrément... Rien compris à ce bout de code.

    Pour ce qui est du textarea, wrap virtual fait en sorte qu'il n'y ait pas de retour à la ligne à l'affichage même si il y a eu des retours automatiques à la ligne dans le formulaire? Est-ce que par défaut c'est l'inverse?

    Je pense que je commence à avoir du mal à réfléchir car je ne comprends absolument pas du tout l'utilité de ton code. Je reverrai ça demain et j'en profiterai pour regarder en détail ce que Linio m'avait proposé concernant les retours à la ligne.

    Allez zoup et bonne nuit

  14. #14
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par overtrack Voir le message
    Ouffff bonne nuit
    Juste avant de me coucher, car je ne reviendrais que vers midi

    Bon ça OK
    c' est pour ouvrir le txt qui contient le HTML d'une de tes pages
    or dans un HTML il y a plusieures lignes
    alors combien, et bien Nbrlig ...
    comme en informatique on est en base 0, si Nbrlig=12 lignes
    on va donc lire de 0 a 11 soit 12 lignes d' ou le -1

    on mets toutes ces lignes dans une variable Le_Body que l'on vide au départ ,
    et là, a chaque ligne, on l'injecte dans Le_Body c' est pour cela qu' on met le .=
    en fait .= ça veut dire que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $Le_Body .= stripslashes($TabX1[$i]);
    /* == c est pareil que == */
    $Le_Body = $Le_Body.stripslashes($TabX1[$i]);
    Ah oui détail TabX1 est un array généré par la fonction file()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    <?PHP
    $Le_Body = "";
    $QUOI1="montexte.txt";
        $TabX1=file($QUOI1);
        $NbrLig=count($TabX1)-1;
        for($i=0;$i<=$NbrLig;$i++)
          {
           $Le_Body .= stripslashes($TabX1[$i]);
          }
    Voila tout le fichier est dans Le_Body
    donc on va le mettre dans la zone de saisie
    comme quand tu saisis ICI un message en BBCODE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $Le_Body=str_replace("[","<",$Le_Body);
    $Le_Body=str_replace("]",">",$Le_Body);
    ?>
    <FORM etc ........>
    <textarea name='LArea' id='LArea' cols='90' wrap='virtual' >
    <?php
     echo("".$Le_Body."");
    ?>
    </textarea>
    Voila !

  15. #15
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Mais c'est génial !

    Ok, après une bonne nuit de sommeil, j'ai compris ton code. Il ne me reste plus qu'à trouve une astuce pour que les retours à la ligne s'effectuent et résoudre un petit problème de caractères accentués.

    EDIT : hopla problème d'accent résolu! fichu encodage

  16. #16
    FoxLeRenard
    Invité(e)
    Par défaut
    Tiens,
    Juste pour tester, tu mets ça danss un PHP
    que tu appelles 000editeur.php
    tu te prend un fichier texte n'importe, que tu appelles 000editeur.txt
    tout ça dans la racine ettu testes


    Attention il y a encore plein de trucs a améliorés ou redondants mais c' est une base
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
     
    <?php
    // =========================EDITEUR================================
    if (isset($_POST["larticle"])) $larticle=trim($_POST["larticle"]);
       else $larticle="";
     
    if (isset($_POST["Action"])) $Action=trim($_POST["Action"]);
        else $Action="";
     
    if (isset($_POST["NewTexte"])) $NewTexte=$_POST["NewTexte"];
       else $NewTexte="";
     
    $larticle="000editeur.txt";
     
     
    // ======== avant tout si pas d article page on retourne =============
    if ( $larticle=="")
     {
      header('Location: index.php');
      exit;
     }
    // ======== C est OK il y a un nom article page on le lit ==========
        $Letexte="";
        $LeFichier=$larticle;
        $Laray=file($LeFichier);
        $NbrLig=count($Laray)-1;
        for($a=0;$a<=$NbrLig;$a++)
          {
           $Letexte .= stripslashes($Laray[$a]);
          }
     if ( $Letexte=="")
      {
       header('Location: index.php');
       exit;
      }
     if ( $Action =="abandon")
      {
       header('Location: index.php');
       exit;
      }
    // ============Actions =====================================
    // Action peut valoir    valide     = validation des modifs 
    //                              alors la page est reecrite
    //                       abandon    = abandon de la modif en cour
    //                              alors on quitte
     
    // = on a donc action actuelle Action de l article larticle texte NewTexte
    if ($NewTexte=="" )  $NewTexte=$Letexte;
     
    if ($NewTexte!="")
      {
       $NewTexte= stripslashes($NewTexte);
       $NewTexte=str_replace("’","' ",$NewTexte);
       $NewTexte=str_replace("  "," ",$NewTexte);
       $NewTexte=str_replace("<"," ",$NewTexte);
       $NewTexte=str_replace(">"," ",$NewTexte);
       $NewTexte=str_replace("&"," ",$NewTexte);
       $NewTexte=str_replace("''","' ",$NewTexte);
       $NewTexte=str_replace("  "," ",$NewTexte);
       $NewTexte=str_replace("Œ","OE",$NewTexte);
       $NewTexte=str_replace("œ","oe",$NewTexte);
       $NewTexte=str_replace(" \0","",$NewTexte);
       $NewTexte=str_replace("\0","",$NewTexte);
       $NewTexte=$NewTexte;
       if ($Action =="valide")
         {
          $LeFichier=fopen($larticle,"w+");
          fputs($LeFichier,$NewTexte."");    
          fclose($LeFichier);
          header('Location: index.php');
          exit;
         }
      }
     
    // ==========Tout est controle et ok===============================
    // =========================EDITEUR================================
    ?>
    <html><body>
    <style>
    * {font-size : 100%;}
    html { width:100%;height : 100%;font-size : 100%;
    }
    BODY {
    width:100%;height : 100%;background-color : #557bac; 
    font-family : Verdana, Myranda,Arial, Helvetica, sans-serif; 
    font-size : 100%; color : #ffffff; margin-left : 0; 
    margin-right : 0;text-align:center;
    }
    input {font-family : Verdana, Myranda,Arial, Helvetica, sans-serif; font-size : 1.0em; color : #000000; }
    input.Boutons_Saisie {background-color: #267474;}
    input.Zone_Saisie {background-color: #eeeeff;color:#BB9999;}
    button.Boutons_Saisie {background-color: #267474;}
    textarea { font-family : Verdana, Myranda,Arial, Helvetica, sans-serif; font-size : 1.0em; color : #000000; }
    img { border : 0}
    div {font-family : Verdana, Myranda,Arial, Helvetica, sans-serif;color : #ffffff;}
    div.bbcode3 { margin : auto;text-align:center;width: 800px;z-index: 10;}
    div.centre2 {width: 800px;margin : auto;text-align:center;} 
    a.LesA12 { font-family : Verdana, Myranda,Arial, Helvetica, sans-serif;   font-size: 1.4em; color: #ffffff; text-decoration: none;}
    a.LesA12:link { } 
    a.LesA12:hover {color : #ff9999; }
    </style>
    <div class="bbcode3" >
     <input type="button"  onclick="Ajout(2,'b')" value=" B " style="font-weight:bold; width: 30px" />
     <input type="button"  onclick="Ajout(2,'i')" value=" i " style="font-style:italic; width: 30px" />
     <input type="button"  onclick="Ajout(2,'u')" value=" u " style="text-decoration: underline; width: 30px" />
     <input type="button"  onclick="Ajout(2,'quote')" value=" Quote " style="width: 50px" />
     <input type="button"  onclick="Ajout(1,'[br /]')" value=" Retour Ligne " style="width: 90px" />
     <input type="button"  onclick="Ajout(2,'url')" value=" Web " style="width: 50px" />
     <input type="button"  onclick="Ajout(2,'img')" value=" Img " style="width: 50px" />
    </div>
     
    <DIV CLASS="centre2">
    <br />
    <form id='LeForm' name='LeForm' action='000editeur.php' method='POST'>
      <input name='Action' value=''  type='hidden' />
      <input name='larticle'  value='<?PHP echo ("".$larticle.""); ?>' type='hidden' />
      <br />
    <?PHP
      echo ("<br /><textarea class='Zone_Saisie' rows='20'  name='NewTexte' id='NewTexte' cols='90' wrap='virtual' >".$NewTexte."</textarea>");
    ?>
    <br>
      <input type='submit'   value=' Abandonnez ce texte ' onclick='Mabandon()' /><br /><br />
      <input type='submit' value=' Validez cette page pour le Web ' onclick='Cvalide()'>
    </form>
     
    </div>
    <!-- ======================JAVASCRIPT EDITEUR================== -->
    <script type="text/javascript">
    <!--
    function VaY()
    {
    Tout=document.LeForm.NewTexte.value;
    Tout=Tout.replace(/[\>]/g," ");
    Tout=Tout.replace(/[\<]/g," ");
    document.LeForm.NewTexte.value=Tout;
    document.LeForm.submit();
    return true;
    }
     
    function Ajout(Cas,Lui)
    {
     var mess = document.LeForm.NewTexte;
     if (Cas==2)
      {
       if (Lui=="b" ||  Lui=="u" || Lui=="i" || Lui=="diag" || Lui=="img"  || Lui=="url" || Lui=="quote")
        {
        if (!document.selection) vapa=99;
         else
         {
           mess.focus();
           sel = document.selection.createRange();
          if ( sel.text !="")
           {
           if (Lui!="url") sel.text = "["+Lui+"]" + sel.text + "[/" + Lui+"]";
           if (Lui=="url" ) sel.text = "["+Lui+"]" + sel.text + "[/" + Lui+"]...[/urltxt]";
           document.LeForm.focus();
           }
           else {
                 Tout=document.LeForm.NewTexte.value;
                 if (Lui!="url") document.LeForm.NewTexte.value=Tout+"["+Lui+"]"+"[/"+Lui+"]";
                 if (Lui=="url") document.LeForm.NewTexte.value=Tout+"["+Lui+"]"+"[/"+Lui+"]...[/urltxt]";
                 }
         }
       }
      }
     if (Cas==1)
      {
        if (!document.selection) vapa=99;
         else
         {
           mess.focus();
           sel = document.selection.createRange();
           sel.text = sel.text + " " + Lui+" ";
           document.LeForm.focus();
         }
     
      }
    }
     
    function MaPrevisu()
    {
    var xxxy=document.LeForm.NewTexte.value;
    var chaine=xxxy;
     
    	chaine=chaine.replace(/[\]]/g,">");
    	chaine=chaine.replace(/[\[]/g,"<");
    }
     
     
    function MaPrevisuNon()
    {
    gloop.style.visibility='hidden';
    Limage.style.visibility='hidden';
    FenetreTxt2.style.visibility='hidden';
    FenetreTxt.style.visibility='visible';
    boutons.style.visibility='visible';
     
    return true;
    }
    function Cvalide()
    {
    document.LeForm.Action.value="valide";
    document.LeForm.submit();
    return true;
    }
     
    function Mabandon()
    {
    document.LeForm.Action.value="abandon";
    document.LeForm.submit();
    return true;
    }
     
    //-->
    </script>
    </body></html>

  17. #17
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Mais... Mais... Tu as codé tout ça pour moi? C'est vraiment très gentil !

    Je regarde ton code et je te dis quoi après

  18. #18
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par overtrack Voir le message
    Mais... Mais... Tu as codé tout ça pour moi? C'est vraiment très gentil !

    Je regarde ton code et je te dis quoi après
    Tu sais j'ais fais ça a la louche mais quand même bien accés a ton cas
    et n'oublies pas que depuis 2005 pffffff ... les mêmes questions reviennent alors on donne nos munitions

  19. #19
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Alors, j'ai bien regardé ton code et j'y ai fais quelques modifications pour qu'il soit parfaitement adapté à mes besoins.

    Je pense que maintenant j'ai tous les éléments qui m'étaient nécessaires pour concrétiser mon projet. Et tout ça en seulement 2 jours, que demander de plus?

    Un grand merci à toi pour le temps que tu as passé à m'aider, c'était très gentil

    Je crois que je peux mettre le tag résolu !

    EDIT : J'ai aussi un peu modifié le script des boutons gras, italique, souligné, ... pour que ce soit compatible IE et FF.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CR XI] Impossible de se connecter à l'Info View et Module d'Administration avec IIS
    Par chrischros10 dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 19/02/2009, 19h55
  2. Réponses: 1
    Dernier message: 19/05/2008, 13h12
  3. [tomcat] login au module d'administration
    Par hatou dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 16/07/2007, 13h14
  4. problème au niveau du module d'administration de tomcat
    Par mnr_nfo dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 20/03/2007, 08h09
  5. Réponses: 16
    Dernier message: 20/11/2006, 14h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo