Base qui reste vide mais le script fonctionne

Base qui reste vide mais le script fonctionne - PHP - Programmation

Marsh Posté le 15-09-2005 à 14:06:30    

Bjour.
 
Voila, je suis en train de faire un petit script pour rediger des articles, qui vont s'inscrirent dans une base MySQl pour pouvoir par la suite les afficher sur une page web..
J'utilise, pour la redaction de l'article, l'excellent FCKEditor V2.0 que je conseille fortement, excellent petit prog!  [:aloy]  
 
Mais j'ai un petit soucis et je ne sais pas trop d'ou ca vient.... Je redige le texte de l'article, puis le titre, je clique sur OK et la le titre se met bien dans la base dans la table correspondante, mais par contre le texte de l'article reste vide dans la base. Je pense que il y a un prob au niveau de la validation, surement a cause de FCKEditor que j'utilise peut etre mal, pourtant j'ai bien suivi la doc...  
 
Enfin mon Code vaudra mieux qu'un long discours (je l'ai correctement commenté j'éspère)

Code :
  1. <?php
  2. //appel des différents fichiers ou je stock des variables
  3. include ("variables.php" );
  4. include("connection_base.php" );
  5. include("fckeditor_2.0/fckeditor.php" ) ;
  6. //appel de FCKEditor sur la page
  7. $oFCKeditor = new FCKeditor('FCKeditor1') ;
  8. $oFCKeditor->BasePath = 'fckeditor_2.0/';
  9. $oFCKeditor->Value = 'Redigez votre article';
  10. $oFCKeditor->Height=500;
  11. $oFCKeditor->Create() ;
  12. //fin de l'appel de FCKEditor
  13. //insertion du titre de l'article dans la base
  14. $Titre_article =  (isset($_POST['Titre']));
  15.                   mysql_query("INSERT INTO ".$table_article. "(Titre_article)".
  16.                  "VALUES ('$Titre_article')" );
  17. //insertion du texte de l'article redigé avec FCKEditor
  18. $Texte_article = (isset($_POST['FCKeditor1']));
  19.                  mysql_query("INSERT INTO ".$table_article. "(Texte_article)".
  20.                  "VALUES ('$Texte_article') " );
  21. ?>
  22. <--Formulaire HTML-->
  23. <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  24. <p>Titre : <input type="text" name="Titre" /></p>
  25. <p><input type="submit" name="Submit" value="Ok" /></p>
  26. </form>
  27. </html>


 
Voila si qqun pouvait m'aider ben..... ca m'aiderai vachement  [:ninipc]  
 
MERCI!

Reply

Marsh Posté le 15-09-2005 à 14:06:30   

Reply

Marsh Posté le 15-09-2005 à 14:14:04    

Y'a qu'un <input> pour le titre dans ton formulaire, il est où le texte de l'article ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 15-09-2005 à 14:14:55    

Et puis avec deux requêtes séparées comme ça ça risque pas de le faire. :/


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 15-09-2005 à 14:16:37    

ben le 2e input je sais pas trop comment le formuler, je pensais que FCKeditor s'en occupait tout seul... T4as deja utilisé FCK?

Reply

Marsh Posté le 15-09-2005 à 14:17:46    

Reply

Marsh Posté le 15-09-2005 à 14:18:54    

J'avais pas vu le :
$Titre_article =  (isset($_POST['Titre']));  
 
Qu'est-ce que t'essaies de faire là ? :heink:
 
J'parie que t'as pompé sur un script et que t'essaies d'adapter à la bourrin. :/


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 15-09-2005 à 14:24:41    

Donc je résume, on poste :  

  • s'il y a un titre, il enregistre le titre dans Titre_article d'un nouvelle ligne en laissant le reste vide.
  • s'il y a un texte, il enregistre le texte dans Texte_article d'une nouvelle ligne en laissant le reste vide.
  • s'il y a un titre et un texte, il crée deux lignes dont aucune qui contient les deux infos.


 
Y aurait comme un petit probléme je trouves. ;)
En plus, c'est vrai que t'as pas mis de zone de saisie pour le texte, alors je vois pas comment l'utilisateur peut le saisir, comment le navigateur peut envoyer le texte qui n'a pas été saisie et comment php peut envoyer à mysql le texte qu'il n'a pas teçu vu que le navigateur ne peut pas envoyer du texte qui n'a pas été saisie par l'utilisateur.
 
Cherche du côté de textarea (pas certain de l'ortographe exacte)
 
 
 
EDIT : c'est même pas s'il y a un texte ou s'il y a un titre d'ailleur vu qu'un isset qu'est pas dans un test (quasiment toujours dans un if, ou condition d'une boucle), ca sert à rien.

Message cité 1 fois
Message édité par omega2 le 15-09-2005 à 14:27:03
Reply

Marsh Posté le 15-09-2005 à 14:27:28    

sielfried a écrit :

J'avais pas vu le :
$Titre_article =  (isset($_POST['Titre']));  
 
Qu'est-ce que t'essaies de faire là ? :heink:
 
J'parie que t'as pompé sur un script et que t'essaies d'adapter à la bourrin. :/


 
non non je me demerde tout seul, mais on m'a conseillé de mettre des isset si je les mets pas j'ai une erreur de "Undefined" au niveau de $titre_article et $texte_article
J'ai peut etre pas tout saisi sur l'utilisation du isset, en plus quand je met le isset sur $titre_article, quelque soit le titre rentré, dans la base y'a un "1" qui s'inscrit...

Reply

Marsh Posté le 15-09-2005 à 14:29:45    

Reply

Marsh Posté le 15-09-2005 à 14:29:58    

omega2 a écrit :

Donc je résume, on poste :  

  • s'il y a un titre, il enregistre le titre dans Titre_article d'un nouvelle ligne en laissant le reste vide.
  • s'il y a un texte, il enregistre le texte dans Texte_article d'une nouvelle ligne en laissant le reste vide.
  • s'il y a un titre et un texte, il crée deux lignes dont aucune qui contient les deux infos.


 
Y aurait comme un petit probléme je trouves. ;)
En plus, c'est vrai que t'as pas mis de zone de saisie pour le texte, alors je vois pas comment l'utilisateur peut le saisir, comment le navigateur peut envoyer le texte qui n'a pas été saisie et comment php peut envoyer à mysql le texte qu'il n'a pas teçu vu que le navigateur ne peut pas envoyer du texte qui n'a pas été saisie par l'utilisateur.
 
Cherche du côté de textarea (pas certain de l'ortographe exacte)
 
 
 
EDIT : c'est même pas s'il y a un texte ou s'il y a un titre d'ailleur vu qu'un isset qu'est pas dans un test (quasiment toujours dans un if, ou condition d'une boucle), ca sert à rien.


 
 
 
euh j'ai pas tout compris  [:zaib3k]  
Mais en fait la textearea c'est le FCKeditor... c'est une grosse textearea en fait qui offre des boutons de mise en pages, et d'apres la doc de FCKeditor j'ai correctement codé... je comprend pas tout
 
EDIT: euh, aurais-je mal organisé ma base?  [:canaille]

Message cité 2 fois
Message édité par mongroidus le 15-09-2005 à 14:31:37
Reply

Marsh Posté le 15-09-2005 à 14:29:58   

Reply

Marsh Posté le 15-09-2005 à 14:33:21    

mongroidus a écrit :

Mais en fait la textearea c'est le FCKeditor... c'est une grosse textearea en fait qui offre des boutons de mise en pages, et d'apres la doc de FCKeditor j'ai correctement codé... je comprend pas tout


met un vrai textarea dans ton code html et utilise oFCKeditor.ReplaceTextarea (voir doc)
 
PS: FCK est une vrai usine à gaz... tinymce fait la même chose mais en plus leger

Reply

Marsh Posté le 15-09-2005 à 14:41:56    

mongroidus a écrit :

EDIT: euh, aurais-je mal organisé ma base?  [:canaille]

Ta base non, tes requettes oui, vu qu'il ne faut créer qu'une seule ligne de donnée SQL pour le titre et le texte.
Quand au isset, si tu balance un isset comme ça, il retournera vrai ou faux, mais c'est une condition que tu ne traites pas dans ton code.
 
Exemple de l'utilisation standard d'un isset extrait de la doc de php :

Code :
  1. if (isset($var)) {
  2.    echo 'Cette variable existe, donc je peux l\'afficher.';
  3. }

Reply

Marsh Posté le 15-09-2005 à 14:43:31    

soju a écrit :

met un vrai textarea dans ton code html et utilise oFCKeditor.ReplaceTextarea (voir doc)
 
 
PS: FCK est une vrai usine à gaz... tinymce fait la même chose mais en plus leger


 
faut pas mal bidouiller en js pour le replace, je vais essayer tinymce  [:ninipc]

Reply

Marsh Posté le 15-09-2005 à 14:47:42    

mongroidus a écrit :

faut pas mal bidouiller en js

tu plaisantes ? y'a tout dans la doc, juste à faire du copier/coller

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed