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 :

Modifier un texte à l'aide d'un formulaire


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 38
    Points
    38
    Par défaut Modifier un texte à l'aide d'un formulaire
    Bonjour à tous

    Et oui me revoila avec mes problèmes
    Alors voila je souhaiterais modifier un texte à l'aide d'un formulaire. J'ai mon texte initial où j'ai placer en dessous un lien "modifier" qui me ramène à mon formulaire. Mon formulaire est constitué d'une zone de texte area suivi d'un bouton envoyer. Je souhaiterai que le nouveau texte tapé écrase le premier.
    J'ai tenté des choses mais en vain, voila mon code :

    ----- fichier accueil.php -----
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?
    if (!isset ($_POST['textemodif'])){
    	echo "Texte initial";
    }else{
    	echo "{$_POST['textemodif']}";
    }
    ?>
    ----- fichier modif.php -----
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form method="post" action="./accueil.php" ENCTYPE="multipart/form-data">
    <TEXTAREA NAME="textemodif" ROWS="15" COLS="60">
    </TEXTAREA><br>
    <input type="submit" name="ok"><br><br>
    </form>
    Merci d'avance pour votre aide, en espérant avoir été assez clair

  2. #2
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    Euh ton texte il est stocké où ?

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bonjour
    Citation Envoyé par toinou62
    Je souhaiterai que le nouveau texte tapé écrase le premier.
    Où ça ? dans ta base de donnée, ta zone de texte, une variable ?

  4. #4
    Membre averti Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Points : 305
    Points
    305
    Par défaut
    Salut

    Plusieurs question se posent :

    1) Où stock tu ton texte ?
    2) Où vois-tu dans ton code que tu supprime l'ancien texte ?
    3) As tu bien regarder les Faq, etc ?

    Ton formulaire as l'air correct sauf que tu n'affiche pas dans ton textarea l'ancien texte, d'ou la question 1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <TEXTAREA NAME="textemodif" ROWS="15" value="ancienText" COLS="60">
    </TEXTAREA>
    Après que t'es cliqué sur ton bouton "Ok" tu as juste à ajouter le nouveau texte là ou tu le stock. Si tu ne veux pas montrer l'ancien texte, tu ne le fais pas, tu as juste as faire un update de la ou tu le stock, ca va le remplacé automatiquement.

    Mais pour une question de pratique, il est conseillé d'afficher l'ancien texte.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 38
    Points
    38
    Par défaut
    En fait mon texte est juste écrit dans le code de la page accueil.php
    Il n'est stocké nul part, comment pourrais-je faire pour le stocker? Créer un dossier avec des fichiers texte?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    Selon moi, php n'est pas utile. Javascript bien.
    Voici la piste que je te propose: Si tu plaçais ton texte dans une balise div avec un attribut id. Tu pourrais avec un événement onclick sur un bouton, modifier le contenu du div avec innerHTML.

  7. #7
    Membre averti Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Points : 305
    Points
    305
    Par défaut
    tout simplement dans une variable

    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $text = "bonjour, je m'appel toinou, j'ai besoin d'aide, Helpppp meeee !!!";
    Mais bon c'est pas super

    Donc une fois que tu poste ton formulaire tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $text = $_POST['newText'];
    Mais bon tout ça n'est pas très pratique et évoluer

    m'enfin tout dépend de ce que tu fais

  8. #8
    Membre averti Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Points : 305
    Points
    305
    Par défaut
    Citation Envoyé par Ouach
    Selon moi, php n'est pas utile. Javascript bien.
    Voici la piste que je te propose: Si tu plaçais ton texte dans une balise div avec un attribut id. Tu pourrais avec un événement onclick sur un bouton, modifier le contenu du div avec innerHTML.
    je pense que tu vas un peu trop lui compliquer la chose, avant d'opter pour une solution plus dynamique, il faudrait qu'il arrive déja à faire du statique

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 38
    Points
    38
    Par défaut
    Merci mLk92, je vais tenter ta méthode.
    Donc dans mon fichier accueil.php j'ai stocké mon texte dans une variable $text et je l'appelle avec un écho.
    Mais pour le formulaire, je dois mettre quoi dans value?

    Et ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $text=$_POST['textemodif'];
    Je le place où?

    Je suis un peu perdu là.

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 38
    Points
    38
    Par défaut
    Je ne comprend pas pourquoi je n'arrive pas à appeler le POST dans mon php. J'ai mis $text=$_POST['textemodif'] mais ça ne marche pas, il me met toujours erreur.

    Aidez moi svp !!!

  11. #11
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    A la ligne 5, il manque une '.

    .......

    Désolée
    Plus sérieusement et sans vouloir te vexer, la boule de cristal n'est pas encore une option disponible sur le forum. Donc je crois que ça nous aiderait si tu redonnnais ton code modifié.

  12. #12
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 38
    Points
    38
    Par défaut
    Excusez moi !
    Donc voila mon fichier accueil où se trouve mon texte initial :

    ----- accueil.php -----
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?
    $text="Texte initial à modifier";
     
    if(!isset($_POST['textemodif'])){
    	echo $text;
    }else{
    	$text01=$_POST['textemodif'];
    	echo $text01;
    }
    ?>
    Ce code m'affiche toujours mon texte initial même en ayant remplis le formulaire.

    Le code de mon formulaire est celui ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form method="post" action="./accueil.php" ENCTYPE="multipart/form-data">
    <TEXTAREA name="textemodif" ROWS="15" value="???" COLS="60"></TEXTAREA><br>
    <input type="submit" name="ok"><br><br>
    </form>
    Comment faire pour mettre dans mon texte aréa, le contenu de la variable $text du fichier accueil.php?
    Et pourquoi le $_POST['...'] de mon fichier accueil.php n'affiche rien?

    Merci

  13. #13
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pour ton fichier accueil, je conseille plutot ça, pour remplacer le contenu de la variable $text.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(isset($_POST['textemodif'])){
    	$text=$_POST['textemodif'];
    }else{
    	$text="Texte initial à modifier";
    }
    echo $text;
    Pour le contenu de value dans ton champ textemodif, ça dépend de où est situé le formulaire (dans accueil.php ou une autre page)

  14. #14
    Membre averti Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Points : 305
    Points
    305
    Par défaut
    lol, il faut que t'es un minimum de logique

    Tu place la déclaration de ton code, là ou tu récupère les infos de ton formulaire, comment tu peut afficher le texte dans ton textarea dans ce cas là ?

    il faut que tu fasse un truc du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php  $text="Texte initial à modifier"; ?>
     
    <form method="post" action="./accueil.php" ENCTYPE="multipart/form-data">
    <TEXTAREA name="textemodif" ROWS="15" value="<? echo $text; ?>" COLS="60"></TEXTAREA><br>
    <input type="submit" name="ok"><br><br>
    </form>
    A partir de là le texte dans la variable "$texte" s'affichera dans ton textarea.

    ensuite tu fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?
    if(!isset($_POST['textemodif'])){
    	echo $_POST['textemodif'];
    }else{
    	$text01=$_POST['textemodif'];
    	echo $text01;
    }
    ?>
    j'ai pas trop capté ce que tu veux faire dans cette partie de code.

    Si tu veux récupérer l'ancien texte, tu peux le mettre dans un input type hidden dans ton form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="<? echo $text; ?>" value="<? echo $text; ?>" />
    Voilà voilà

  15. #15
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 38
    Points
    38
    Par défaut
    mon formulaire se trouve dans un autre fichier formu.php
    Mais ça marche toujours pas, en fait le fichier accueil.php n'arrive pas à réceptionner le POST du formulaire.

    Et au niveau du formulaire j'ai bien créé une variable $text que j'appelle dans value mais le texte aréa reste vierge.

    Enfin le plus important pour moi c'est de pouvoir modifier le texte de la page accueil car là il bouge pas malgré toutes mes tentatives

  16. #16
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Citation Envoyé par toinou62
    Mais ça marche toujours pas, en fait le fichier accueil.php n'arrive pas à réceptionner le POST du formulaire.
    Bon on va repartir à la source du post
    Ajoute au début de ton accueil.php un print_r($_POST); Ensuite teste le changement et regarde ce que te donne l'affichage après tentative de modification lorsque tu ré-affiches accueil.php.

  17. #17
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    La balise textarea est l'exception car elle n'a pas d'attribut nommé value, il faut simplement glisser le texte entre sa balise ouvrante et fermante (sinon à quoi sert-elle ?).

    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    <textarea name="textemodif" ROWS="15" COLS="60><?php echo $text; ?></textarea>

  18. #18
    Membre averti Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Points : 305
    Points
    305
    Par défaut
    Citation Envoyé par julp
    La balise textarea est l'exception car elle n'a pas d'attribut nommé value, il faut simplement glisser le texte entre sa balise ouvrante et fermante (sinon à quoi sert-elle ?).

    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    <textarea name="textemodif" ROWS="15" COLS="60><?php echo $text; ?></textarea>

    Autant pour moi Désoléééé

    donc tu fais ce que julp t'a donnée, et les récupération de donnée $_POST tu les mets au début de ton fichier accueil.php

  19. #19
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    J'ai l'impression que julp est très fort pour repérer les erreurs bêtes. On décortique le code pendant 3 jours, en cherchant midi à 14h et en coupant les cheveux en 4, et en fait ça vient d'un = manquant ou d'une balise mal écrite... Résultat, on s'est pris la tête pour pas grand chose

    bref, en retirant le value du texarea, normalement ça devrait marcher.

  20. #20
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 38
    Points
    38
    Par défaut
    Pour afficher l'ancien texte dans le texte area c'est bon, c'est vrai que moi même je n'avais pas pensé à le mettre là :S

    Donc dans mon fichier accueil.php j'ai ajouté print_r($_POST); et il m'affiche Array( ). Même une fois que j'ai tapé un nouveau texte il ne change pas

Discussions similaires

  1. [Toutes versions] USERFORM - Créer, Consulter, Modifier et Supprimer des enregistrements à l'aide d'un formulaire.
    Par Philippe Tulliez dans le forum Contribuez
    Réponses: 110
    Dernier message: 04/08/2022, 01h24
  2. Réponses: 1
    Dernier message: 08/09/2014, 20h36
  3. Réponses: 1
    Dernier message: 14/04/2014, 14h17
  4. [WD-2003] Déplacer du texte à l'aide d'un formulaire
    Par Pakou dans le forum VBA Word
    Réponses: 1
    Dernier message: 08/11/2012, 23h03
  5. Modifier une image à l'aide d'un formulaire
    Par toinou62 dans le forum Langage
    Réponses: 4
    Dernier message: 22/05/2007, 09h41

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