CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP] Formulaire

soldat52
soldat52
Niveau 7
13 décembre 2009 à 19:29:09

Bonjour,
j'ai réussi a crée ce formulaire :
<?
// Fichier de connexion à la BDD
require('sql.php');

//Récuperation des variables postées:
$N=$_POST['nom'];
$R=$_POST['rue'];
$CP=$_POST['codep'];
$V=$_POST['ville'];
$C=$_POST['categorie'];

$clt="Select max(NumCli) as Nombre From Clients";
$resultclt=mysql_query($clt) or die ("Requête Impossible !");
$nombre=mysql_fetch_array($resultclt);
extract($nombre);
$z=$Nombre +1;

mysql_query("INSERT INTO Clients VALUES('$z','$N','$R','$CP','$V','$C')") or die("Impossible de terminer l'inscription");

echo "Vous avez ete enregistre avec succes. Votre numero de client est : $z";

mysql_close();

?>
Il marche certe, mais je voudrais que tout les champs soit remplis, dans le cas contraire un message s'affichera "Veuillez remplir tout les champs". Je suis novice dans cette matiére, et j'aurais grandement besoin d'aide.
Merci d'avance !

bob63
bob63
Niveau 11
13 décembre 2009 à 19:44:29

A chaque fois que tu récupere une valeur genre $_POST['NOM'] tu fais une verif que le champ n'est pas vide de cette façon

if (!empty($_POST['nom']))
$N=$_POST['nom'];
else
print("Erreur champ xxx non rempli");

Et tu fais ça pour chaque champ :ok:

bob63
bob63
Niveau 11
13 décembre 2009 à 19:46:15

j'ai oublié l'explication :
La fonction "empty" permet de vérifier si ce que tu récuperes est bian valide (et donc si elle contient quelque chose). Le "!" devant le empty permet donc de dire, si le fichier n'est pas nul, alors on récupère la valeur, sinon on affiche l'erreur =)

soldat52
soldat52
Niveau 7
13 décembre 2009 à 20:16:16

Cela m'affiche : Erreur champ nom non rempliVous avez été enregistré avec succès. Votre numéro de client est : 7

D'aprés ton conseille, j'ai fait sa :

<?
require('sql.php');

$N=$_POST['nom'];
$R=$_POST['rue'];
$CP=$_POST['codep'];
$V=$_POST['ville'];
$C=$_POST['categorie'];

if(!empty($_POST['nom']))
$N=$_POST['nom'];
else
print("Erreur champ nom non rempli");

$clt="Select max(NumCli) as Nombre From Clients";
$resultclt=mysql_query($clt) or die ("Requête Impossible !");
$nombre=mysql_fetch_array($resultclt);
extract($nombre);
$z=$Nombre +1;

mysql_query("INSERT INTO Clients VALUES('$z','$N','$R','$CP','$V','$C')") or die("Impossible de terminer l'inscription");

echo "Vous avez été enregistré avec succès. Votre numéro de client est : $z";

mysql_close();

?>

bob63
bob63
Niveau 11
13 décembre 2009 à 20:33:36

effectivement il passe à l'étape d'après, essai de le mettre dans une boucle sinon ?

<?
require('sql.php');

$N=$_POST['nom'];
$R=$_POST['rue'];
$CP=$_POST['codep'];
$V=$_POST['ville'];
$C=$_POST['categorie'];

while(empty($_POST['nom'])==false) {

print("Erreur champ NOM non rempli");

}

$clt="Select max(NumCli) as Nombre From Clients";
$resultclt=mysql_query($clt) or die ("Requête Impossible !");
$nombre=mysql_fetch_array($resultclt);
extract($nombre);
$z=$Nombre +1;

mysql_query("INSERT INTO Clients VALUES('$z','$N','$R','$CP','$V','$C')") or die("Impossible de terminer l'inscription");

echo "Vous avez été enregistré avec succès. Votre numéro de client est : $z";

mysql_close();

?>

Après c'est plus simple avec une doc sous les yeux mais test comme ça, faire une boucle, tant que le champ est vide on écrit le message ..

bob63
bob63
Niveau 11
13 décembre 2009 à 20:37:38

autre solution à tester

<?
require('sql.php');

While (empty($_POST['nom'])==false) {

print("Erreur champ nom non rempli");

}

$N=$_POST['nom'];
$R=$_POST['rue'];
$CP=$_POST['codep'];
$V=$_POST['ville'];
$C=$_POST['categorie'];

While (empty($_POST['nom'])==false) {

print("Erreur champ nom non rempli");

}

$clt="Select max(NumCli) as Nombre From Clients";
$resultclt=mysql_query($clt) or die ("Requête Impossible !");
$nombre=mysql_fetch_array($resultclt);
extract($nombre);
$z=$Nombre +1;

mysql_query("INSERT INTO Clients VALUES('$z','$N','$R','$CP','$V','$C')") or die("Impossible de terminer l'inscription");

echo "Vous avez été enregistré avec succès. Votre numéro de client est : $z";

mysql_close();

?>

bob63
bob63
Niveau 11
13 décembre 2009 à 21:21:28

farix2002 > Pour ça que j'ai rajouté un while dans la dernière solution avant qu'il essai de récupérer ses données, tant que le empty renvoi faux c'est que la personne n'a rien écrit et donc en boucle .. après je suis pas pro PHP donc je propose des soluces =)

soldat52
soldat52
Niveau 7
13 décembre 2009 à 21:24:43

if (empty($_POST['nom']))
{
print("Erreur champ nom non rempli");
exit();
}

J'ai trouvé sa.
Sa bloque l'opération, mais c'est valable seulement pour le champs nom, comment faire pour mettre tout les champs obligatoire ? Merci d'avance !

soldat52
soldat52
Niveau 7
13 décembre 2009 à 21:37:05

Oui mais le probléme c'est que je ne sais pas comment faire le codage :(

bob63
bob63
Niveau 11
13 décembre 2009 à 21:53:35

farix2002> Ouep effectivement vu comme ça c'est une solution =)

soldat52
soldat52
Niveau 7
13 décembre 2009 à 22:00:05

OUIIIIIIII !!
Merci beaucoup beaucoup beaucoup ! Ca fonctionne !

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware