variable null effacement valeure bdd
Posté : 06 nov. 2010, 15:49
Bonjour,
voila j'ai un souci. je veux créer un formulaire où l'on peut modifier le titre et le corps d'un texte qui doit être afficher sur une page web en suite. Mais voilà, j'aimerais que l'on puisse modifier soit le titre, soit le corps du texte soit les deux en même temps. Mais le souci est que quand je choisis de modifier seulement le titre et que je ne tape rien dans le champ corps de texte, celui ci est effacé. comment faire pour que cela n'arrive pas et que le champ laissé vide dans le formulaire ne soit pas effacé?
page du formulaire:
Page de l'envois vers la bdd:
voila j'ai un souci. je veux créer un formulaire où l'on peut modifier le titre et le corps d'un texte qui doit être afficher sur une page web en suite. Mais voilà, j'aimerais que l'on puisse modifier soit le titre, soit le corps du texte soit les deux en même temps. Mais le souci est que quand je choisis de modifier seulement le titre et que je ne tape rien dans le champ corps de texte, celui ci est effacé. comment faire pour que cela n'arrive pas et que le champ laissé vide dans le formulaire ne soit pas effacé?
page du formulaire:
Code : Tout sélectionner
<?php
// on se connecte à notre base
$base = mysql_connect ("localhost", "root", "" );
mysql_select_db ('jamart', $base) ;
?>
<html>
<head>
</head>
<body>
<p>
<?php
// lancement de la requete
$sql = 'SELECT titre FROM texte WHERE page= "societe"';
$sql2 = 'SELECT corps FROM texte WHERE page= "societe"';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$req2 = mysql_query($sql2) or die('Erreur SQL !<br />'.$sql2.'<br />'.mysql_error());
// on recupere le resultat sous forme d'un tableau
$data = mysql_fetch_array($req);
$data2 = mysql_fetch_array($req2);
// on libère l'espace mémoire alloué pour cette interrogation de la base
mysql_free_result ($req);
?>
</p>
<div align="center">
<table width="500" border="5">
<tr>
<td> <div align="center"><strong>
<?php echo $data['titre']; ?>
</strong><br /><br /><br />
<?php echo $data2['corps']; ?> </div></td>
</tr>
</table>
</div>
<p> </p>
<form value="modification2" action="update2.php" method="POST">
<div align="center">
<p>
<input type="hidden" name="page" value="societe">
</p>
<p>Titre :</p>
<p><br>
<input name="titre" type="text" size="100"> <br />
Corps :</p>
<p>
<textarea name="corps" cols="100" rows="20"></textarea>
<br />
</p>
</div>
<p align="center">
<input type="submit" value="Modifier"></form>
</strong>
<?php
mysql_close ();
?>Code : Tout sélectionner
<?php
$base = mysql_connect ("localhost", "root", "" );
mysql_select_db ('jamart', $base) ;
?>
<?php
$titre = mysql_real_escape_string(htmlspecialchars($_POST["titre"])) ;
$corps = mysql_real_escape_string(htmlspecialchars($_POST["corps"])) ;
$page = $_POST["page"] ;
$sql = "UPDATE texte SET titre = '$titre', corps = '$corps' WHERE page = '$page' ";
$requete = mysql_query($sql) or die( mysql_error() ) ;
if($requete)
{
echo("La modification à été correctement effectuée") ;
}
else
{
echo("La modification à échouée") ;
}
?>