Lien formulaire/bdd mysql [Résolu]

Signaler
Messages postés
165
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
28 novembre 2009
-
Messages postés
165
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
28 novembre 2009
-
Bonjour a tous !!
Mon problème est le suivant:
J'ai un formulaire html avec des saisie possibles ( je fait dans un premier temps un controle de saise javascript ), ensuite je souhaite alimenter ma table avec les données saisies, le problème est que lorsque que je click sur mon submit "valider", mes saisie ne sont pas inserer dans ma base ( je précise que j'ai déjà réussi a résoudre ce problème dans une autre application et lorsque je compare les deux codes tout est bon, je ne voit aucune différence ). voici le code de ma page html qui appel ma page php ainsi que mon code php qui doit faire le lien avec ma bdd.

// appel de ma page php
<form name="form" method="post" action="Enregistrement.php" onsubmit="return valider();" >

//code de ma page php
<html>
<head>
<title>Enregistrement</title>
</head>

<?php
$connexion = mysql_connect("localhost","","");
if ($connexion)
{
//CONNEXION REUSSIE
mysql_select_connexion("incidents_editiques",$connexion);

//Allocation des variables
$NumEmploye=addslashes($_POST["NumEmploye"]);
$Nom=addslashes($_POST["Nom"]);
$Prenom=addslashes($_POST["Prenom"]);
$Fonction=($_POST["Fonction"]);

//REQUETE
$requete="insert into Employer values ('".$NumEmploye."','".$Nom."','".$Prenom."','".$Fonction."');";
$ok = mysql_query($requete,$connexion);
if($ok)
{
echo 'Youpi';
}
else
{
echo 'L\'Utilisateur rentré éxiste déjà !!';
}
mysql_close($connexion);
}
else
{
echo 'Problème à la connexion';
}
?>

</html>


quelqu'un peut-il me dire pourquoi l'insertion ne se fait pas?
ps: ma bas est stockées dans wampserveur 1.4 ( je suis en entreprise et obliger d'utiliser wampserver ).

172 réponses

Messages postés
165
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
28 novembre 2009

Dans ton " if (isset($_POST['ajouter'])) ", déjà le isset sa veut dire quoi? j'ai pas trop saisi lhistoire de "" ou null enfin j'ai pas trop saisi le truc
et aussi ton ajouter, sa correspont a l'id de ton submit nn?
Messages postés
104
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
20 février 2009

Salut ..

Oui alors en effet ajouter correspond au name du bouton submit .. Bien vu ..

if (isset($_POST['ajouter'])) signifie...

Si j'ai appuyer sur le bouton qui à pour nom "ajouter", donc ton bouton submit, ensuite entre les acolade
{

}
 
Tu écrit ce que tu veu qu'il fasse, en l'occurence ici, tu mettra ta requete SQL INSERT ...

ensuite j'ai mis "else" qui qignifie "sinon"
et toujours entre acolade, tu écirt ce que tu veux qu'il fasse, en locurrence tu metx le formulaire ...

Ta compris le truc ???

Ou c'est que je t'ai parlé de "" ou null ???

Voila et pour la requete je me suis trompé, enleve les guillemet et les points comme je tavé dit ...

Liasse juste les simples quotes ..

[ 'Tu trouveras toujours plus fort que toi' ]
Messages postés
165
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
28 novembre 2009

c'est bon jte remerci j'ai reussis a inserer un employer dans ma table, sa fonctionne enfin merci.

maintenant jvai gerer la midification ou la suppression d'un employer

merci pour l'aide
Messages postés
104
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
20 février 2009

De rien, chui content k'sa marche :)

Si ta un souci hésite pas .. Y me reste une semaine de stage apré jseré plus là lool !!!

Mais si tu comprends ske ta fé c impeccable ..

[ 'Tu trouveras toujours plus fort que toi' ]
Messages postés
165
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
28 novembre 2009

J'ai un pti probleme sur la modification d'un matérielvoisci comment fonctionne mon formulaire, j'ai une liste dé"roulant qui contient mes code de materiaux, lorsqu'on saisi un materiel sa alimente les champs de mon formulaire, puis enfin j'ai un bouton submit (modifier) qui après avoir fait les modification souhaiter les enregistre dans ma base.

mon probleme sur ce formulaire est que au lieu de modifier lors de l'appui sur mon bouton submit, il modifit lors de mon choix dans ma liste deroulante

==========================mon formulaire===============================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<?php
require_once('../connexion/connexion.php');
mysql_select_db($database,$db);
//déclaration requete sql pour liste déroulante
$liste=mysql_query("SELECT CodeMateriel FROM materiel order by 1");

//oncrée la requete
//on envoie la requete

$num="";
if ($_POST['lstcode'] != "")
{
$num=$_POST['lstcode'];
}
else
{
if (isset($_GET['num']))
{
$num = $_GET['num'];
$num = stripslashes('num');
}
}
if ($num != "")
{
$sql = "SELECT * FROM materiel WHERE CodeMateriel='".$num."'";
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$data = mysql_fetch_array($req);//on ferme la connexion a mysql mysql_close()
}
if ($_POST['lstcode'] != "")
{
$num = $_POST['lstcode'];
$sql = "SELECT * FROM materiel WHERE CodeMateriel='".$num."'";
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$data = mysql_fetch_array($req);//on ferme la connexion a mysql mysql_close()
}
else
{
if (isset($_GET['num']))
{
$num = $_GET['num'];
$num = stripslashes('num');
$sql = "SELECT * FROM materiel WHERE CodeMateriel='".$num."'";
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$data = mysql_fetch_array($req);//on ferme la connexion a mysql mysql_close()
}
}
?>
<title>Modification d'un matériel</title>
<meta http-equiv="Content-Type" content="text/html" />
<meta http-equiv="Content-ScriptType" content="text/javascript" />
<script type="text/javascript">
//<![CDATA[
function modifier()
{
var res
var valid = true;
//------------------------CodeMateriel-------------------------
if ( document.form.ldnCodeMateriel.value == "" )
{
res = ("Le code du matériel doit être renseigné !!"+"\n");
valid = false;
}
//----------------------------ldnNom----------------------------
if ( document.form.ldnNom.value == "" )
{
res += ("Le nom du matériel doit être renseigné !!"+"\n");
valid = false;
}
//----------------------------ldnTyp----------------------------
if (document.form.ldnTyp.value == "" )
{
res += ("Le type du matériel doit être renseigné !!"+"\n");
valid = false;
}
//----------------------------alert----------------------------
if ( valid == true )
{
alert("Félicitation, enregistrement réussi !!");
}
else
{
alert(res);
}
return valid;
}
//]]>
</script>
</head>

,
<center>Gestion des incidents éditiques
</center>



<hr color='#01796F'/>
<hr color='#01796F'/>
<form name="form" method="post" onsubmit="return modifier();" action="../connexion/ModificationMateriel.php";>

Modification d'un matériel


<hr/ color='#01796F'>

Formulaire de recherche :


Matériel rechercher :
<?php
echo '<SELECT name ="lstcode" onChange="this.form.submit();">'."\n";
echo '<option value="'.$num.'"selected>'.$num;
while ($ligne=mysql_fetch_row($liste))
{
echo'<option value="'.$ligne[0].'">'.$ligne[0];
echo'</option>'."\n";
}
echo'</select>'."\n";
?>
<center>
<small>Code matériel :</small>,
<small>"></small>,
<small></small>,

----

<small>Nom :</small>,
<small>"></small>,
<small></small>,

----

<small>Type :</small>,
<small>"></small>,
<small></small>



</center>


<hr color='#01796F'/>


<center>
<center></center>

</center>








<center>
[Acceuil.html Retour au menu]
</center>
</form>

</html>

========================voici mon .php (requete)=============================
<?php
require_once('connexion.php');
if ($db)
{
mysql_select_db($database,$db);

//allocation des variables
$codechoisi=$_POST['lstcode'];
$code=$_POST['ldnCodeMateriel'];
$nom=$_POST['ldnNom'];
$type=$_POST['ldnTyp'];

$query = "UPDATE materiel SET CodeMateriel='".$code."',Nom='".$nom."',Type='".$type."' WHERE CodeMateriel='".$codechoisi."'";
$result = mysql_query($query);
echo'Le matériel souhaiter a bien été modifier !!';
}
else
{
echo'Problème à la connexion';
}
?>
Messages postés
104
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
20 février 2009

if ($db)

{

mysql_select_db($database,$db);

 

c koi $db ????

[ 'Tu trouveras toujours plus fort que toi' ]
Messages postés
165
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
28 novembre 2009

voici mon connexion.php
tu verra ce qu'est $db

<?php
//paramètres de la connexion
$hostname = "localhost"; //nom du serveur
$database = "incidents_editiques"; //nom de la base de données
$username = "root"; //nom d'utilisateur
$password = ""; //mot de passe
$db = mysql_connect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
?>
Messages postés
104
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
20 février 2009

Salut ok .. Bah c pas mal ske ta fais, mais faut que jte dise un ptit truc ..

Je vois que t'as fais plusieur fois la meme requete ... c'est à dire :

si (ça = ça)
{
  faire requete 1
}
sinon
 {
    si (ço = ço)
    {
       faire requete 1
     }
 }

Bon tu sais que tu peux faire ca :

si ((ça=ça) OU ((ço=ço)) //Le OU tu le traduit en PHP par || ou bien par OR
{
    faire requete 1
}

Ou sinon tu peux aussi faire:

si ((ça=ça) ET ((ço=ço)) Le ET tu le traduite en php par && ou bien par AND

{

    faire requete 1

}

Et derniere petite chose tu peux aussi faire :

if (.......)
{
  ...
}
elseif (........)
{
  ....
}

Toi tu fesais un "else" et tu refaisai un "if" ...

Bon voila skil y avait à réparé koté syntaxe.. maintenant dans ton code c normal que ca fonctionné pas..

Déja tu as oublier de mettre un "name" à ton bouton submit ... Tu peux mettre name="modifier"

Et ensuite pour le php ta fé ce kil falé, c'est à dire, affecter les zones de texte à des variables et ta fais la bonne requete, sauf que tu ne l'as pas dit à quel moment réalisé la requete ... Tu dois mettre ..

if ($_POST['modifier'])
{
    require_once('connexion.php');

    if ($db)

   {

   mysql_select_db($database,$db);

   //allocation des variables

   $codechoisi=$_POST['lstcode'];

   $code=$_POST['ldnCodeMateriel'];

   $nom=$_POST['ldnNom'];

   $type=$_POST['ldnTyp'];

   $query = "UPDATE materiel SET CodeMateriel='$code ', Nom='$nom' , Type='$type' WHERE CodeMateriel='$codechoisi';";
   $result = mysql_query($query);

   echo 'Le matériel souhaiter a bien été modifier !!';

   }

   else

   {

   echo'Problème à la connexion';

   }

}

Voila et j'ai enlevé dans ta requete SQL les guillemets et les points.. Tu dois tout mettre entre de simples quotes c tout !!!

Voila je pense que j'tai dit pas mal de truc, si ta des kestion hésite pas ..

++
[ 'Tu trouveras toujours plus fort que toi' ]
Messages postés
165
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
28 novembre 2009

ok je te remercis pour ta réponse une nouvelle fois precieuse ^^
toutefois j'ai encore un leger probleme avec ma liste deroulant ( surement dut au onChange="this.form.submit()) car comme l'indique ce bout de code, elle execute mon submit sur changement hors moi ske j veu c'est qu'elle aliment mes champs de mon formulaire
Messages postés
104
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
20 février 2009

Ah tu veux ke lorsque tu choisissent un champs dans ta liste déroulante, ben tous les autre champs se remplissent c ca ???

Ben ca je sais pas si je sais faire, mais jpeux essayer ..

Di moi dabord si c bien ca okm ca jme lance pas dans un truc de fou pr rien lool!!

[ 'Tu trouveras toujours plus fort que toi' ]
Messages postés
165
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
28 novembre 2009

oui voila c'est sa losque je selectionne une valeur de ma liste deroulante, cela doit remplir automatiquement mon formulaire. je te remercis
Messages postés
165
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
28 novembre 2009

enfete sa j'ai reussi a le faire sur ce formulaire la ùmais lorsaue je rajoute ma partie javascript cela ne fonctionne plus
Messages postés
104
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
20 février 2009

Ah ok t'as déja réussi a faire que lorsque tu choisi, la liste déroulante tous les autre champs se remplissent ???

Ta fonction javascript te sert a koi ??

[ 'Tu trouveras toujours plus fort que toi' ]
Messages postés
165
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
28 novembre 2009

je suis sur un formulaire de modification donc ma fonction javascript me sert a contoler la syntaxe des mofication car il ne faut pas que l'utilisateur modifit nimorte comment il faut donc que je controle la syntaxe
Messages postés
104
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
20 février 2009

C'est à dire ?? poru toi controler c koi ???

Il faut pas k'il entre des lettres si il faut mettre que des chiffres ?? c ca ???

Ensuite ??

Donne moi tous les truc ke controle ta fonction JS...

[ 'Tu trouveras toujours plus fort que toi' ]
Messages postés
165
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
28 novembre 2009

et bien enfete ma fonction javascript pour ce formulaire la controle simplement si les champs sont renseigner et si mon code materiel etst bien composer de 5 lettres et rien d'autre ni plus ni moin
Messages postés
104
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
20 février 2009

Ben déja si tu veux vérifier à ce kil n'entre maximum 5 caractere g un ptit code très simple pr toi ;) !!!

Et pui euh pour vérifier si les champs sont remplis g un ptit code oci si tu veux, si le tien ne marche pas ...

[ 'Tu trouveras toujours plus fort que toi' ]
Messages postés
165
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
28 novembre 2009

non jte remerci mais pour sa j'ai ce qu'il faut mon probleme est que lorsque je fait un choix dans ma liste deroulante (click) ai lieu d'alimenter les champs de mon formulaire il execute mon submit.
Messages postés
104
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
20 février 2009

Ben comment ca il execute ton submit ??

C koi ton submit ??? Il fait koi encore ???

Ben je pense que c en rapport dans une de tes conditions if..

Tu dois surment avoir un :
if (tous_tes_champs_sont_rempli)
{
executer le submit
}

or tu dois mettre :
if (tous_tes_champs_sont_rempli et qu'on à appuyer sur le bouton submit)

{

executer le submit

}

Je pense que c ca, là jdoi y alé je revien demain.. Si ca marche pas post moi le code et jrearderai demain matin ;)

A++
[ 'Tu trouveras toujours plus fort que toi' ]
Messages postés
165
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
28 novembre 2009

ok tu sais jvai te filer le script de ma bdd, mon formulaire ainsi que mes script me permettant la liaison a ma base. comme sa tu pourra voir par toi meme ce qu'il ce passe je t'acherais de t'envoyer sa ce soir sur ton adresse hotmail sinon je t'enverrais sa ici demain. merci bonne soirée.