BASE DE DONNESES EN PHP

sss -  
smoutsmout Messages postés 160 Statut Membre -
Bonjour à tous,

Voilà je développe une petite application php (avec easyphp) pour un site. C'est un menu qui permet l'ajout la modification et la suppression de news qui sont stockées dans une base de données phpmyAdmin.

Pour la suppression tout est ok, mais l'ajout et la modification ne fonctionnent pas.

Voici le code pour ajout (php et formulaire) :

<? include("connexion.php"); ?>

<?//AJOUT
$table="news";
$ftitre=""; if(!empty($_POST["ftitre"]))
$ftitre=$_POST["ftitre"];
$fcontenu=""; if(!empty($_POST["fcontenu"]))
$fcontenu=$_POST["fcontenu"];
$fdate=""; if(!empty($_POST["fdate"]))
$fdate=$_POST["fdate"];
// Ajoute le nouvel enregistrement
$query = "INSERT INTO $table(id,titre,contenu,date)";
$query .= " VALUES(10,'$ftitre','$fcontenu','$fdate)";
if(($ftitre!='')&&($fcontenu!='')&&($fdate!=''))
{
$result = mysql_query($query);
}
?>


<form method="post" action="ajout_message.php">

<table width="50%" border="1" align="center">
<tr>
<td height="30">
<div align="center">Titre</div>
</td>
</tr>

<tr>
<td height="51">
<div align="center">

<input type="text" name="ftitre">

</div>
</td>
</tr>

<tr>
<td height="30">
<p align="center">Contenu</p>
</td>
</tr>
<tr>
<td height="51">
<div align="center">

<textarea cols="80" rows="30" name="fcontenu"></textarea>

</div>
</td>
</tr>

<tr>
<td>
<p align="center">Date : jj/mm/aaaa</p>
</td>
<td height="51">
</tr>
<tr>
<td>
<div align="center">

<input type="text" name="fdate">

</div>
</td>
</tr>
<tr>
<td colspan="2" height="45">
<div align="center">
<input type="submit" name="Effacer" value="Effacer">
<input type="submit" name="Ajoutter" value="Ajoutter">
</div>
</td>
</tr>
</table>

</form>

<p> </p>
<p><a href="liste_news.php">Menu général</a></p>
</div>

....suite du code ....

quand j'effectue ma requete il me dit que c'est ok mais rien ne s'ajoute dans la base

pouvez-vous m'aider ???

merci d'avance;
A voir également:

8 réponses

shortypote
 
Salut,
a mon avis ton probleme est la:
$query = "INSERT INTO $table(id,titre,contenu,date)";
$query .= " VALUES(10,'$ftitre','$fcontenu','$fdate)";

la bonne version étant:
$query = "INSERT INTO".$table."(id,titre,contenu,date)";
$query .= " VALUES(10,'".$ftitre."','".$fcontenu."','".$fdate.")";

Sinon dans la requete envoyée tu passes les noms des variables et pas leur valeurs!
0
sss
 
désolée mais ca ne marche toujours pas.

Je n'y comprend rien
0
macgawel Messages postés 676 Statut Membre 89
 
Bonjour.

quand j'effectue ma requete il me dit que c'est ok mais rien ne s'ajoute dans la base

S'il te dit que c'est OK, c'est qu'il y a un gros problème, vu que rien dans ton code ne demande l'affichage de 'OK' !

Que veux-tu dire par "c'est ok" ?

Essaye ça :
if(($ftitre!='')&&($fcontenu!='')&&($fdate!=''))
{
   echo "Requête = ".$query;
   $result = mysql_query($query) or die("Erreur de requête :".mysql_error());
} 

Tu peux aussi rajouter des OR DIE dans ton fichier connexion.php, s'il n'y en a pas, à tes fonctions mysql_...
0
*esther* Messages postés 4 Statut Membre
 
Bonjour!

tu n'as aucun message d'erreur?

et tonc code me semble un peu compliqué pour ce que tu veux faire..
pourquoi tu t'embêtes à faire plein de if(pas ivde)..
utilise tout simplement isset..
et puis pourquoi une concaténation pour ta requete en elle même???
pour moi je ferais plus simlement ça:

<?

// Ajoute le nouvel enregistrement ssi existe $_post dc:
 if(isset($_POST['ftitre']) )//dc si formulaire a été envoyé
  
{ $ftitre=$_POST['ftitre'];
  $fcontenu=$_POST['fcontenu'];
  $fdate=$_POST['fdate'];

if(($ftitre!='')&&($fcontenu!='')&&($fdate!=''))
{  
$query = "INSERT INTO news(id,titre,contenu,date) VALUES('10','".$ftitre."','".$fcontenu."','".$fdate."')"; 
$result = mysql_query($query); 
} 

}


?> 



mais aprés je ne comprend pas purquoi tu fais 2 boutons submit avec effacer et ajouter??? cr là tu les renvoit à la même page...
et pour ton id tu dois le mettre en auto increment ds easy ..

voilà si t'as des questions n'hésites pas!
:)
0

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

Posez votre question
smoutsmout Messages postés 160 Statut Membre
 
beh ca marche toujours pas !!! j'en ai trop marre !!!
0
*esther* Messages postés 4 Statut Membre
 
qu'est ce qui ne marche pas???

0
smoutsmout Messages postés 160 Statut Membre > *esther* Messages postés 4 Statut Membre
 
tout je vais pas tarder à peter un cable avec ce site a la c....

je voudrais bien savoir pourquoi ca n'ajoute rien dans la basse.

j'ai essayé toutes les solutions que vous m'avez proposé c'est toujours pareil.

Mais restons calmes c'est pas grave.
0
macgawel Messages postés 676 Statut Membre 89 > smoutsmout Messages postés 160 Statut Membre
 
As-tu des messages d'erreur ? Lesquels ?

As-tu bien rajouté des OR DIE à tes fonctione MySQL ?
0
smoutsmout Messages postés 160 Statut Membre > macgawel Messages postés 676 Statut Membre
 
en fait, en local je n'ai pas de probleme de connexion, mais ca ne marche pas quand meme.

et sur l'hebergeur je ne peux pas me connecter a la base.

??????
0
*esther* Messages postés 4 Statut Membre > smoutsmout Messages postés 160 Statut Membre
 
ok on va d'abord voir pour que le local marche..
maispour ça faut que tu donnes plus de précisions ..
t'as essayé la requête comme je l'ai faite?
0
smoutsmout Messages postés 160 Statut Membre
 
oui j'ai essayé mais ca marche pas non plus
0
*esther* Messages postés 4 Statut Membre
 
et tes titres de champ tu es sur qu'ils sont bon?
sinon essaye de mettre un echo dans ton code au moment où le post est envoyé..
dc si $_post existe (donc formualire envoyé avec toutes les odnnées)
echo "bouh!";
pour voir si déjà on rentre bien dans la condition...
il va falloir voir par étape ce qui cloche et donc mettre des echo pour voir jusqu'à où ils s'affichent!
0
smoutsmout Messages postés 160 Statut Membre
 
j'ai reussi a resoudre mon probleme mais je ne sais pas trop comment. en tout cas ca marche, c'est l'essentiel.
merci a tous
0