impossible d'incrementer la BdD avec le formulaire !

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : impossible d'incrementer la BdD avec le formulaire !

par freebug » 15 juin 2005, 11:54

et ca marche avec une variable de type date ?

par smarties » 15 juin 2005, 08:42

Si tu veux mettre la date actuelle sur le serveur untilise NOW() dans VALUES :
$sql3 = "INSERT INTO utiliser(num_imprimante,reference,date,quantite,service) VALUES('$imp', '$cart', NOW(), '$quantite', '$bureau')";

par freebug » 15 juin 2005, 08:37

Encore une fois merci un autre probleme de regle :)

par robined » 14 juin 2005, 15:58

oui, tu peux les inverser a ta guise...

pour te documenter, http://www.nexen.net/docs/php/annotee/function.date.php

par freebug » 14 juin 2005, 14:50

donc il faut que j ecrive :

$sql3 = "INSERT INTO utiliser(num_imprimante,reference,date,quantite,service) VALUES('$imp','$cart',date('d/m/Y'),'$quantite','$bureau')";

mais mon champs date faut que je le declare en date ou datetime parceque ca marche pas la.

(ps: est ce que l on peut inverser les ('d/m/y') car le format date semble prendre l annee en premier et ecrire ('y/m/d'))

par robined » 14 juin 2005, 13:15

pour la date systeme, utilise date('d/m/Y').

par freebug » 14 juin 2005, 13:12

ra la la tu es un chef !!!!
Merci beaucoup et a tous , car la je commencais vraiment a deseperer ca faisait pres d'une semaine que je me tapais tous les tutoriaux et la en une matinée sur un forum c est reglé.

Donc voila je dit un GRAND GRAND merci a tous.

Sinon je me permet une derniere question je voudrait aussi inserer dans ma requete:
$sql3 = "INSERT INTO utiliser(num_imprimante,reference,ICI, quantite,service) VALUES('$imp','$cart','$quantite','$bureau'";

la date du jours sachant que dans ma table je l ai declare en datetime et je voulais savoir s il existait une fonction qui gere ca toute seule enfin qui est deja en valeur, la date systeme.

merci

par robined » 14 juin 2005, 12:47

autant pour moi, remplace le $cart par $cart[reference] et $imp par $imp[num_imprimante] dans ta requete d'insertion et ca devrait fonctionner.

par Invité » 14 juin 2005, 12:43

YOUHOU je suis vachement heureux ca incremente ma base :D

seulement persiste encore un probleme c est que les variables $cart et $ imp sont egal a 'array' donc dans ma table utiliser il y a bien tout les champs de repli sauf que les champs num_imprimante et reference sont egal a array

bon on s approche du but je suppose que c est seulement un petit probeme mais qq un sait t il ce que sait ? :)

par robined » 14 juin 2005, 12:16

as tu essayé ce que je viens de te donner cela devrait résoudre ton probleme.

par Invité » 14 juin 2005, 12:07

merci pour la faute dorthographe c est pas mon fort :)

Donc je m explique je recupere de la part de l utilisateur la valeur du nom de l imprimante (imprimante) et le nom de la cartouche (catouche) or dans ma table utilisée qui en fait me servira a gerer les stocks en me disant qu elle service a pris quel cartouche et en quel quantite, la cle primaire est une concatenation de reference( la reference de la cartouche) et de num imprimante (le numero de l imprimante).
Donc il me faut une requete sur la table cartouche pour recuperer sa reference par rapport a son libelle et de meme sur la table imprimante pour recuperer son numero par rapport a son nom.

par robined » 14 juin 2005, 11:59

c'est ce que je te disais juste avant, faut faire un mysql_fetch_array() de res1 et res2 que tu mets dans une variable et c'est c'est variables que tu inseres.

ca donne:

Code : Tout sélectionner

$sql1 = "SELECT num_imprimante FROM imprimante where imprimante='$imprimante'"; $res1 = mysql_query($sql1); $imp=mysql_fetch_array($res1); $sql2 = "SELECT reference FROM cartouche where libelle='$cartouche'"; $res2 = mysql_query($sql2); $cart=mysql_fetch_array($res2); $sql3 = "INSERT INTO utiliser(num_imprimante,reference,quantite,service) VALUES('$imp','$cart','$quantite','$bureau'"; mysql_query($sql3);

par robined » 14 juin 2005, 11:56

il y a un truc qui est bizarre, a quoi te servent les 2 requetes sur imprimante et cartouches si tu te sert pas du resultat?

Comme tu fais ici, c'est les valeurs de ton formulaire (ex: ruban) que tu inseres et non la référence correspondant (à ruban).

si tu as cadré les valuers d'insertion possibles, le probleme peut venir de la.

PS: il faut ecrire insertion reussie et non reussit.

par freebug » 14 juin 2005, 11:55

ou la la si le message a change , je sais pas s il faut crier au bonheur ou quoi mais sa a changer.

maintenant j ai le message "Duplicata du champ 'Res-Resource id #6' pour la clef 1" qui apparait .
Donc je suppose que c est en rapport avec le (or die) que j ai mis a la premiere requete, est ce que quelqu'un peu me dire ce que l on cherche a me faire comprendre par ce message ^o)

par seayoung » 14 juin 2005, 11:45

essaye juste pour voir, normalement ca change rien sauf que ton code sera plus propre ;) hey crois moi c'est pas rien Cyrano peut te le dire rien ne vaut un code propre :roll:
$sql1 = "SELECT num_imprimante FROM imprimante where imprimante='".$imprimante."'";