Fonction INSERT avec un formulaire

Fonction INSERT avec un formulaire - PHP - Programmation

Marsh Posté le 27-07-2006 à 23:49:31    

Bonjour,
Je ne comprend pas pourquoi ma fonction ne fonctionne pas. Je n'est aucun message derreur, mais quand je clique sur le boutton il ny a aucun enregistrement qui sajoute a la base de donnée.  

Code :
  1. <p class="titreadmin">Ajouter une news:</p>
  2. <form action="index.php?page=espacep&option=ad_addnews" method="post" name="addnews" enctype="text/plain">
  3. Date:<br>
  4. <input name="date" type="text" size="7" maxlength="10" value="00-00-0000"><br><br>
  5. Titre:<br>
  6. <input name="titre" type="text" size="40" maxlength="90"><br><br>
  7. News:<br>
  8. <textarea name="texte" rows="5" cols="60"></textarea><br><br>
  9. Auteur:<br>
  10. <input name="auteur" type="text" size="20" maxlength="20"><br><br>
  11. <input type="submit" value="Ajouter la news">
  12. </form>
  13. <?
  14. include "cnx.php";
  15. if(!empty($_POST["addnews"]))
  16. {
  17. $date=$_POST["date"];
  18. $titre=$_POST["titre"];
  19. $texte=$_POST["texte"];
  20. $auteur=$_POST["auteur"];
  21. $query=("INSERT INTO news(date,titre,texte,auteur) VALUES('$date', '$titre', '$texte', '$auteur')" );
  22. $liste_query = mysql_query($query);
  23. }
  24. mysql_close()
  25. ?>


 
Merci de votre aide
CMG

Reply

Marsh Posté le 27-07-2006 à 23:49:31   

Reply

Marsh Posté le 28-07-2006 à 00:03:31    

addnews n'est pas une variable, c'est juste le nom du formulaire.
 
Ce que tu peux faire par exemple, c'est de donner une variable au bouton submit (<input type="submit" name="ajoutnews"value="Ajouter la news"> ) et de vérifier ensuite si celle ci existe :
 
if(isset($_POST["ajoutnews"])) {
}
 
Par contre, il faudrait addslasher tes entrées du formulaire.

Message cité 1 fois
Message édité par Surfoo le 28-07-2006 à 00:04:25
Reply

Marsh Posté le 28-07-2006 à 00:03:45    

fais un print_r($_POST); tu devrais vite trouver :)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 28-07-2006 à 11:46:55    

Surfoo a écrit :

addnews n'est pas une variable, c'est juste le nom du formulaire.
 
Ce que tu peux faire par exemple, c'est de donner une variable au bouton submit (<input type="submit" name="ajoutnews"value="Ajouter la news"> ) et de vérifier ensuite si celle ci existe :
 
if(isset($_POST["ajoutnews"])) {
}
 
Par contre, il faudrait addslasher tes entrées du formulaire.


 
Par contre comment on fait pour addslasher les entrées du formuliare?

Reply

Marsh Posté le 28-07-2006 à 11:51:17    

addslashes() est une fonction php ;)
stripslashes() est son contraire ;)
 
cf la doc sur le php ;)

Reply

Marsh Posté le 28-07-2006 à 12:07:56    

Je vais peut-être vous souler  :(  mais as marche toujours pas. J'ai mit le isset($_POST)  
et à la place de la fonction addslaches j'ai fait comme ceci: name=\"\" Voici le code:

Code :
  1. <p class="titreadmin">Ajouter une news:</p>
  2. <?
  3. echo "<form action=\"index.php?page=espacep&option=ad_addnews\" method=\"post\" name=\"addnews\" enctype=\"text/plain\">";
  4. echo "Date:<br>";
  5. echo "<input name=\"date\" type=\"text\" size=\"7\" maxlength=\"10\" value=\"00-00-0000\"><br><br>";
  6. echo "Titre:<br>";
  7. echo "<input name=\"titre\" type=\"text\" size=\"40\" maxlength=\"90\"><br><br>";
  8. echo "News:<br>";
  9. echo "<textarea name=\"texte\" rows=\"5\" cols=\"60\"></textarea><br><br>";
  10. echo "Auteur:<br>";
  11. echo "<input name=\"auteur\" type=\"text\" size=\"20\" maxlength=\"20\"><br><br>";
  12. echo "<input name=\"bouton\" type=\"submit\" value=\"Ajouter la news\">";
  13. echo "</form>";
  14. include "cnx.php";
  15. if(isset($_POST["bouton"]))
  16. {
  17. $date=$_POST["date"];
  18. $titre=$_POST["titre"];
  19. $texte=$_POST["texte"];
  20. $auteur=$_POST["auteur"];
  21. $query=("INSERT INTO news(date,titre,texte,auteur) VALUES('$date', '$titre', '$texte', '$auteur')" );
  22. $liste_query = mysql_query($query);
  23. }
  24. mysql_close()
  25. ?>


Message édité par 7CMG7 le 28-07-2006 à 12:08:16
Reply

Marsh Posté le 28-07-2006 à 12:09:51    

ça marche pas...


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 28-07-2006 à 12:11:27    

Sh@rdar a écrit :

ça marche pas...


 
Mais l'histiore du print_r j'ai chercher des docs et je vois pas trop comment
 sa marche et comment fcaut l'utiliser


Message édité par 7CMG7 le 28-07-2006 à 12:11:41
Reply

Marsh Posté le 28-07-2006 à 12:13:18    

tout ça nous aide beaucoup
 
si je te dis que ma voiture marche pas et que tu es garagiste, tu vas savoir la dépanner ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 28-07-2006 à 12:16:30    

Quand je met print_r il me met que les index suivants sont indéfinis:
 

Code :
  1. if(isset($_POST["bouton"]))
  2. {
  3. $date=$_POST["date"];
  4. $titre=$_POST["titre"];
  5. $texte=$_POST["texte"];
  6. $auteur=$_POST["auteur"];


 
 :(


Message édité par 7CMG7 le 28-07-2006 à 12:17:24
Reply

Marsh Posté le 28-07-2006 à 12:16:30   

Reply

Marsh Posté le 28-07-2006 à 12:24:17    

bon on va passer en mode neuneu, désolé je suis pas de bon poil [:spamafote]
 
tu fais un print_r($_POST); tout en haut de la page qui reçoit les infos donc celle indiquée dans le action="" de ton formulaire et tu fais un copier coller ici stp ;)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 28-07-2006 à 12:25:12    

comme déjà dis plus haut tu mets ton print_r($_POST); dans ton code avant ton if.
là il va t'afficher toutes les données qui sont dans la variable $_POST...
 
Si tu dis que les index sont indéfinis, c'est que dans ta variable $_POST elles n'aparraissent pas
 
grillée par Sh@rdar :D


Message édité par chani_t le 28-07-2006 à 12:26:03
Reply

Marsh Posté le 28-07-2006 à 12:28:23    

Sh@rdar a écrit :

bon on va passer en mode neuneu, désolé je suis pas de bon poil [:spamafote]
 
tu fais un print_r($_POST); tout en haut de la page qui reçoit les infos donc celle indiquée dans le action="" de ton formulaire et tu fais un copier coller ici stp ;)


 

Code :
  1. print_r($_POST);
  2. if(!empty($_POST["bouton"]))
  3. {
  4. $date=$_POST["date"];
  5. $titre=$_POST["titre"];
  6. $texte=$_POST["texte"];
  7. $auteur=$_POST["auteur"];
  8. $query=("INSERT INTO news(date,titre,texte,auteur) VALUES('$date', '$titre', '$texte', '$auteur')" );
  9. $liste_query = mysql_query($query);
  10. }
  11. mysql_close()
  12. ?>

Reply

Marsh Posté le 28-07-2006 à 12:30:27    

heu... faut exécuter le code pour pouvoir voir ce qui est renvoyé par ton formulaire...   :sweat:

Reply

Marsh Posté le 28-07-2006 à 12:30:42    

au secours !
 
print_r() affiche des infos, on s'en fout du code, je voudrais que mette ici les infos générées par cette magnifique fonction d'affichage de variable :o


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 28-07-2006 à 12:32:27    

Sh@rdar a écrit :

au secours !
 
print_r() affiche des infos, on s'en fout du code, je voudrais que mette ici les infos générées par cette magnifique fonction d'affichage de variable :o


 
On se calme, tu t'emportes là... Tu auras encore plus mal aux dents après.  :D  :D  
 
ça sert à rien. Le mec est un débutant complet. Envoyez le bouler du côté de phpdebutant ou autre site du genre. Il nous reviendra quand il aura fait les tutos de base par lesquels il doit obligatoirement passer de toutes manières.  :o  

Reply

Marsh Posté le 28-07-2006 à 12:37:19    

Hermes le Messager a écrit :

On se calme, tu t'emportes là... Tu auras encore plus mal aux dents après.  :D  :D  
 
ça sert à rien. Le mec est un débutant complet. Envoyez le bouler du côté de phpdebutant ou autre site du genre. Il nous reviendra quand il aura fait les tutos de base par lesquels il doit obligatoirement passer de toutes manières.  :o


 
POUR UN DEBUTANT JE MEN SORT PAS MAL!!!!!!!!!!!!
http://83.115.234.131/Site%20version%203
alors c'esta pas parce que je butte sur un truc que je suis un deumeré!
 ;)

Reply

Marsh Posté le 28-07-2006 à 12:40:37    

7CMG7 a écrit :

POUR UN DEBUTANT JE MEN SORT PAS MAL!!!!!!!!!!!!
http://83.115.234.131/Site%20version%203


 
C'est magnifique. [:petrus75]
 

Citation :

alors c'esta pas parce que je butte sur un truc que je suis un deumeré!


 
Un quoi ? ouvre ton dictionnaire, tu pourrais avoir une surprise...  :o  
 
Je ne fais pas le méchant avec toi, je te dis juste de faire quelques tutos indispensables pour ensuite pouvoir venir poser tes questions ici. ;)

Reply

Marsh Posté le 28-07-2006 à 12:42:18    


Ouai je comprend c'est juste que début juillet je ne mettrisait pas le php.  
Donc la au bout d'un mois non stop php  :pt1cable:  sa commence a être  
dure quand je bute sur quelque chose mais je vais regarder les tutos

Message cité 1 fois
Message édité par 7CMG7 le 28-07-2006 à 12:42:35
Reply

Marsh Posté le 28-07-2006 à 12:43:02    

en attendant ça avance pas des masses :o
 
plus simple encore
 
change la cible de ton formulaire vers une nouvelle page
 
dans cette nouvelle page tu mets UNIQUEMENT <?php print_r($_POST); ?>
 
et tu nous colle le résultat ici (après avoir cliqué dans ton navigateur :p )


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 28-07-2006 à 12:43:54    

7CMG7 a écrit :

Ouai je comprend c'est juste que début juillet je ne mettrisait pas le php.  
Donc la au bout d'un mois non stop php  :pt1cable:  sa commence a être  
dure quand je bute sur quelque chose mais je vais regarder les tutos


 
 
désolé d'être franc et direct mais on est fin juillet et tu maitrise pas plus (ça prendra du temps) :D
 
et comme dis la chanson de JL Aubert "c'est juste une illusion" [:cassebrik]


Message édité par Sh@rdar le 28-07-2006 à 12:44:18

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 28-07-2006 à 12:45:06    

... nous n'avons pas accés au news (à l'ajout) donc ton lien ne sert pas à grand chose si ce n'est à expliquer une autre de tes questions :D
 
va sur ta page de news, clique sur le bouton submit afin que le print_r soit exécuté et poste le résultat ;)

Reply

Marsh Posté le 28-07-2006 à 12:45:10    

Sh@rdar a écrit :

en attendant ça avance pas des masses :o
 
plus simple encore
 
change la cible de ton formulaire vers une nouvelle page
 
dans cette nouvelle page tu mets UNIQUEMENT <?php print_r($_POST); ?>
 
et tu nous colle le résultat ici (après avoir cliqué dans ton navigateur :p )


 
Quand je clique sur le bouton il m'affiche se résultat:
Array ( )  

Reply

Marsh Posté le 28-07-2006 à 12:46:32    

:pt1cable:
 
url, on pourra pas faire autrement là


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 28-07-2006 à 12:48:39    

Sh@rdar a écrit :

:pt1cable:
 
url, on pourra pas faire autrement là


 
http://83.115.234.131/Site%20version%203/test.php
 
o cas ou login test
             mdp 123
 
C'est dans espace privé et ajouter une news
 
Pour info au petit pirateur les identifiants seront changer dès la discussion fini  :D


Message édité par 7CMG7 le 28-07-2006 à 12:49:10
Reply

Marsh Posté le 28-07-2006 à 12:50:23    

vache c'est la quatrième dimension là :eek:
 
relis mon post :o
 
envois les données de ton formulaire vers cette nouvelle page, forcément qu'en faisant rien c'est vide :pfff:


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 28-07-2006 à 12:52:23    

Sh@rdar a écrit :

vache c'est la quatrième dimension là :eek:
 
relis mon post :o
 
envois les données de ton formulaire vers cette nouvelle page, forcément qu'en faisant rien c'est vide :pfff:


 
http://83.115.234.131/Site%20version%203/test.php

Reply

Marsh Posté le 28-07-2006 à 12:55:11    

Citation :


change la cible de ton formulaire vers une nouvelle page


 
change le action=".." pour que ça pointe vers test.php :o :o :o
 
dernier essai, après t'es bon pour te manger du lien et du RTFM


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 28-07-2006 à 12:56:45    

Sh@rdar a écrit :

Citation :


change la cible de ton formulaire vers une nouvelle page


 
change le action=".." pour que ça pointe vers test.php :o :o :o
 
dernier essai, après t'es bon pour te manger du lien et du RTFM


 
Parce que tu croit que  j'ai fait quoi depuis tout à l'heure?  :??:  
mon action=\"test.php\"

Reply

Marsh Posté le 28-07-2006 à 12:58:04    

Notice: Undefined index: addnews in f:\easyphp1-7\www\site version 3\test.php on line 1

Reply

Marsh Posté le 28-07-2006 à 12:59:35    

alors en fait le but du jeu c'est de soumettre cliquer sur le bouton du formulaire pour envoyer les infos
 
si le lien que tu donne nous amène pas sur le formulaire, il sert à rien
 
c'est clair que pour tester un formulaire c'est mieux de pouvoir le voir et que la page d'après on la veut bien mais seulement après avoir cliqué ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 28-07-2006 à 13:16:09    

Sh@rdar a écrit :

alors en fait le but du jeu c'est de soumettre cliquer sur le bouton du formulaire pour envoyer les infos
 
si le lien que tu donne nous amène pas sur le formulaire, il sert à rien
 
c'est clair que pour tester un formulaire c'est mieux de pouvoir le voir et que la page d'après on la veut bien mais seulement après avoir cliqué ?


 
Bah oui après avoir cliqué

Reply

Marsh Posté le 28-07-2006 à 13:18:29    

avoir cliqué sur ce bouton là :o
 
echo "<input name=\"bouton\" type=\"submit\" value=\"Ajouter la news\">";
 
comment tu veux envoyer les données autrement ?????????
 
dans le lien que tu donne y'a un bouton ? je l'ai pas vu et j'ai pas cliqué dessus :o


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 28-07-2006 à 13:18:34    

tu as mis quoi dans ton test.php ?

Reply

Marsh Posté le 28-07-2006 à 13:19:20    

Sh@rdar a écrit :

avoir cliqué sur ce bouton là :o
 
echo "<input name=\"bouton\" type=\"submit\" value=\"Ajouter la news\">";
 
comment tu veux envoyer les données autrement ?????????
 
dans le lien que tu donne y'a un bouton ? je l'ai pas vu et j'ai pas cliqué dessus :o


 
 
http://83.115.234.131/Site%20versi [...] ad_addnews ;)

Reply

Marsh Posté le 28-07-2006 à 13:19:47    

chani_t a écrit :

tu as mis quoi dans ton test.php ?


 
<?php print_r($_POST["addnews"]); ?>

Reply

Marsh Posté le 28-07-2006 à 13:21:49    

Citation :


dans cette nouvelle page tu mets UNIQUEMENT <?php print_r($_POST); ?>

Message cité 1 fois
Message édité par Sh@rdar le 28-07-2006 à 13:22:24

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 28-07-2006 à 13:24:05    

Sh@rdar a écrit :

Citation :


dans cette nouvelle page tu mets UNIQUEMENT <?php print_r($_POST); ?>



 
bah c'est ce que j'ai fait au début mais je me suis fait traiter parce que c'était pas bon alors faudrai savoir

Reply

Marsh Posté le 28-07-2006 à 13:24:09    


 
 
ah mais on va finir par y arriver c'est sur :D


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 28-07-2006 à 13:26:02    

Sh@rdar a écrit :

ah mais on va finir par y arriver c'est sur :D


 
lol.... un peu d'indulgence ;) (et beaucoup de patience :D)
 
en effet ça te renvois rien.. doit y avoir un schmil au niveau de ton formulaire

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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