UPDATE

Résolu
Signaler
Messages postés
7
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
13 janvier 2009
-
Messages postés
7
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
13 janvier 2009
-
Bonjours a tous!!
Je suis débutant en PHP, je suis en train de faire un back office et je suis bloqué sur ce code.
Je souhaite afficher une donnee (de ma bdd) dans un formulaire
-> jusque là, pas de probleme.
Par contre, dès que je veut modifier les données de ce formulaire afin de les enregistrer dans ma bdd. Il ne m'exécute pas la requete.
Merci à tous

/*-------------------------------------------------
--------------inserer les textes-------------------
--------------------------------------------------*/


require ("connectdb.php");
$reponse = "SELECT * FROM encyclopedie WHERE id='a1'";
$reponse = mysql_query($reponse,$cnx) or die ("Echec");
while ($donnees = mysql_fetch_array($reponse) )
{
?>


<form method="post">


titre

<textarea name="titre" rows="1" cols="30" id="titre">
<?php echo $donnees['titre']; ?>
</textarea>


</form>
<?php
}


 


/*-------------------------------------------------
--------------modifier les textes------------------
--------------------------------------------------*/
?>
<form method="post" action="BO_modifEncyclopedie.php" >
<?php


if(isset($_POST['titre'])){
$titre=($_POST['titre']);




$modif = "UPDATE encyclopedie SET titre='$titre' WHERE id='a1'";
mysql_query($modif,$connection) or die ("Echec");
}




?>

</form>
<?php


mysql_close();
?>

6 réponses

Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut Nico,

Je pense que Teclis n'a tout simplement pas vu le "name= "titre"", ton textarea convient très bien.

Mais :
<form method="post">
=>
<form id= "id_du_form" method="post" action="">

Et surtout :
Tu crées 2 formulaires, pourquoi ???
C'est ça qui pause problème; le bouton type="submit" envoie le formulaire (vide) créé par cette ligne :
<form method="post" action="BO_modifEncyclopedie.php" >
Mais pas ton premier formulaire.

Alors :

<?php
require ("connectdb.php");

/*-------------------------------------------------
--------------modifier les textes------------------
--------------------------------------------------*/
if (isset($_POST['titre'])) {
    $titre = $_POST['titre'];

    $modif = "UPDATE encyclopedie SET titre='$titre' WHERE id='a1'";
    mysql_query($modif,$connection) or die ("Echec");
}

$reponse = "SELECT * FROM encyclopedie WHERE id='a1'";
$reponse = mysql_query($reponse,$cnx) or die ("Echec");
while ($donnees = mysql_fetch_array($reponse) )  {

    echo '
    <form id="f_titre" method="post" action="">
    titre

    <textarea name="titre" rows="1" cols="30" id="titre">
    '.$donnees['titre'].'
    </textarea>
   

    </form>';
}

?> 

J'ai modifier quelques trucs, mais il y a encore pas mal de choses à ne pas faire dans ce code.

Cordialement,

Kohntark -
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
je vois aucun input avec name="titre" il poste rien il execute pas la query

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
Messages postés
7
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
13 janvier 2009

J'ai pas mis : input avec name="titre"
-> car j'ai mis : textarea name="titre" dans la partie -----inserer les textes-----.
Il faut le remettre dans la partie -----modifier les textes----- ?
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
Ok c'est en un script donc ce que tu montres !!! faut te suivre ... Il s'apelle BO_modifEncyclopedie.php ? Si non ça vient de là surement...
Sinon
remplace ça : $modif = "UPDATE encyclopedie SET titre='$titre' WHERE id='a1'";
par : echo $modif = "UPDATE encyclopedie SET titre='$titre' WHERE id='a1'";
voir si elle s'affiche.

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
Messages postés
7
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
13 janvier 2009

Merci pour ton aide Teclis01.
BO_modifEncyclopedie.php est le nom de ma page, donc je renvoie la meme page dans le <form>.
J'ai essayer avec le echo mais ca marche toujours pas.
Messages postés
7
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
13 janvier 2009

Merci Kohntark. Je vais essayer de retravayer à partir de ton code.