Besoin d'aide en php&html pour un formulaire

Fermé
jacroub - 28 oct. 2009 à 09:48
 jacroub - 30 oct. 2009 à 13:11
Bonjour à tout le monde,

Je viens de commencer mon bts IRIS en alternance et je débute en programation.
Lors de mon aprentissage en entreprise, on me demande de créer une feuille de saisie pour ensuite envoyer mes informations dans une base mais mon maitre d'aprentissage est en vacance et je dois me debrouiller seul...

Je n'arrive pas envoyer mes informations dans ma base, je pensais que c'était a cause de ma method "get" ou "post" mais rien ne change, pourriez vous m'aider à débloquer ma situation parce que là ça fait 3jours que je cherche.
Quand je fais un print de la requete j'ai rien du tout à part la date. Il doit y avoir un truc que moi je ne vois pas

CODE DE LA SAISIE HTML & PHP (.php)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Adoucisseur</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />

<script language="JavaScript">

//controle la saisie PAS DE CARACTERE
function chiffres(event) {

// Compatibilité IE / Firefox
if(event.keyCode < 48 || event.keyCode > 57) {
event.returnValue = false;
event.cancelBubble = true;
}
// DOM
if(event.which < 48 || event.which > 57) {
event.preventDefault();
event.stopPropagation();
}
}

// ------------->>> AVEC FONCTION CHARGEMENT ON PEUT ECRIRE DES CARACTERES QUAND MEME BIZAR ???
function chargement()
{
cpteau=document.getElementById('cpteau').value;
bac=document.getElementById('bac').value;
bidon=document.getElementById('bidon').value;
reglage=document.getElementById('reglage').value;
sela=document.getElementById('sela').value;
selb=document.getElementById('selb').value;
service=document.getElementById('service').value;
coms=document.getElementById('coms').value;
window.open("traitement.php?cpteau="+cpteau+"&bac="+bac+"&bidon="+bidon+"®lage="+reglage+"&sela="+sela+"&selb="+selb+"&service="+servce+"&coms="+coms,"",'resizable=yes, location=no, menubar=yes, status=no, scrollbars=auto, menubar=NO, scrollbars=auto');

</script>
</head>

<body>
<form method="get" action="traitement.php" >
<div id="saisie" class="saisie">
<fieldset>
<legend> <h1>Relevés du <?php print(date("d-m-Y"));?><h1/> </legend>

<table>
<tr height='40px'>
<td colspan="4" align="center"> <hr> </td>
</tr>
<tr >
<td> Compteur d'eau </td>
<td> <input type="text" class='cpt' id="cpteau" onkeypress="chiffres(event)" value="" > </td>
</tr>
<tr height='40px'>
<td> Niveau bac </td>
<td> <input type="text" class='bac' id="bac" onkeypress="chiffres(event)" value="" > </td>
</tr>
<tr height='40px'>
<td> Bidon versé </td>
<td> <input type="text" class='bidon' id="bidon" onkeypress="chiffres(event)" value="" > </td>
</tr>
<tr height='40px'>
<td> Réglage pompe doseuse </td>
<td> <input type="text" class='reglage' id="reglage" value="" > </td>
</tr>
<tr height='40px'>
<td> Quantité de sel A </td>
<td> <input type="text" class='sela' id="sela" onkeypress="chiffres(event)" value="" > </td>
</tr>
<tr height='40px'>
<td> Quantité de sel B </td>
<td> <input type="text" class='selb' id="selb" onkeypress="chiffres(event)" value="" > </td>
</tr>
<tr height='40px'>
<td> En service </td>
<td> <input type="text" class='service' id="service" value="" > </td>
</tr>
<tr height='40px'>
<td> Commentaire </td>
<td> <textarea type="text" class='coms' id="coms" rows="3" cols="20" value="" > </textarea> </td>
</tr>
<tr height='40px'>
<td colspan="4" align="center"> <hr> </td>
</tr>
<tr height='40px'>
<td> <input id="OK" type="submit" value="OK" /> </td>
</tr>

</table>

</fieldset>
</div>
</form>
</body>
</html>

CODE TRAITEMENT.PHP

<?php

$nrj="nrj";

$datej=date("Y-m-d");

$cpteau=$_GET['cpteau'];
$bac=$_GET['bac'];
$bidon=$_GET['bidon'];
$reglage=$_GET['reglage'];
$sela=$_GET['sela'];
$selb=$_GET['selb'];
$service=$_GET['service'];
$coms=$_GET['coms'];


$connection = mysql_connect("localhost","test","test");
if ( ! $connection )
die ("connection impossible".mysql_error());
mysql_select_db($nrj) or die("Impossible de trouver la base !".mysql_error());

$requete = "INSERT INTO adoucisseur (datej,cpteau,bac,bidon,reglage,sela,selb,service,coms)";
$requete.= "VALUES('$datej','$cpteau','$bac','$bidon','$reglage','$sela','$selb','$service','$coms')";
mysql_query($requete);
print("$requete"); // JE N'OBTIENS RIEN DANS MA REQUETE POURQUOI ???

mysql_close($connection);
print("les informations ont bien été envoyé.");
?>

Je vous remerci d'avance, c'est vraiment gentil d'avoir lu jusqu'au bout, même si mon code est lourd
Dans l'attente mille merci

PS: désolé pour les fautes j'ai essayé de faire de mon mieu.
A voir également:

6 réponses

bonjour,
Pour commencer sache que je suis aussi débutant que toi...
En lisant j'ai vu quelque petit truc mais bon c'est juste des suggestions :

-> onkeypress() alors je c pas si sa fonctione mais ya aussi onclick()
-> dans ton code javascript tu ne met pas "var" pour declarer tes variables.
-> enleve aussi le mysql_close() on en a pas vraiment besoin a ce qu'on ma dit et sa fait bugger ton code.

Toute ces infos sont a tester je n'assure rien et suis désolé de ne pas pouvoir t'aider d'avantage.
0
Je te remerci quand meme pour ces renseignements mais ça ne solutionne pas mon probleme,

- onkeypress() c'est pour ne pas pouvoir ecrire des caracteres, onclick() serai inaproprié ici je pense enfin dite moi si je me trompe surtout.
- concernant la déclaration des variables en javascript il faut les declarer (avec "var") tu es sur?
-pour mysql_close() ok je l'enlève alors.

Si quelqu'un a des suggestions, n'hésiter pas je suis vraiment bloqué là.
merci à tous
0
Pour le print de ma requete j'obtiens ça:
" INSERT INTO adoucisseur (datej,cpteau,bac,bidon,reglage,sela,selb,service,coms)VALUES('2009-10-28','','','','','','','','')
les informations ont bien été envoyé "
Je mets des valeurs mais j'obtiens des zéro dans ma BDD et rien dans print("$requete")
Quelqu'un peut m'aider?
0
Bonjour

Ton script chargement n'est jamais appelé. C'est donc un envoi de formulaire classique. Ce sont donc les propriétés "name" de tes champs de formulaire qui sont utilisées, et il n'y en a pas...
corrige tes champs :
<input type="text" class='cpt' id="cpteau" name="cpteau" onkeypress="chiffres(event)" value="" >

le mysql_close($connection); à la fin n'est pas indispensable mais ne fait pas de mal
utilise le mot var pour déclarer des variables locales dans tes fonctions, sinon elles sont globales et ça peut être dangereux.
0
le pere dit: "utilise le mot var pour déclarer des variables locales dans tes fonctions, sinon elles sont globales et ça peut être dangereux."
Comment utiliser le mot var pour déclarer mes variables? et en quoi ça peut etre dangereux?

merci pour vos reponses
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nabil07 Messages postés 140 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 10 avril 2014 64
28 oct. 2009 à 15:10
Bonjour,

voila mon amis , ton code est parfait sauf quelques erreurs de frape qu'ont gainé le déroulement de ce code.

window.open("traitement.php?cpteau="+cpteau+"&bac="+bac+"&bidon="+bidon+"&reglage="+reglage+"&sela="+sela+"&selb="+selb+"&service="+servce+"&coms="+coms,"",'resizable=yes, location=no, menubar=yes, status=no, scrollbars=auto, menubar=NO, scrollbars=auto'); 


la variable service ----> servce , elle manque le i;


et pour aller à la page traitement.php, il faut ajouter la fonction changement() lors du clic sur le bouton, pour avoir ce qui suit :
<input id="OK" type="submit" value="OK" onClick="changement()">



et bon courage.

Cordialement.
0
Merci a tous mes informations sont bien envoyer dans ma base.

Mais pourquoi je peux écrire des caractère quand même??
Si j'enlève ma fonction chargement ça remarche mais quand je la remets les caracteres peuvent être écris.
0
Peut-être parce qu'il manque une } à la fin de ta fonction chargement. Du coup, tout ton javascript est ignoré
0
merci a vous et au forum, c'est super l'entraide ici vraiment génial
MERCI ENCOREEE
A+
0