Php+sql:requete update

Fermé
G4uthier Messages postés 131 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 23 juillet 2009 - 15 févr. 2008 à 16:59
G4uthier Messages postés 131 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 23 juillet 2009 - 15 févr. 2008 à 17:46
Bonjour,
voila mon code, ma requête update ne fonctionne pas : il doit y avoir une erreur avec les guillemets mais je trouve pas. :'(


voici mon code :

if(isset($_GET['modif'])){
$id_news_a_modif=$_GET['modif'];
$requete = mysql_query("SELECT * FROM news WHERE id='$id_news_a_modif'");// on recupère la news pour l 'afficher dans le formulaire
$enregistrement=mysql_fetch_array($requete);
$titre=$enregistrement['titre'];
$contenu=$enregistrement['contenu'];


if(isset($_POST['modifier'])){
$titre=$_POST['titre'];
$contenu=$_POST['contenu'];
//on met à jour la news dans la table
$modification=mysql_query("UPDATE news SET titre='$titre', contenu='$contenu' WHERE id='$id_news_a_modif'");



}
// ce formulaire sert à la modification
echo"<form method='post' action='{$_SERVER['PHP_SELF']}'>
<h2>Ajout d'une news</h2>
<em>entrez le titre de votre news: </em><input type='text' name='titre' size='50' value=$titre><br><br>
<em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'>";
echo $contenu;//on affiche le contenu à modifier
echo"
</textarea></p>
<input type='submit' class='button' name='modifier' value='Modifier la news'>
</form>";


merci :)
A voir également:

8 réponses

essaie :

$modification=mysql_query('UPDATE news SET titre=" ' .$titre.'", contenu=" '.$contenu.' " WHERE id=" '.$id_news_a_modif.' " ');
3
G4uthier Messages postés 131 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 23 juillet 2009 7
15 févr. 2008 à 17:46
je vais regardé ca demain à tête reposé merci pour vos conseils . j'arrete pour ce soir
2
G4uthier Messages postés 131 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 23 juillet 2009 7
15 févr. 2008 à 17:32
oui je crosi que c'est ca mais c'est mon algo qui doit pas fonctionner mon second isset n'est jamais activé je crois.
Quelqu un a une solution?
1
if(isset($_GET['modif'])) {

c'est volontaire de ne pas fermer l'acolade?
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
G4uthier Messages postés 131 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 23 juillet 2009 7
15 févr. 2008 à 17:35
oui c est un bout du code voici le code complet:

<?php
include("configuration_sql.php");
// on regarde si l'on veut modifier la news(grace à l'URL)
if(isset($_GET['modif'])){
$id_news_a_modif=$_GET['modif'];
$requete = mysql_query("SELECT * FROM news WHERE id='$id_news_a_modif'");// on recupère la news pour l 'afficher dans le formulaire
$enregistrement=mysql_fetch_array($requete);
$titre=$enregistrement['titre'];
$contenu=$enregistrement['contenu'];


if(isset($_POST['modifier'])){
echo"dzjsbjclkscnsnvjknwj";
$titre=$_POST['titre'];
$contenu=$_POST['contenu'];
echo $contenu;
//on met à jour la news dans la table
$modification=mysql_query('UPDATE news SET titre=" ' .$titre.'", contenu=" '.$contenu.' " WHERE id=" '.$id_news_a_modif.' " ');
}

// ce formulaire sert à la modification
echo"<form method='post' action='{$_SERVER['PHP_SELF']}'>
<h2>Ajout d'une news</h2>
<em>entrez le titre de votre news: </em><input type='text' name='titre' size='50' value=$titre><br><br>
<em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'>";
echo $contenu;//on affiche le contenu à modifier
echo"
</textarea></p>
<input type='submit' class='button' name='modifier' value='Modifier la news'>
</form>";


echo"<a href=zone_admin.php>Retour au menu administration</a>";

}else{
//sinon on veut l'ajouter
if(isset($_POST['ajout'])){
$date=time();
$titre=$_POST['titre'];
$contenu=$_POST['contenu'];
$requete = mysql_query("insert into news values('','". $titre . "','". $contenu . "','" . $date . "')");


}
// ce formulaire sert à l'ajout
echo"<form method='post' action='{$_SERVER['PHP_SELF']}'>
<h2>Ajout d'une news</h2>
<em>entrez le titre de votre news: </em><input type='text' name='titre' size='50'><br><br>
<em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'></textarea></p>
<input type='submit' class='button' name='ajout' value='Ajouter la news'>
</form>";

echo"<a href=zone_admin.php>Retour au menu administration</a>";
}
?>
1
essaies ca :
<?php
include("configuration_sql.php");
// on regarde si l'on veut modifier la news(grace à l'URL)
if(isset($_GET['modif']))
{
$id_news_a_modif=$_GET['modif'];
$requete = mysql_query('SELECT * FROM news WHERE id="'.$id_news_a_modif.'"');// on recupère la news pour l 'afficher dans le formulaire
$enregistrement=mysql_fetch_array($requete);
$titre=$enregistrement['titre'];
$contenu=$enregistrement['contenu'];


if(isset($_POST['modifier'])){
echo"dzjsbjclkscnsnvjknwj";
$titre=$_POST['titre'];
$contenu=$_POST['contenu'];
echo $contenu;
//on met à jour la news dans la table
$modification=mysql_query('UPDATE news SET titre="'.$titre.'", contenu="'.$contenu.'" WHERE id="'.$id_news_a_modif.'"');
}

// ce formulaire sert à la modification
echo"<form method='post' action='{$_SERVER['PHP_SELF']}'>
<h2>Ajout d'une news</h2>
<em>entrez le titre de votre news: </em><input type='text' name='titre' size='50' value=$titre><br><br>
<em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'>";
echo $contenu;//on affiche le contenu à modifier
echo"
</textarea></p>
<input type='submit' class='button' name='modifier' value='Modifier la news'>
</form>";


echo"<a href=zone_admin.php>Retour au menu administration</a>";

}
else
{
//sinon on veut l'ajouter
$date=time();
$titre=$_POST['titre'];
$contenu=$_POST['contenu'];
$requete = mysql_query("insert into news values('','". $titre . "','". $contenu . "','" . $date . "')");

// ce formulaire sert à l'ajout
echo"<form method='post' action='{$_SERVER['PHP_SELF']}'>
<h2>Ajout d'une news</h2>
<em>entrez le titre de votre news: </em><input type='text' name='titre' size='50'><br><br>
<em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'></textarea></p>
<input type='submit' class='button' name='ajout' value='Ajouter la news'>
</form>";

echo"<a href=zone_admin.php>Retour au menu administration</a>";
}
?>
1
Bonjour

Ton second isset n'est pas activé parcequ'il est à l'intérieur du premier : il te manque une }

Tes guillemets sonts corrects SAUF que comme 99% des gens tu ne protèges pas tes champs contres les apostrophes. Les gens ont le droit de mettre de ' et des " dans tes news, et là ta requête échouera à coup sûr :

$modification=mysql_query("UPDATE news SET titre=''.mysql_real_escape_string($titre)."', contenu='".mysql_real_escape_string($contenu)."' WHERE id='".mysql_real_escape_string($id_news_a_modif)."'");
1
Normalement j'ai modifié le problème de l'accolade...
Il ne te reste plus qu'à suivre les conseils du père ;)
a+
1