probleme au niveau des $_POST

Petit nouveau ! | 8 Messages

29 mars 2012, 17:49

C'est surtout que j'ai jamais appris, c'est un projet pour le lycée mais aucune indication nous a été donnée juste un fichier php avec des anciennes commandes :D
Tout ce que je veux c'est que les données rentrées dans le formulaire s'ajoute dans la bdd .
Je vais lire :mrgreen:

Mammouth du PHP | 702 Messages

29 mars 2012, 17:56

tu devrais aussi vérifier que tes variables sont bien définies, ça t'éviterais bien des malheurs... Essaie d'apprendre la fonction isset(), empty() et leurs dérivés.

Petit nouveau ! | 8 Messages

29 mars 2012, 18:02

Ok mais, pour la commande isset, c'est sur que c'est nécessaire ? car le code donné par défaut par le prof n'a même pas cette fonction, à la base le code entier était fait on avais juste a remplacer par nos tables, si je dois refaire tout le script ça me parais bizarre ...

voici le code que je suis censé utiliser
<html>
<head>
<title> Formulaire de saisie </title>
</head>
<link rel="stylesheet" media="screen" type="text/css" title="css" href="client.css" />

<body>
<div id="tete">
<h1><center><b></b></center></h1>
</div>
<br />
<div id="corps">
<center> <h2><b> FORMULAIRE DE SAISIE CLIENT </b></h2> </center> <br />

<center><b><?php
$num_client=$_POST['num_client'];
$raison_sociale=$_POST['raison_sociale'];
$adrue_client=$_POST['adrue_client'];
$advilleclient=$_POST['advilleclient'];
$categorie_client=$_POST['categorie_client'];
$num_representant=$_POST['num_representant'];

$connexion=mysql_connect("localhost","root","mysql") or die ('Erreur de connection '.mysql_error()); 
if($connexion)
{
//connexion réussie
mysql_select_db("viennoiserie",$connexion) or die ('Erreur de connection '.mysql_error()) ;
$requete="INSERT INTO clientVALUES ('$num_client','$raison_sociale','$adrue_client','$advilleclient','$categorie_client','$num_representant')";

$ok=mysql_query($requete,$connexion) ;
if($ok)
{
echo"Les informations ont été correctement ajoutées";
}
else
{
echo"Attention, l'ajout a échoué !";
}
}
else
{
echo"Problème à la connexion <br />";
}
mysql_close($connexion);
?></b> </center>
<br />
<br />

</div>

</body></html>


(j'ai remplacé les tables et la ce sont les requetes de base fournies par le prof)
Qu'est-ce qui ne va pas dans les requetes du prof ? :lol:


Sinon j'ai modifié mon code perso et j'ai le message : Aucune base n'a été sélectionnée
Voici le code
$database_localhost = "viennoiserie";
Très bon site au passage



edit : tout fonctionne, me reste plus qu'a modifier mes "echo" et mes "else" l'ajout s'effectue maintenant sans problème :D

ViPHP
xTG
ViPHP | 7331 Messages

29 mars 2012, 19:41

C'est pas parce que c'est un prof qui t'a donné ce code que c'est pas une immondice. ;)
Souvent on donne des bouts de code le plus simple possible afin que les étudiants comprennent les bases.
Mais on leur apprend pas toutes les bases... Cas de la vérification de variable par exemple dans ton cas.

Petit nouveau ! | 8 Messages

29 mars 2012, 19:52

:D

Sinon tu sais comment je peux close la connexion si un ou plusieurs champs sont vides ? car sinon ça rentre quand même dans ma base même si c'est vide
tout à l'heure j'ai testé une fonction close mais ça bloquait même quand je remplissais tous les champs même avec le if

ViPHP
xTG
ViPHP | 7331 Messages

29 mars 2012, 20:32

C'est pas plutôt ne faire la requête que si les champs ne sont pas vide que tu veux ?
Il faut te tourner vers la fonction empty() qui te renvoie une booléen dont la valeur dépend de si c'est vide ou non.

Concernant la connexion, même si tu n'utilises pas mysql_close() la connexion est fermée automatiquement par le système à la fin de l'exécution du script.
Mais il est quand même plus propre d'utiliser la fonction. ;)

Petit nouveau ! | 8 Messages

29 mars 2012, 20:33

J'utilise la fonction empty pour qu'elle affiche un message comme quoi c'est pas bon
if(empty($num_client) OR empty($raison_sociale) OR empty($adrue_client) OR empty($advilleclient) OR empty($categorie_client) OR empty($num_representant)) 
  { 
    echo '<font color="red">Attention, tous les champs doivent être <b>remplis</b>!</font>'; 
    } 
	
je vais chercher pour que la requete s'active pas mais je trouves pas

ViPHP
xTG
ViPHP | 7331 Messages

29 mars 2012, 20:45

Tu n'as peut être pas compris le principe des conditions alors. ^^

Code : Tout sélectionner

if( condition1 ) { // une suite d'instruction si la condition1 est respectée } else { if( condition2 ) { // une suite d'instruction si la condition1 n'est pas respectée et que la condition2 est respectée } else { // une suite d'instruction si la condition1 n'est pas respectée et que la condition2 n'est pas respectée } }
Sachant que le if de la condition2 est une suite d'instruction lorsque la condition1 n'est pas respectée.
Bref tu peux entourer les traitements par les conditions pour qu'ils ne s'exécutent que dans certains cas.

Petit nouveau ! | 8 Messages

29 mars 2012, 21:33

Ok c'est bon j'ai saisi :D
Et la tout fonctionne merci beaucoup pour votre aide à tous