BASE DE DONNESES EN PHP

Fermé
sss - 9 juin 2008 à 09:19
smoutsmout Messages postés 160 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009 - 17 juin 2008 à 09:45
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

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
désolée mais ca ne marche toujours pas.

Je n'y comprend rien
0
macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008 89
9 juin 2008 à 09:48
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 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 11 juin 2008
9 juin 2008 à 09:55
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 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009
9 juin 2008 à 10:07
beh ca marche toujours pas !!! j'en ai trop marre !!!
0
*esther* Messages postés 4 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 11 juin 2008
9 juin 2008 à 10:22
qu'est ce qui ne marche pas???

0
smoutsmout Messages postés 160 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009 > *esther* Messages postés 4 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 11 juin 2008
9 juin 2008 à 10:35
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 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008 89 > smoutsmout Messages postés 160 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009
9 juin 2008 à 10:41
As-tu des messages d'erreur ? Lesquels ?

As-tu bien rajouté des OR DIE à tes fonctione MySQL ?
0
smoutsmout Messages postés 160 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009 > macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008
9 juin 2008 à 10:54
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 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 11 juin 2008 > smoutsmout Messages postés 160 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009
9 juin 2008 à 11:27
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 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009
9 juin 2008 à 14:31
oui j'ai essayé mais ca marche pas non plus
0
*esther* Messages postés 4 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 11 juin 2008
11 juin 2008 à 08:51
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 Date d'inscription lundi 26 mai 2008 Statut Membre Dernière intervention 9 janvier 2009
17 juin 2008 à 09:45
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