problème des valeurs affectées au var de mon code PHP

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
zak
Arias
Messages : 7
Inscription : 14 juil. 2014, 11:55

problème des valeurs affectées au var de mon code PHP

Message par zak »

Bonjour à tous,
je suis débutant en php j'essais de réaliser une application de gestion de stock. Ma base de données posséde 5 tables:
Client(id_c, nom_c, prenom_c,adresse,num_tel,nbr_reservation,val_credit) Produit(id_pro,nom_pro,date_enreg,qt_enreg) stock(id_s,qt_glob) fournisseur(id_f,nom_f) sortie_pro(id_c,id_p,date_achat)
Mon problème c'est que quand je veux enregistrer un nouveau client les 2 permières colonne(id_c,id_p) de ma table sortie_pro ne reçoivent aucune valeur et donc dans ma table Mysql leur valeur égale à 0 :( voici le code :
try
$connect = new PDO('mysql:host=localhost;dbname=ntsoft', 'root', '');
if (isset($_POST['nom_c']) and isset($_POST['prenom_c']) and isset($_POST['adresse']) and isset($_POST['num_tel'])
and isset($_POST['nbr_reservation']) and isset($_POST['vent']) and isset($_POST['prod_ach']) and isset($_POST['qt']) and isset($_POST['val_credit']))

$nom = $_POST["nom_c"];
$prenom = $_POST["prenom_c"];
$tel = $_POST["num_tel"];
$adress = $_POST["adresse"];
$nbr_res = $_POST["nbr_reservation"];
$val_cre = $_POST["val_credit"];
$ven = $_POST['vent'];
$p = $_POST['prod_ach'];
$qt = $_POST['qt'];

$sql = $connect->query("INSERT INTO client VALUES('','$nom', '$prenom' , '$adress', '$tel' ,'$nbr_res','$val_cre')");

$z = $connect->query("SELECT id_pro FROM produit WHERE nom_pro=".$p);

$req2 = $connect->query("UPDATE produit SET qt_enreg =qt_enreg-'$qt' WHERE id_pro='$z'") or die(print_r($connect->errorInfo()));

$req = $connect->query("UPDATE stock SET qt_glob=qt_glob-".$qt) or die(print_r($connect->errorInfo()));

$y = $connect->query("SELECT id_c FROM client WHERE nom_c=".$nom) or die(print_r($connect->errorInfo()));

$z = $connect->query("SELECT id_pro FROM produit WHERE nom_pro=".$p) or die(print_r($connect->errorInfo()));;

$req1 = $connect->query("INSERT INTO sortie_prod VALUES('$y','$z','$ven')") or die(print_r($connect->errorInfo()));;

}

catch(Exception $e){echo'Erreur : '.$e->getMessage();}
?>
Votre Navigateur : Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 OPR/22.0.1471.70
Asumbaa
Tyrannosaurus Rex
Messages : 2411
Inscription : 08 déc. 2004, 20:07

Re: problème des valeurs affectées au var de mon code PHP

Message par Asumbaa »

Salut,

À vue de nez, il te faut simplement entourer tes valeurs par des quotes dans tes requêtes de récupération :

Code : Tout sélectionner

$z = $connect->query("SELECT id_pro FROM produit WHERE nom_pro='".$p."'");
Quelques remarques tout de même :
- en l'état ton code est vulnérable aux injections SQL
- tu peux faire plus simple et plus fiable en récupérant l'id du client via last_insert_id (puisque tu es en PDO)
- je n'ai pas ton formulaire sous le nez, mais je pense qu'il serait plus efficace d'y mettre une liste des produits existants (un select) et du coup, tu passes directement l'id du produit dans les données.
Votre Navigateur : Mozilla/5.0 (X11; Linux i686; rv:21.0) Gecko/20100101 Firefox/21.0
zak
Arias
Messages : 7
Inscription : 14 juil. 2014, 11:55

Re: problème des valeurs affectées au var de mon code PHP

Message par zak »

Mercii pour tes conseils :D
Votre Navigateur : Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 OPR/22.0.1471.70
zak
Arias
Messages : 7
Inscription : 14 juil. 2014, 11:55

Re: problème des valeurs affectées au var de mon code PHP

Message par zak »

Une autre question SVP, comment je pourrai passer une valeur retournée à partir d'un script JS dans ma page php ?! L'idée c'est que quand le client clique sur compt client on lui fournit un prompt qui demande son id et à partir de cet id que je fasse un select pour récupérer les informations de ce client. voici mon code :
<html>
<head>
<meta charset="UTF-8">
<link rel = " stylesheet " href = " page principale.css " />
<title>Welcome</title>
</head>
<body>
<ul>
<li><a href="#">Accueil</a></li>

<li><a href="#">Espace client</a>
<ul class="sousMenu">
<li><a href="client/compte client.php" id="id_client" onclick="retourner();">Compte client</a></li>
<script type="text/javascript" language="javascript">
function retourner(){var Varid = prompt("Quel est votre id ?");} </script>
<li><a href="client/listeclients.php">Nos clients</a></li>
<li><a href="client/nouveau client.html">Nouveau client</a></li>
</ul>
</li>
</ul>
Votre Navigateur : Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 OPR/22.0.1471.70
Asumbaa
Tyrannosaurus Rex
Messages : 2411
Inscription : 08 déc. 2004, 20:07

Re: problème des valeurs affectées au var de mon code PHP

Message par Asumbaa »

Salut,

Pour cela il te faudra de l'Ajax. C'est pas le plus simple pour débuter, mais tu trouveras moult tutoriels sur le Web.
Votre Navigateur : Mozilla/5.0 (X11; Linux i686; rv:21.0) Gecko/20100101 Firefox/21.0
zak
Arias
Messages : 7
Inscription : 14 juil. 2014, 11:55

Re: problème des valeurs affectées au var de mon code PHP

Message par zak »

Ban c'est ce que j'ai pu constaté après une petite navigation sur le net :( Merci encore une fois :)
Votre Navigateur : Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 OPR/22.0.1471.70
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 6 invités