Champ obligatoire dans formulaire

Résolu/Fermé
poky - 26 mars 2007 à 11:09
 nounou85 - 11 juin 2011 à 15:54
Bonjour,

Petit problème avec un formulaire sous php. Alors plusieurs questions à vous poser.

1)J'ai remarqué que toutes les données du formulaire doivent être remplies pour qu'il soit validé.
Comment peut-on faire pour rendre certains champs obligatoires ou bien aucun champ onligatoire.
2) Mon fichier traitement.php (voir code plus bas) est celui qui traite les données. J'ai remarqué que quand il est validé, on arrive sur celui-ci et tout le monde peut voir en faisant "affichage" "source" mes codes de connexion à la base de données, ce qui est un peut gênant.
3) Dernière question : Est-ce possible d'éviter d'être envahi de données remplies automatiquement par des robots ou je ne sais quoi.
Voilà merci à tous pour cet excellent forum
Cordlt
CN

<?php
mysql_connect("sql.free.fr","nom base","mot passe");
mysql_selectdb("legarrit");


$requete = "insert into formulaire (civilite,
nom,
prenom,
adresse,
codepostal,
ville,
dep,
pays,
tel,
yes,
com,
email,
site)";
$requete .= " values ('$civilite',
'$nom',
'$prenom',
'$adresse',
$codepostal,
'$ville',
'$dep',
'$pays',
'$tel',
$yes ,
'$com',
'$email',
'$site')";
$resultat = mysql_query( $requete );

if(!$resultat) echo "Erreur lors de l'enregistrement des données!";
else echo "Votre demande a bien été prise en compte.";
?>
<br><p align="center"><b><font face="Verdana">Nous vous répondrons très prochainement.</font></b></p>
<br><p align="center"><b><font face="Verdana">Merci de votre visite et à très bientôt.</font></b></p>

26 réponses

foobar47
Messages postés
13531
Date d'inscription
jeudi 9 janvier 2003
Statut
Contributeur
Dernière intervention
16 mai 2014
534
26 mars 2007 à 11:24
Salut,

Alors, dans l'ordre :

1) Tu as plusieures possibilités, soit tu utilises le javascript pour vérifier que tes variables sont saisies, du genre ça :
//CODE JAVASCRIPT à mettre dans un fichier à part script.js
function verification()
{
if (document.formulaire.nom.value == "")
 { 
   alert("Entrez votre nom !");  
   return false;   
 }
}

Puis dans ton code php :

<script LANGUAGE="JavaScript" src="../script.js"></script> 
<form method="post" name="formuliare" action="ajout_nord.php" onsubmit="return verification()" >

Là, c'est au format HTML, tu peux donc soit fermer les balises php avant et les ouvrir ensuite ou tout mettre en php avec des echo.

La seconde méthode consiste à utiliser le php.
Quand tu valides ton formulaire, si une variable est nulle, tu renvoies un message d'erreur

2) Je doute fortement que l'on puisse voir la chaine de connexion et regardant la source du fichier...
Cela étant, je te conseille de faire des inclusions de fichiers afin que tu n'ais pas à retaper cette chaine dans tous les fichiers :

#dans tous tes fichiers php, tu mets ça au début :
<?php
	include ("../config.php");
?>	

Puis, tu crées un nouveau fichier que tu nommes config.php dans lequel tu mets ta chaine de connexion :
<?php
mysql_connect("sql.free.fr","nom base","mot passe");
mysql_selectdb("legarrit"); 
?>

Je te conseille aussi de vérifier tes données avant de faire une requête SQL.
Vérifie qu'elles ne sont pas nulles, vérifies qu'elles correspondent au format attendu, genre, ne pas entrer des lettres alors qu'on attend des chiffres.

3)Oui c'est possible en mettant en place un système comme on en voit des dizaines de nos jours, c'est à dire un système d'image contenant des chiffres et des lettres que l'on doit saisir pour pouvoir continuer.
Cela étant, je n'ai jamais mis ce genre de solution en place pour le moment.


En éspèrant t'avoir aidé un minimum.

Bonne journée.
4
nassdak
Messages postés
61
Date d'inscription
jeudi 26 octobre 2006
Statut
Membre
Dernière intervention
8 juin 2007
23
26 mars 2007 à 11:33
Désolé foobar47,

J'écrivais mon message quand t'as répondu ;)
J'ai juste à rajouter que si tu désactives le javascript de ton navigateur, ta fonction ne marche plus...
la vérification côté serveur devient donc obligatoire ;)
0
foobar47
Messages postés
13531
Date d'inscription
jeudi 9 janvier 2003
Statut
Contributeur
Dernière intervention
16 mai 2014
534 > nassdak
Messages postés
61
Date d'inscription
jeudi 26 octobre 2006
Statut
Membre
Dernière intervention
8 juin 2007

26 mars 2007 à 11:43
Tout à fait d'accord avec toi ;-)
C'est pour ça que j'ai proposé les 2 solutions.

Au pire, rien n'empêche de faire 2 fois la vérification.

A++
0