[php/mysql] Update via un textarea
Azash
-
le père -
le père -
Bonjour,
petit problème.
j'essaye de faire un update d'un champ de ma BDD via un textarea. L'utilisateur rentre une chaine de caractères dans le textarea , je récupere l'entrée sous forme de variable, puis je veux updater dans ma BDD.
Sauf que j'y arrive pas :). Voici le code :
page modif.php
Page modif_redir.php
Voilà, c'est surement dans la 2e partie qu'il y a un probleme, mais...
petit problème.
j'essaye de faire un update d'un champ de ma BDD via un textarea. L'utilisateur rentre une chaine de caractères dans le textarea , je récupere l'entrée sous forme de variable, puis je veux updater dans ma BDD.
Sauf que j'y arrive pas :). Voici le code :
page modif.php
<form action="modif_redir.php" method="post"> <table> <td> <textarea name="modif_cours" cols="80" rows="25"><?php echo $resultat ?></textarea> </td></tr><tr><td align="right"> <input type="submit" name="go" value="Modifier"> </td></tr> </table> </form>
Page modif_redir.php
<?php
// on se connecte à la base
$base = mysql_connect ('local', 'root', '')
or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
mysql_select_db('base', $base);
//Update des infos
if (isset ($_POST ['modif_cours']))
{
$modification=$_POST['modif_cours'];
}
mysql_query('UPDATE contenu_site SET section_contenu= $modification WHERE section_nom="cours"');
mysql_close ();
?>
Voilà, c'est surement dans la 2e partie qu'il y a un probleme, mais...
A voir également:
- [php/mysql] Update via un textarea
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Easy php - Télécharger - Divers Web & Internet
- Wsus offline update - Télécharger - Systèmes d'exploitation
1 réponse
Bonjour
1 - Il te faut des quotes (simples ou doubles) autour de $modification dans ta requête,
2 - Si tu veux que ta variable $modification sot remplacée par sa valeur, il faut que ta chaîne soit encadrée de double quotes et non pas de simples
3 - Il faut échapper les caractères spéciaux dans modification
4 - ta requête devrait être dans le if (isset ($_POST ['modif_cours'])) sinon elle sera exécutée même si le formulaire n'est pas rempli
if (isset ($_POST ['modif_cours']))
{
$modification=mysql_real_escape_string($_POST['modif_cours']);
mysql_query("UPDATE contenu_site SET section_contenu= '$modification' WHERE section_nom='cours'");
}
et si tu avais ajouté un 'or die (mysql_error()) à ton appel à mysql_query, tu aurais eu un message d'erreur qui t'aurait mis sur la piste
1 - Il te faut des quotes (simples ou doubles) autour de $modification dans ta requête,
2 - Si tu veux que ta variable $modification sot remplacée par sa valeur, il faut que ta chaîne soit encadrée de double quotes et non pas de simples
3 - Il faut échapper les caractères spéciaux dans modification
4 - ta requête devrait être dans le if (isset ($_POST ['modif_cours'])) sinon elle sera exécutée même si le formulaire n'est pas rempli
if (isset ($_POST ['modif_cours']))
{
$modification=mysql_real_escape_string($_POST['modif_cours']);
mysql_query("UPDATE contenu_site SET section_contenu= '$modification' WHERE section_nom='cours'");
}
et si tu avais ajouté un 'or die (mysql_error()) à ton appel à mysql_query, tu aurais eu un message d'erreur qui t'aurait mis sur la piste