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;
Configuration: Windows Vista
Internet Explorer 7.0

8 réponses

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

    Je n'y comprend rien
    0
  3. 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
  4. *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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

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

      0
      1. 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
      2. 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
      3. 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
      4. *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
  7. smoutsmout Messages postés 160 Statut Membre
     
    oui j'ai essayé mais ca marche pas non plus
    0
  8. *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
  9. 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