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

PHP & Base de données Discussion :

Modifier un formulaire


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 51
    Par défaut Modifier un formulaire
    Bien le bonjour a vous, developpeur

    Voila voulant poursuivre tout seul, et en apprenant par moi meme, le php.

    Voila en fait mon probleme, c'est que j'ai un petit formulaire qui me a un champ text uniquement. Pas de titre, rien du tout, juste un message.

    Et ce message en fait j'aimerais qu'il s'affiche sur ma page principal du site. Pour cela je fais un mysql select etc...

    Et le truc c'est que je veux modifier ce texte en ligne, donc dans la partie admin. Je veux utiliser le formulaire, cliquer sur modifier et faire un mysql update, si j'ai bien compris.

    Mais le probleme c'est que je comprends pas trop comment faire pour que quand je clique sur modifier sa me fait un mysql update.

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Salut, et bienvenue sur le forum

    Avant de poster sur le forum, tu peux jeter un oeil dans les tutoriaux et la FAQ :
    - http://g-rossolini.developpez.com/tu...aires-et-php5/
    - http://julp.developpez.com/php/formulaires/
    - http://php.developpez.com/faq/?page=...s_verifsaisies

    Bon développement

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 127
    Par défaut
    Hello !
    En fait tu fait un formulaire normal, avec method="post" action="tapage.php"
    avec le champ textarea name='tonchamps' et un champs hidden 'tonID' qui contient l'id (auto incremenent dans mysql) de la ligne que tu veux modifier.

    et dans tapage.php tu récupere la valeur du champs par $_POST['tonchamp'], que tu met dans mysql avec cette requete :

    mysql_query ("UPDATE `tatable` SET `tonchamps`='".mysql_real_escape_string($_POST['tonchamp'])."' WHERE `tonID`=".mysql_real_escape_string ($_POST['tonId']).";");

    et ca devrait etre bon.

    Voila, en esperant que ca t'aide

  4. #4
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 51
    Par défaut
    Merci bien mais en fait je crois pas avoir besoin d'un id, puisque il n' y aura qu'un seul champ message.

    Je vais tester

    EDIT : quand tu dis tapage.php, c'est la page ou je modifie le champ ? ou celle ou sa va s'afficher

  5. #5
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 51
    Par défaut
    Voila j'ai fait sa :

    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
       <?php
    	mysql_connect("localhost", "root", "");
    	mysql_select_db("gomu-house");
     
    	$retour = mysql_query('SELECT * FROM infos');
    	while ($donnees = mysql_fetch_array($retour)) {
    		 echo $donnees['message']; 
    	}
     
    	echo "Le Modifier ?";	
    ?>
     
    	<form method="post" action="admin/index.php">
     
    <p>
        <textarea name="message" rows="8" cols="45">
    		<?php echo $donnees[message]; ?>
    	</textarea>
    	<input type="submit" value="Modifier" />
    </p>
    <?php
    if (!isset($_POST['message'])) {
    	mysql_query ("UPDATE `infos` SET `message`='".mysql_real_escape_string($_POST['message']).";");
    } else {
    	echo "Le champ est vide !";
      }
    ?>
    Qu'en penses tu ?

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 127
    Par défaut
    Ce que j'en dit
    Apparement, ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($donnees = mysql_fetch_array($retour))
    laisse croire que tu a plusieurs lignes dans ta table infos, hors ce n'est peut-être pas le cas.

    Donc deux possibilités:
    Si c'est le cas, ta fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query ("UPDATE `infos` SET `message`='".mysql_real_escape_string($_POST['message']).";");
    va modifier par $_POST['message'] toutes tes lignes par la même valeur (d'où le fait qu'il fallait un Id.

    Si tu n'utilise qu'une seule ligne, alors tu n'a juste à faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $donnees = mysql_fetch_array($retour)
    (sans le while), puis ton update sera a peu pres correct (vaut mieux toujours préférer mettre un Id au cas ou)

    Par contre $donnees[message]; ne marchera pas, il faut que tu mette $donnees['message'];

    Je fait expres de ne pas t'en donner trop histoire que tu cherche de toi même et que tu comprenne mieux ton soucis

  7. #7
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 51
    Par défaut
    Je suis toujours en galere lol.

    J'ai modifié et j'ai sa maintenant

    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
    <?php
    	mysql_connect("localhost", "root", "");
    	mysql_select_db("gomu-house");
     
    	$retour = mysql_query('SELECT * FROM infos');
    	$donnees = mysql_fetch_array($retour);
    		 echo $donnees['message']; 
     
     
    	echo "Le Modifier ?";	
    	$contenu = stripslashes($donnees['message']);
     
     
    if (isset($_POST['message']) and !empty($_POST['message'])) {
    	mysql_query ("UPDATE `infos` SET `message`='".mysql_real_escape_string($_POST['message']).";");
    } else {
    	echo "Le champ est vide !";
      }
     
    ?>
     
    	<form method="post" action="index.php">
     
    <p>
        <textarea name="message" rows="8" cols="45">
    		<?php echo $contenu; ?>
    	</textarea>
    	<input type="submit" value="Modifier" />
    </p>
    Quand je vais dans la partie admin pour modifier. Je change le texte mais il le modifie pas, par contre sur la page principal j'ai le texte qui est affiché, donc sa deja c'est bon. Et dans la partie admin, il me met champ vide alors qu'il y a quelques chose. Pas logique

    Je suis vraiment obligé de mettre un id ?

    Merci beaucoup codefalse. je ne veux pas la solution mais je veux trouver tout seul juste un autre indice stp. qui pourra m'aider

    Merci de ta patience

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/05/2006, 21h05
  2. modifier champs formulaire depuis object
    Par nin47 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 12/04/2006, 09h51
  3. Modifier un formulaire
    Par lolo_bob2 dans le forum Access
    Réponses: 11
    Dernier message: 05/04/2006, 09h06
  4. modifier un formulaire
    Par Stutak dans le forum Access
    Réponses: 6
    Dernier message: 24/02/2006, 10h37
  5. Réponses: 4
    Dernier message: 10/02/2006, 16h24

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