Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Controle données formulaire

Sunsea, le mercredi 9 juin 2004 à 10:36:49
Bonjour,

Dans un formulaire j'ai un champ de 3 caractères qui doit etre obligatoirement rempli. j'ai une page PHP qui fait les traitements de mon formulaire (insertion des données dans une base MySql) mais je voudrai indiquer de bien remplir ce champ si ce n'est pas fait.

J'ai essayé de faire avec un if mais je n' y arrive pas.

Merci pour votre aide... voici le code actuel qu ine fonctionne pas
if ($reponse="")
{


print("Veuillez remplir le champ trigramme");
}
else
{

print("Champ trigramme ok");
}
Répondre à Sunsea  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flokocha, le mercredi 9 juin 2004 à 10:39:48
Le plus simple est de faire une fonction JavaScript qui vérifie que ce champ soit rempli et qui empêche la soumission du formulaire le cas échéant, sur la page du formulaire.


.::: "A trop vouloir feindre de faire fi, on finit 
par faire fi de vouloir feindre." 
:::.
Répondre à flokocha

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Sunsea, le mercredi 9 juin 2004 à 10:41:03
Ok mais comment faire cela? Car le javascript.....
Répondre à Sunsea

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Flipody, le mercredi 9 juin 2004 à 10:41:20
Comment as tu récupéré des données ?
Peut tu mettre ton code des deux pages pour voir un peu plus clair! =)

Flipody
Répondre à Flipody

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flokocha, le mercredi 9 juin 2004 à 10:43:13
Prends exemple sur ce post :

http://www.commentcamarche.net/forum/affich-793474-controle-­de-champs-mailto#1

.::: "A trop vouloir feindre de faire fi, on finit 
par faire fi de vouloir feindre." 
:::.
Répondre à flokocha

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Sunsea, le mercredi 9 juin 2004 à 10:45:02
Voici le code de mon fichier html :

<form name="sondage" method="post" action="http://******/****/****/sondage.php">
<table width="60%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="texte"><p> </p>
<p align="center" class="boutonaccueil">Que souhaitez vous effectuer comme sorties?</p>
<p> </p></td>
</tr>
<tr>
<td class="texte"><div align="center"></div>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="texte">Trigramme : </td>
<td><input name="auteur" type="text" size="3" maxlength="3"></td>
</tr>
<tr>
<td width="31%" class="texte">Souhait : </td>
<td width="69%"><p>
<textarea name="reponse" id="reponse"></textarea>
</p>
<p><span class="pied">(255 caractères maximum) </span></p></td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="99"><div align="center">
<br>
<p><input type="submit" Value="Valider"></p>


<p align="left"> </p>
</div>
</td>
</tr>
</table>
</form>

et mon fichier php qui recupere cela :

<?php
if ($reponse="")
{


print("Veuillez remplir le champ trigramme");
}
else
{

print("Champ trigramme ok");
}
// utilisation du fichier librairie contenant les différentes fonctions
include("../librairies/librairiebdd.php");

// utilisation de la fonction pour ouvrir la BDD
$link=OuvreBase("***");

// requete SQL d'enregistrement du sondage
$requete="INSERT INTO sondage(idsond,auteur,reponse) VALUES('','".$_POST['auteur']."','".$_POST['reponse']."')";
$resultat=mysql_query($requete);

// fermeture de la BDD
FermeBase($link);

?>
Répondre à Sunsea

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Flipody, le mercredi 9 juin 2004 à 10:50:59
Hum oui je pense ke flokocha a raison, il serai plus judicieux d'effectuer le controle dans la page html au moment ou tu clique sur le bouton submit, de plus le code en javascript n'est pas trop lourd. Parce que si tu controle dans la page php, dans le cas ou l'utilisateur n'aurai pas saisi, il faudrai lui faire retourner a la page html pour qu'il recommence je suppose, dc ca c'est plutot lourd!

Flipody
Répondre à Flipody

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Sunsea, le mercredi 9 juin 2004 à 11:01:33
Cela fonctionne sauf que lorsque le champ est vide j'ai bien le message qui s'affiche mais la redirection vers ma page php se fait qand meme!! C'est un peu embetant! :-)
Répondre à Sunsea

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flokocha, le mercredi 9 juin 2004 à 11:04:56
Tu as bien repris la deuxième solution du message que je t'ai donné et pas la première ?

.::: "A trop vouloir feindre de faire fi, on finit 
par faire fi de vouloir feindre." 
:::.
Répondre à flokocha

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flokocha, le mercredi 9 juin 2004 à 11:08:07
Ah oui pardon, j'ai fait un oubli sur le message que je t'ai donné !

Il faut en réalité écrire :
onSubmit="return verifForm(this.form)"

.::: "A trop vouloir feindre de faire fi, on finit 
par faire fi de vouloir feindre." 
:::.
Répondre à flokocha

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Sunsea, le mercredi 9 juin 2004 à 11:27:01
Ouais je viens de tesetr avec la deuxième solution et des que je clique sur le bouton ok de la fenettre alert ca me redirige vers ma page....


<SCRIPT LANGUAGE="JavaScript">
function verifForm(formulaire)
{
if(sondage.auteur.value == "")
alert('Vous avez oublié de saisir votre trigramme !');
else
return true;
}
</script>
<form name="sondage" method="post" action="http://*****/pages/voyages/sondage.php" onSubmit="return verifForm(this.form)">
Répondre à Sunsea

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Flipody, le mercredi 9 juin 2004 à 13:40:13
C'est normal dans la mesure ou sur le click submit l'action du formulaire se lance, essai ce code :

dans ta balise <head>
<SCRIPT LANGUAGE="JavaScript">
function verifForm()
{
if(sondage.auteur.value == "")
alert('Vous avez oublié de saisir votre trigramme !');
else
sondage.go.click();
}
</script>

dans ta balise <body>
<form name="sondage" method="post" action="http://*****/pages/voyages/sondage.php">
<input type="text" name="auteur" size="20"> //ici c'est ta zone de texte a vérifier
<input type="button" value="Ok" name="bouton" onClick="verifForm()"> //ici le bouton sur lequel d'effectue le controle
<input type="submit" name=go style="visibility:hidden;"> //ici le bouton (caché) qui s'executera si le controle est bon et qui lancera ta page php
</form>

Bon courage
Flipody
Répondre à Flipody

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
layork, le mercredi 9 juin 2004 à 14:12:07
salut, je suis dans le meme cas que le posteur du mess, et en fait e me demandai un truc
comment l'utilisateur va valider, si le bouton est hidden???
<input type="submit" name=go style="visibility:hidden;">


l'informatique ca rend fou!!!!!
Répondre à layork

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Flipody, le mercredi 9 juin 2004 à 14:16:39
c'est la qu'il y a l'astuce, en fait il y a deux boutons ! un premier visible qui exectue la fonction javascript et un deuxieme invisible qui est juste la pour lancer l'action du formulaire et ainsi recupere les données PHP ensuite sans pb. Ce bouton submit est executé dans la fonction

Flipody
Répondre à Flipody

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Sunsea, le mercredi 9 juin 2004 à 13:56:51
Wahou!! Merci beaucoup ...ca marche niquel je vais faire ca pour ma zone de texte du coup!!!!

Pourrais tu m'expliquer cette ligne de code :
<input type="submit" name=go style="visibility:hidden;">

Et sinon je souhaite qu'une seule personne puisse voter. Il faut que j'utilise l'IP privée de chaque poste mais je crois qu'avec du java c possible et plus simple qu'avec du php....Connais tu ce domaine?
Répondre à Sunsea

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flokocha, le mercredi 9 juin 2004 à 14:00:57
La variable $_SERVER["REMOTE_ADDR"] te donne l'IP du client.

.::: "A trop vouloir feindre de faire fi, on finit 
par faire fi de vouloir feindre." 
:::.
Répondre à flokocha

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flokocha, le mercredi 9 juin 2004 à 14:02:09
Ah pardon j'avais pas vu que tu voulais le faire en Java.


.::: "A trop vouloir feindre de faire fi, on finit 
par faire fi de vouloir feindre." 
:::.
Répondre à flokocha

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Flipody, le mercredi 9 juin 2004 à 14:12:53
<input type="submit" name=go style="visibility:hidden;">
Cette ligne de code est un bouton du formulaire, c'est le bouton submit qui lance ta page php si ton controle est bon, seulement, on ne veut pas le voir donc on rajoute un style pour le rendre invisible (visibility:hidden;)
Il est exécuté si tu regarde bien dans la fonction Javascript par : sondage.go.click();

Sinon pour récupérer l'adresse ip , en javascript je ne l'ai jamais fais, mais il me semble que c'est un peu plus compliqué qu'en PHP. Car en PHP il n'y a qu'une ligne com l'a di flokocha : echo "IP : $REMOTE_ADDR";

Flipody
Répondre à Flipody

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
layork, le mercredi 9 juin 2004 à 14:19:14
bon, j'ai pile le meme probleme, mais le truc c'est que moi ca marche po :(
j'ai "essayé" de faire comme vous l'avez indiqué, mais lorsqe je lance ma page, c'est marqué en bas "erreur sur la page"
si vous poviez meclairer ce serait cool ;)

voici mon code:

<html>
<head>
<title>Modifications</title>
<SCRIPT LANGUAGE="JavaScript">
function verifForm(formulaire){
if( formulaire.new_numprest.value == "")
alert('Le champ est vide !!!');
else
formulaire.submit();
}
</SCRIPT>

</head>
<body bgcolor="lightblue">
<img border="0" src="caliseo.jpg"><br>


<?
$bdd = "auvergnelocal";
$user = "root";
$passwd = "";
$host = "localhost";
$numsite = $_GET['site_num1'];
$site_num2 = $_GET['site_num2'];

mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");



$requete=mysql_query("SELECT * FROM `adherent` WHERE site_num1=$numsite AND site_num2=$site_num2 " );
$donnees = mysql_fetch_array ($requete)
?>


<form name=formulaire ACTION="traitement.php" METHOD="get">
<table border="3" cellspacing="6" cellpadding="5">
<tr>
<td><INPUT TYPE="Hidden" NAME="site_num1" VALUE="<? echo $numsite; ?>"></td>
<td><INPUT TYPE="Hidden" NAME="site_num2" VALUE="<? echo $site_num2; ?>"></td>
</tr>


<tr>
<td>Nom:</td>
<td><input type="texte" name="new_nm" size="20" value="<?echo($donnees['nm']);?>"></td>
</tr>

<tr>
<td>Nom de l etablissement: </td>
<td><input type="texte" name="new_etb" size="20" value="<?echo($donnees['etb']);?>"></td>
<tr>
<tr>
<td>Code postal:</td>
<td><input type="texte" name="new_cp" size="20" value="<?echo($donnees['cp']);?>"></td>
<tr>
<tr>
<td>Adresse:</td>
<td><input type="texte" name="new_ad" size="20" value="<?echo($donnees['ad']);?>"></td>
<tr>
<tr>
<td>Ville:</td>
<td><input type="texte" name="new_vl" size="20" value="<?echo($donnees['vl']);?>"></td>
<tr>
<tr>
<td>Type de liaison:</td>
<td><input type="texte" name="new_type_liaison" size="20" value="<?echo($donnees['type_liaison']);?>"></td>
<tr>
<tr>
<td>Numero de prestation:</td>
<td><input type="texte" name="new_numprest" size="20" value="<?echo($donnees['numprest']);?>"></td>
<tr>
<tr>
<td>Communauté:</td>
<td><input type="texte" name="new_communaute" size="20" value="<?echo($donnees['communaute']);?>"></td>
<tr>
<tr>
<td>IPlan:</td>
<td><input type="texte" name="new_iplan" size="20" value="<?echo($donnees['iplan']);?>"></td>
<tr>
<tr>
<td>masque lan:</td>
<td><input type="texte" name="new_masque_lan" size="20" value="<?echo($donnees['masque_lan']);?>"></td>
<tr>
<tr>
<td>ipmgmt:</td>
<td><input type="texte" name="new_ipmgmt" size="20" value="<?echo($donnees['ipmgmt']);?>"></td>
<tr>
<tr>
<td>contact:</td>
<td><input type="texte" name="new_contact" size="20" value="<?echo($donnees['contact']);?>"></td>
<tr>
<tr>
<td>tel:</td>
<td><input type="texte" name="new_tl" size="20" value="<?echo($donnees['tl']);?>"></td>
<tr>
<tr>
<td>page stat:</td>
<td><input type="texte" name="new_page_stat" size="20" value="<?echo($donnees['page_stat']);?>"></td>
<tr>
<tr>
<td>vp vc:</td>
<td><input type="texte" name="new_vp_vc" size="20" value="<?echo($donnees['vp_vc']);?>"></td>
<tr>
<tr>
<td>circuit BNC:</td>
<td><input type="texte" name="new_circuit_BNC" size="20" value="<?echo($donnees['circuit_BNC']);?>"></td>
<tr>
<tr>
<td>materiel actif:</td>
<td><input type="texte" name="new_materiel_actif" size="20" value="<?echo($donnees['materiel_actif']);?>"></td>
<tr>
<tr>
<td>serial IPSEC:</td>
<td><input type="texte" name="new_serial_IPSEC" size="20" value="<?echo($donnees['serial_IPSEC']);?>"></td>
<tr>
<tr>
<td>IPwan:</td>
<td><input type="texte" name="new_ipwan" size="20" value="<?echo($donnees['ipwan']);?>"></td>
<tr>
<tr>
<td>masque wan:</td>
<td><input type="texte" name="new_masque_wan" size="20" value="<?echo($donnees['masque_wan']);?>"></td>

<tr>
<tr>
<td>IP lan2:</td>
<td><input type="texte" name="new_iplan2" size="20" value="<?echo($donnees['iplan2']);?>"></td>
<tr>

</table>
<input type="button" value="Ok" name="bouttonok" onClick="verifForm()">
<input type="submit" name=go style="visibility:hidden;">
</form>





<?mysql_close();?>
<a href=siteman.php>Retour a la page d acceuil</a>
</body>
</html>

l'informatique ca rend fou!!!!!
Répondre à layork

21


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Flipody, le mercredi 9 juin 2004 à 14:23:45
oui il y a une toute petite erreur dans ta fonction javascript, remplace cette ligne : formulaire.submit(); par celle ci :
formulaire.go.click();

je pense que ca doit marcher.

Flipody
Répondre à Flipody

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flokocha, le mercredi 9 juin 2004 à 14:21:21
C'est normal que ça ne marche pas, tu ne passes pas d'argument à ta fonction quand tu l'appelles !

.::: "A trop vouloir feindre de faire fi, on finit 
par faire fi de vouloir feindre." 
:::.
Répondre à flokocha

20


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
layork, le mercredi 9 juin 2004 à 14:22:40
oui....
c'est a dire?????

l'informatique ca rend fou!!!!!
Répondre à layork

22


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flipody, le mercredi 9 juin 2004 à 14:26:31
effectivement, dans ta fonction enleve l'argument
en fait voila ta fonction com elle doit l'etre :

<SCRIPT LANGUAGE="JavaScript">
function verifForm()
{
if( formulaire.new_numprest.value == "")
alert('Le champ est vide !!!');
else
formulaire.go.click();
}
</SCRIPT>
Répondre à flipody

23


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flokocha, le mercredi 9 juin 2004 à 14:30:05
Et bien tu définis ta fonction comme ça :
function verifForm(formulaire) {...}

Ce qui signifie que cette fonction a besoin d'un argument ("formulaire") pour fonctionner.
Il faut donc qu'au moment où tu appelles ta fonction, tu lui transmettes cet argument qu'elle attend.
Or toi tu appelles cette fonction comme ça :
onClick="verifForm()"
Dans ce cas tu ne lui passes aucun argument, il faut que tu écrives
onClick="verifForm(this.form)">

Mais si tu veux obtenir quelque chose de concluant, utilise la fonction de Flipody.

.::: "A trop vouloir feindre de faire fi, on finit 
par faire fi de vouloir feindre." 
:::.
Répondre à flokocha

24


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
layork, le mercredi 9 juin 2004 à 15:10:01
ba c est nikel, ca marche avec 1, mais avec plein , ca marche po :(

<SCRIPT LANGUAGE="JavaScript">
function verifForm()
{
if( formulaire.new_numprest.value == "" || formulaire.new_site_num1.value=="" || formulaire.new_site_num2.value=="" ||
formulaire.new_etb.value=="" || formulaire.new_type_liaison.value=="" || formulaire.new_numprest.value=="" ||formulaire.new_communaute.value=="" ||
formulaire.new_contact.value=="" || formulaire.new_tl.value=="" || formulaire.new_page_stat.value=="" || formulaire.new_vp_vc.value=="")
alert('Le champ est vide !!!');
else
formulaire.go.click();
}
</SCRIPT>

l'informatique ca rend fou!!!!!
Répondre à layork
Access Copie entre Formulaires (Résolu)Bonjour à Tous, 2 formulaires Formulaire_A et Formulaire_B Le Formulaire_B s'ouvre à la commande d'un bouton dans Formulaire_A A l'ouverture de Formulaire_B, je voudrais que le texte d'un controle du Formulaire_A (Controle) soit... www.commentcamarche.net/forum/affich-7017214-access-copie-entre-formulaires
Liste déroulante boîte à outils Excel (Résolu)Bonjour, Peut-on avoir une taille de police d'écriture plus grande dans les boutons de "menu déroulant" que l'on utilise dans la boite à outils (controle de formulaire) pour la programmation de macros sous excel. Lorsque l'on change la... www.commentcamarche.net/forum/affich-7547494-liste-deroulante-boite-a-outils-excel
Javascript au secours! (Résolu)Bonjour, J'ai un probleme sur mon javascript qui controle mon formulaire: function verifForm(formulaire) { var message=''; if(formulaire.user.value == "" OR formulaire.password.value == "" OR... www.commentcamarche.net/forum/affich-3287812-javascript-au-secours
[Javascript] Effacer un champ de formulaire lors du clic (focus)Il vous est sûrement arrivé de tomber sur un formulaire HTML avec des valeurs pré-remplies décrivant par exemple le type de valeur attendue. L'intention est louable mais il est désagréable de devoir sélectionner ce texte et le supprimer avant de... www.commentcamarche.net/faq/sujet-884-javascript-effacer-un-champ-de-formulaire-lors-du-clic-focus
[js] controle champs formulaire (Résolu)Bonjour à tous tous et surtout aux spécialistes en javascript, Voici mon script (verif.js) qui se trouve dans un répertoire scripts: www.commentcamarche.net/forum/affich-2022953-js-controle-champs-formulaire
Enregistrement de données formulaire Access (Résolu)Bonjour, J'ai un petit problème d'enregistrement de données d'un formulaire basé lui meme sur une requete dans une nouvelle table. En fait j'explique: J'ai des données relatives à plusieurs tables que j'ai rassemblées par... www.commentcamarche.net/forum/affich-3238462-enregistrement-de-donnees-formulaire-access
[php] pb envois données formulaire dans table mysq (Résolu)Bonjour, je suis webmaster du site http://sons.gratuits.free.fr et je suis entrain de faire un formulaire de contact tout fonctionne bien sauf je ne vois pas les enregistrements du formulaire dans la table sur sql.free.fr ! je vous donne les codes que... www.commentcamarche.net/forum/affich-1707053-php-pb-envois-donnees-formulaire-dans-table-mysq
Wasp Inventory ControlWasp Inventory Control,,''Inventory Control'' Gestion de stock, plus de 50 rapports pour un suivi de vos données, interface graphique utilisateur, effectuer des entrées ou des sorties des articles, formulaires personnalisable, CD-ROM p www.commentcamarche.net/guide-achat/wasp-inventory-control-469203630-fiche-technique
Servlets - Gestion des formulaires Les servlets rendent très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML, c'est-à-dire une interface graphique permettant à l'utilisateur de saisir des données. Grâce à la balise Form du langage HTML, il est très... www.commentcamarche.net/servlets/servform.php3
Bases de données - Utilisation de formulaires Afin d'exploiter les bases de données, il faut fournir une interface à l'utilisateur lui permettant de visualiser des données en fonction de certains critères. Pour cela il existe un outil : les formulaires. Un formulaire est une interface présentant... www.commentcamarche.net/bdd/bddform.php3