[php/mysql] Update via un textarea

Fermé
Azash - 13 oct. 2011 à 03:01
 le père - 13 oct. 2011 à 09:31
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
<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:

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
0