Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/05/2007, 11h04   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 111
Points : 10
Points : 10
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 :
1
2
3
4
5
6
7
8
 
<?
if (!isset ($_POST['textemodif'])){
	echo "Texte initial";
}else{
	echo "{$_POST['textemodif']}";
}
?>
----- fichier modif.php -----
Code :
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
toinou62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 11h15   #2
Rédacteur
 
Avatar de Yoteco
 
Alain Sahli
Ingénieur développement logiciels
Inscription : décembre 2004
Messages : 1 086
Détails du profil
Informations personnelles :
Nom : Alain Sahli
Âge : 25

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

Informations forums :
Inscription : décembre 2004
Messages : 1 086
Points : 1 479
Points : 1 479
Euh ton texte il est stocké où ?
Yoteco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 11h52   #3
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

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

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 451
Points : 5 451
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 ?
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 12h15   #4
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 522
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 522
Points : 249
Points : 249
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 :
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.
__________________
Citation:
" Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 14h04   #5
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 111
Points : 10
Points : 10
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?
toinou62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 14h15   #6
Membre confirmé
 
Inscription : avril 2007
Messages : 254
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 254
Points : 262
Points : 262
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.
__________________
Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.
Ouach est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 14h16   #7
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 522
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 522
Points : 249
Points : 249
tout simplement dans une variable

ex:
Code :
$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 :
$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
__________________
Citation:
" Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 14h19   #8
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 522
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 522
Points : 249
Points : 249
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
__________________
Citation:
" Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 14h41   #9
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 111
Points : 10
Points : 10
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 :
 $text=$_POST['textemodif'];
Je le place où?

Je suis un peu perdu là.
toinou62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2007, 09h58   #10
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 111
Points : 10
Points : 10
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 !!!
toinou62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2007, 10h03   #11
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

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

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 451
Points : 5 451
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é.
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2007, 10h15   #12
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 111
Points : 10
Points : 10
Excusez moi !
Donc voila mon fichier accueil où se trouve mon texte initial :

----- accueil.php -----
Code :
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 :
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
toinou62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2007, 10h32   #13
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

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

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 451
Points : 5 451
Pour ton fichier accueil, je conseille plutot ça, pour remplacer le contenu de la variable $text.
Code :
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)
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2007, 10h35   #14
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 522
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 522
Points : 249
Points : 249
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 :
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 :
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 :
<input type="hidden" name="<? echo $text; ?>" value="<? echo $text; ?>" />
Voilà voilà
__________________
Citation:
" Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2007, 11h03   #15
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 111
Points : 10
Points : 10
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
toinou62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2007, 11h09   #16
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

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

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 451
Points : 5 451
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.
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2007, 11h16   #17
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
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 :
<textarea name="textemodif" ROWS="15" COLS="60><?php echo $text; ?></textarea>
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2007, 11h25   #18
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 522
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 522
Points : 249
Points : 249
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 :
<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
__________________
Citation:
" Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2007, 11h32   #19
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

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

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 451
Points : 5 451
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.
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2007, 15h54   #20
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 111
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 111
Points : 10
Points : 10
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
toinou62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h53.


 
 
 
 
Partenaires

Hébergement Web