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 :

Affichage des données d'une bdd dans un formulaire


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 25
    Points : 13
    Points
    13
    Par défaut Affichage des données d'une bdd dans un formulaire
    J'ai un soucis de récupération des variables, pour modifier des champs de ma table

    Je m'explique, une fois mes données entrées dans ma base, je laisse la possibilité de la modifier via un formulaire.

    Donc toutes les données entrées précédemment se mettent dans les champs du formulaire pour permettre de les modifier, et de "renvoyer" pour valider la modif (update).


    Mon problème est le suivant , c'est l'affichage de ces données dans les champs de mon formulaire, pour le champs texte, le contenu "long" s'affiche correctement (de temps en temps =)), mais lorsque je fais un test avec comme valeur de ce champs "toto" par exemple, il ne me l'affiche pas.. comment ce la se fait il?


    Le champs en question est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <textarea name="texte" cols="50" rows="10" wrap="PHYSICAL" value="<? echo $row['texte']; ?>"></textarea>



    Ma page de modif :
    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
     
    <?
    $id=$_GET['id'];
     
    $req="select * from actu where id=$id";
    $actu=mysql_query($req);
     
    			while ($row=mysql_fetch_array($actu))
    			{
     
    ?>			
    					<form action="enreg_presse.php" method="post"  name="form1">
    					Modification de l'actu : <? echo $row['titre']; ?><br><br>
    					Titre de votre actu :
    					<input name="titre" type="text" value="<? echo $row['titre']; ?>" size="43" >
    					<br><br><br><textarea name="texte" cols="50" rows="10" wrap="PHYSICAL" value="<? echo $row['texte']; ?>"></textarea>
    					<br><br><br><br>Changer la photo? : 
    					<input type="file" name="photo" value=""></form>  
    					 <table width="100%"><tr>
    					   <td width="40%">Votre image actuelle :<br>
    					     <br> 
    					<img src="../Images/<? echo $row['photo']; ?>" height="150" width="150">
     
     
     
    		<?			
    			}
     
             ?>                 </td><td width="60%" > <br><br><br><br>
                   <div align="left">
                     <input name="Submit" type="submit" value="Modifier cette actu !">
                   </div></td></tr></table>
     
    	              <?
    	//$sql="UPDATE presse SET titre='titre', texte='texte',source='source'WHERE id_presse='$id '";
    	//$requete= mysql_query($sql); 
     
    	?>
    Les champs en question sont des longtext

  2. #2
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 71
    Points : 102
    Points
    102
    Par défaut
    L'élément TextArea n'a pas d'attribut value comme les autres champs input. Sa valeur est directement le contenu de la balise

    <Textarea name="mytext">
    <?php echo $mon_text; ?>
    </Textarea>


    En n'oubliant pas bien evidemment de protéger $mon_text contre les caractères html.

    Par ailleurs, tu fais un $id = $_GET['id']; que tu utilise directement dans une requete sans quote autour, un moyen sympathique serait au moins de forcer le cast vers un int (qui te retourne zero si le cast ne fonctionne pas).


    cortex

  3. #3
    NoT
    NoT est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Points : 280
    Points
    280
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <textarea name="texte" cols="50" rows="10" wrap="PHYSICAL"><? echo $row['texte']; ?></textarea>
    Est deja plus correct je penses, et il faut certainement formater ton texte de tel manière que si tu as des " dedan il ne les affiche pas ou qu'il les remplace .

    De même qd tu fais ta requete de selection il faut bien faire gaffe que ton texte n'est pas de caractère qui pourraient géné la syntaxe de ta requete. Ton soucis vient certainement de là.

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    Qu'appelle tu caractère qui pourrait géner ma syntaxe stp?

  5. #5
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 71
    Points : 102
    Points
    102
    Par défaut
    Il faut notamment remplacé les < et > par leur équivalent long ;lt et ;gt.
    Pour t'aider, utilise la fonction htmlspecialchars ou l'une de ses soeurs comme htmlentities.

    cortex

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 188
    Points : 110
    Points
    110
    Par défaut
    salut et si tu fais ca plutot?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $texte = $_SESSION['texte'];
    <textarea name=\"texte\" type=\"text\" rows=\"20\" cols=\"80\">".$texte."</textarea>

Discussions similaires

  1. [MySQL] Utiliser des données d'une BDD dans un lien pour image
    Par clairetj dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/06/2015, 15h48
  2. [1.x] Récupérer des données d'une bdd dans une liste déroulante
    Par bMallo dans le forum Symfony
    Réponses: 4
    Dernier message: 02/08/2012, 10h48
  3. intégrer des données d'une BDD dans script
    Par yon91 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/04/2012, 14h56
  4. affichage des données d'une bd dans une listview
    Par SALIA LOUA OLIVIER dans le forum VB.NET
    Réponses: 5
    Dernier message: 13/07/2010, 18h02
  5. [MySQL] affichage des données d'une bdd
    Par bossLINDROS dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 02/04/2007, 15h49

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