[php] souci avec un message d'erreur

Fermé
leloup - 23 nov. 2010 à 15:38
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 - 23 nov. 2010 à 17:02
Bonjour a tous,

J'ai un formulaire avec des champs obligatoires. J'ai également un message d'erreur qui s'affiche si les champs obligatoires ne sont pas rempli.

Mon souci est que ce message s'affiche dès l'ouverture de ma page php avant même que la personne appuie sur le bouton Valider.

Qu'ai je fait comme bétise et comment eviter cela svp ?

Voici le code :
<html>
<head><meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"></head>
<body>
<basefont face="Tahoma" size="2">
<center style="color: white;"><h3 style="background-color: rgb(92, 168, 10);">Demande d'inscription</h3></center><br>
<p style="color:rgb(92,168,10)"><i>Les champs avec un * sont obligatoires</i></p><br>
<form method="post">
<label>Nom de la Société * (Ex : GAEC INTERVAL,...) : </label><input name="société" type="text"><br><br>
<label>Numéro d'adhérent * : </label><input name="numero" type="text"><br><br>
<label>Nom de l'adhérent * : </label><input name="nom" type="text"><br><br>
<label>Prénom  * : </label><input name="prenom" type="text"><br><br>
<label>Adresse * : </label><input name="adresse" type="text"><br><br>
<label>Code Postal * : </label><input name="code" type="text"><br><br>
<label>Ville * : </label><input name="ville" type="text"><br><br>
<label>Mél * : </label><input name="mail" type="text"><br><br>
<label>Téléphone : </label><input name="telephone" type="text"><br><br>
<label>Téléphone Portable: </label><input name="portable" type="text"><br><br>
<input value="Valider" type="submit" style="background-color:rgb(92,168,10)" />
</form>
<?php

//recup des variables
$société=$_POST['société'];
$numero=$_POST['numero'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$adresse=$_POST['adresse'];
$code=$_POST['code'];
$ville=$_POST['ville'];
$mail=$_POST['mail'];
$telephone=$_POST['telephone'];
$portable=$_POST['portable'];

//Connection Mysql
mysql_connect("mysql","base","mdp")or die("Problème avec la base de données");
mysql_select_db("perso")or die ("pas de connection");

//Requête
if ((!empty($société)) and (!empty($nom)) and (!empty($prenom)) and (!empty($adresse)) and (!empty($code)) and (!empty($ville)) and (!empty($mail)))
{
mysql_query("INSERT INTO inscriptions ('ID','société','numero','nom','prenom','adresse','code','ville','mail','telephone','portable')VALUES('','".$société."','".$numero."','".$nom."','".$prenom."','".$adresse."','".$code."','".$ville."','".$mail."','".$telephone."','".$portable."')") or die ("Désolé, il y a eu un problème dans la transmission des données"); 
echo '<font face="tahoma" color="red">Merci pour votre inscription !<br>Dès l\'ouverture du site, vous recevrez par mél vos codes d\'identification.</font>';
//Cloture de la base
//mysql_close();
}
else
{
echo 'Votre formulaire est incomplet, veuillez recommencer svp';
}
?>
</body>
</html>


Merci d'avance pour votre aide

Steph70


3 réponses

Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
Modifié par Melooo le 23/11/2010 à 15:57
La bêtise c'est que tu vérifies pas si il as cliqué sur le bouton !
Avant de récupérer les données de ton formulaire tu dois vérifier le clic du bouton comme ceci :
if(isset($_POST['mon_bouton'])) 
{  
//recup des variables  
$société=$_POST['société'];  
$numero=$_POST['numero'];  
$nom=$_POST['nom'];  
$prenom=$_POST['prenom'];  
$adresse=$_POST['adresse'];  
$code=$_POST['code'];  
$ville=$_POST['ville'];  
$mail=$_POST['mail'];  
$telephone=$_POST['telephone'];  
$portable=$_POST['portable'];  

//Connection Mysql  
mysql_connect("mysql","base","mdp")or die("Problème avec la base de données");  
mysql_select_db("perso")or die ("pas de connection");  

//Requête  
if ((!empty($société)) and (!empty($nom)) and (!empty($prenom)) and (!empty($adresse)) and (!empty($code)) and (!empty($ville)) and (!empty($mail)))  
{  
mysql_query("INSERT INTO inscriptions ('ID','société','numero','nom','prenom','adresse','code','ville','mail','telephone','portable')VALUES('','".$société."','".$numero."','".$nom."','".$prenom."','".$adresse."','".$code."','".$ville."','".$mail."','".$telephone."','".$portable."')") or die ("Désolé, il y a eu un problème dans la transmission des données");   
echo '<font face="tahoma" color="red">Merci pour votre inscription !<br>Dès l\'ouverture du site, vous recevrez par mél vos codes d\'identification.</font>';  
//Cloture de la base  
//mysql_close();  
}  
else  
{  
echo 'Votre formulaire est incomplet, veuillez recommencer svp';  
}  
}  
?>  
</body>  
</html>  

A ajouter également un name à ton bouton
Il est également préférable de donner un action à ton formulaire ainsi qu'un name
0
Ok et merci beaucoup,

Je comprend mieux.

Par contre que fais tu des données html ?

Merci encore

Amicalement
Steph70
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
23 nov. 2010 à 17:02
Quel données HTML ?
0