bonjour à tous
j'ai besoin de vos conseils pour améliorer le formulaire suivant
vous pouvez tester ce formulaire, vous pourrez constater qu'il marche très bien, mais qu'il faut cliquer sur mettre à jour pour qu'il vérifie le contenu des cases et ensuite si le contenu est faut, il indique tout en haut ce qu'il ne va pas et sinon, il affiche les ligne suivantes.
Cela à l'avantage de fonctionner, mais bon j'aimerai que au lieux de devoir cliquer sur mettre à jours, celà vérifie en temps réelle et indique les faute, ou ouvre les autre lignes automatiquement.
Mais voilà je ne sais pas comment faire.
Mes connaissance en java ajax...sont inexistante ou presque, hormis le php ou je bricole gentiment.
Pourriez vous me guider sur un exemple un tuto..
Merci d'avance FLO.
Je laisse les codes des pages, pour que vous puissiez un peux voir comment j'ai fait et me dire si le boulot sera énorme ou pas
la page de forumalaire
<?php
define('PROTECTIONINCLUDE', TRUE);
include ($_SERVER"DOCUMENT_ROOT"].'/config/bdall.php');
include ($_SERVER"DOCUMENT_ROOT"].'/tools/dpv/var.php');
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="/config/style.css" />
<title>FFS2 Création de plan de vol</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head>
<body>
<h2>
<?php
$IP=$_SERVER"REMOTE_ADDR"];
if (!empty($_POST))
{
//print_r($_POST);
extract($_POST);
include ($_SERVER"DOCUMENT_ROOT"].'/tools/dpv/verif.php');
}
try{
$DBPDO = new PDO($dbdns2,$dbuser2 , $dbpass2,
array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$DBPDO-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
try{
$sql = "SELECT MAX( ID ) as DID FROM tracker_pdv";
$req = $DBPDO ->query($sql);
while($d = $req->fetch(PDO::FETCH_OBJ))
{
$DID=$d->DID;
$DID=$DID+1;
?><h2>Plan de vol:<?php echo $DID; ?></h2><?php
}
}
catch (PDOException $e)
{
echo '<h6>OUPS:</h6>';
echo '</br>';
echo '<h5>L\'instruction pour la Base de Donnée n\'a pas été comprise correctement</h5>';
echo '</br>';
echo '</br>';
echo '<h5>Module mis en sommeil</h5>';
}
}
catch (PDOException $e)
{
echo '<h6>OUPS:</h6>';
echo '</br>';
echo '<h5>Une base de donnée n\'est pas de bonne humeur pour le moment.</h5>';
echo '</br>';
echo '<h5>Veuillez réessayer plus tard</h5>';
echo '</br>';
echo '</br>';
echo '<h5>Module mis en sommeil</h5>';
}
?>
</h2>
<form method="post" action="dpfp.php">
<div class="fppage">
<?PHP
$date = date_create();
$date=date_format($date, 'Y-m-d H:i:s');
?>
<div class="fpbloch">
<div class="fpblocv">
DATE ET HEURE DE DÉPÔT</BR>Filing time</BR><INPUT type=text name="HDEP" value="<?php echo $date; ?>">
</div>
<input type="hidden" name="IP" value="<?php echo $IP; ?>">
<div class="fpblocv">
PRÉNOM ET NOM</BR>Name and Surname</BR><INPUT type=text name="PRENOM"value="<?php echo $PRENOM; ?>">
<INPUT type=text name="NOM"value="<?php echo $NOM; ?>">
</div>
<div class="fpblocv">
DÉPARTEMENT DE RÉSISDENCE</BR>Department of residence</BR><INPUT type=text name="DEP"value="<?php echo $DEP; ?>">
</div>
</div>
<div class="clear"></div>
<?php
if($L1==1)
{
?>
<div class="fpbloch">
<div class="fpblocv">
CONTROLEUR AÉRIEN</BR>Air Controller
<SELECT name="ATC">
<OPTION <?php if ($ATC==0){echo "selected";} ?> VALUE="0">Pas d'ATC</OPTION>
<OPTION <?php if ($ATC==1){echo "selected";} ?> VALUE="1">Bipper les ATC</OPTION>
</SELECT>
</div>
<div class="fpblocv">
TYPE DE VOL</BR>Type of flight
<SELECT name="VOL">
<OPTION <?php if ($VOL=="Non mentionné"){echo "selected";} ?> VALUE="Non mentionné">Choisir un type de vol</OPTION>
<OPTION <?php if ($VOL=="IFR"){echo "selected";} ?> VALUE="IFR">IFR (intruments)</OPTION>
<OPTION <?php if ($VOL=="VFR"){echo "selected";} ?> VALUE="VFR">VFR (visuel)</OPTION>
<OPTION <?php if ($VOL=="Autre"){echo "selected";} ?> VALUE="Autre">Autre</OPTION>
</SELECT>
</div>
<div class="fpblocv">
ENREGISTREMENT DU VOL</BR>Flight recording <INPUT type="checkbox" name="TRACK" value="1" <?php if ($TRACK==1){echo "checked";} ?>>
</div>
<div class="fpblocv">
NUMÉRO DE VOL</BR>Flight Number</BR><INPUT type=text name="FN" size="30" value="<?php echo $FN; ?>">
</div>
</div>
<div class="clear"></div>
<?php
}
if($L2==1)
{
?>
<div class="fpbloch">
<div class="fpblocv">
IDENTIFICATION DE L’AÉRONEF</BR>Aircraft identi?cation</BR><INPUT type=text name="IDENTA"value="<?php echo $IDENTA; ?>">
</BR>
Automatique <INPUT type="checkbox" name="IDENTAC" value="1" <?php if ($IDENTAC==1){echo "checked";} ?>>
</div>
<div class="fpblocv">
TYPE D’AÉRONEF</BR>Type of aircraft</BR>
<SELECT name="TYPE">
<OPTION VALUE="0">Choisir un appareil</OPTION>
<?PHP
$type=0;
$sql = "SELECT `id`, `fullname` FROM `tracker_aircraft` ORDER BY `fullname` ASC";
try{
$DBPDO = new PDO($dbdns2,$dbuser2 , $dbpass2,
array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$DBPDO-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try{
$req = $DBPDO ->query($sql);
while($d=$req->fetch(PDO::FETCH_OBJ))
{
$type=$type+1;
?><OPTION <?php if ($TYPE==$d->fullname){echo "selected";} ?> VALUE="<?PHP echo $d->fullname; ?>"><?PHP echo $d->fullname; ?></OPTION><?PHP
}
$type=$type+1;
?><OPTION <?php if ($TYPE=="Autre"){echo "selected";} ?> VALUE="Autre">Autre</OPTION><?PHP
}
catch (PDOException $e)
{
echo '<h6>OUPS:</h6>';
echo '</br>';
echo '<h5>L\'instruction pour la Base de Donnée n\'a pas été comprise correctement</h5>';
echo '</br>';
echo '</br>';
echo '<h5>Module mis en sommeil</h5>';
}
}
catch (PDOException $e)
{
echo '<h6>OUPS:</h6>';
echo '</br>';
echo '<h5>Une base de donnée n\'est pas de bonne humeur pour le moment.</h5>';
echo '</br>';
echo '<h5>Veuillez réessayer plus tard</h5>';
echo '</br>';
echo '</br>';
echo '<h5>Module mis en sommeil</h5>';
}
?>
</SELECT>
</BR></BR>AUTRES</BR>Others</BR><INPUT type=text name="OTHERS" size="30" value="<?php echo $OTHERS; ?>">
</div>
<div class="fpblocv">
TYPE DE CARGAISON</BR>Type of cargo</BR>
<SELECT name="TOC">
<OPTION <?php if ($TOC==""){echo "selected";} ?> VALUE="">Choisir un type de chargement</OPTION>
<OPTION <?php if ($TOC=="F"){echo "selected";} ?> VALUE="F">Cargo</OPTION>
<OPTION <?php if ($TOC=="P"){echo "selected";} ?> VALUE="P">Passagers</OPTION>
<OPTION <?php if ($TOC=="C"){echo "selected";} ?> VALUE="C">Charters</OPTION>
<OPTION <?php if ($TOC=="A"){echo "selected";} ?> VALUE="A">Op-militaire</OPTION>
</SELECT>
</div>
<div class="fpblocv">
QUANTITÉ CARGO</BR>Amount cargo</BR><INPUT type=text name="CHARGE" size="30" value="<?php echo $CHARGE; ?>">Lbs (1 Lbs = 0.45Kg)
</div>
<div class="fpblocv">
Passagers</BR>Passengers</BR><INPUT type=text name="PASSAGERS" size="30" value="<?php echo $PASSAGERS; ?>">Passagers
</div>
<div class="fpblocv">
CARBURANT A BORD</BR>Fuel on board</BR><INPUT type=text name="FUEL"value="<?php echo $FUEL; ?>">Lbs (1 Lbs = 0.45Kg)
</div>
</div>
<div class="clear"></div>
<?php
}
if($L3==1)
{
?>
<div class="fpbloch">
<div class="fpblocv">
AÉRODROME DE DÉPART</BR>Departure aerodome</BR><INPUT type=text name="ICAOD"value="<?php echo $ICAOD; ?>">OACI/ICAO
</div>
<div class="fpblocv">
DATE ET HEURE DE DÉPART</BR>Date and time of departure</BR><INPUT type=text name="HD"value="<?php echo $HD; ?>">AAAA-MM-JJ HH:MM:SS
</div>
<div class="clear"></div>
<div class="fpblocv">
AÉRODROME DE DESTINATION</BR>Arrival aerodrome</BR><INPUT type=text name="ICAOA"value="<?php echo $ICAOA; ?>">OACI/ICAO
</div>
<div class="fpblocv">
DATE ET HEURE DE D'ARRIVÉE</BR>Date and time of arrival</BR><INPUT type=text name="HA"value="<?php echo $HA; ?>">AAAA-MM-JJ HH:MM:SS
</div>
</div>
<div class="clear"></div>
<?php
}
if($L4==1)
{
?>
<div class="fpbloch">
<div class="fpblocv">
AÉRODROMES DE DÉGAGEMENT 1</BR>Altn aerodromes 1</BR><INPUT type=text name="DA1"value="<?php echo $DA1; ?>">OACI/ICAO
</div>
<div class="fpblocv">
AÉRODROMES DE DÉGAGEMENT 2</BR>Altn aerodromes 2</BR><INPUT type=text name="DA2"value="<?php echo $DA2; ?>">OACI/ICAO
</div>
</div>
<div class="clear"></div>
<?php
}
if($L5==1)
{
?>
<div class="fpbloch">
<div class="fpblocv">
DURÉE DE VOL</BR>Time of flight</BR><INPUT type=text name="FT"value="<?php echo $FT; ?>">HH:MM
</div>
<div class="fpblocv">
DISTANCE DU VOL</BR>Flight distance</BR><INPUT type=text name="FD"value="<?php echo $FD; ?>">NM
</div>
<div class="fpblocv">
ALTITUDE DE CROISIÉRE</BR>Cruise altitude</BR><INPUT type=text name="AC"value="<?php echo $AC; ?>">PIEDS/ft
</div>
<div class="fpblocv">
VITESSE DE CROISIÉRE</BR>Cruise speed</BR><INPUT type=text name="VC"value="<?php echo $VC; ?>">KT
</div>
</div>
<div class="clear"></div>
<?php
}
if($L6==1)
{
?>
<div class="fpbloch">
<div class="fpblocv">
PLAN DE VOL</BR>Flight Plan <a href="http://rfinder.asalink.net/free/" target=_blank>?</a> </BR><textarea name="FP" cols="100" rows="5"><?php echo $FP; ?></textarea><br/>
</div>
</div>
<div class="clear"></div>
<?php
}
?>
<input type="submit" value="Mettre à jour" />
</form>
<?php
if($L7==1)
{
?>
<form method="post" action="schedule.php" >
<input type="hidden" name="ID" value="">
<input type="hidden" name="HDEP" value="<?php echo $HDEP; ?>">
<input type="hidden" name="PRENOM" value="<?php echo $PRENOM; ?>">
<input type="hidden" name="NOM" value="<?php echo $NOM; ?>">
<input type="hidden" name="DEP" value="<?php echo $DEP; ?>">
<input type="hidden" name="ATC" value="<?php echo $ATC; ?>">
<input type="hidden" name="VOL" value="<?php echo $VOL; ?>">
<input type="hidden" name="TRACK" value="<?php echo $TRACK; ?>">
<input type="hidden" name="FN" value="<?php echo $FN; ?>">
<input type="hidden" name="IDENTA" value="<?php echo $IDENTA; ?>">
<input type="hidden" name="IDENTAC" value="<?php echo $IDENTAC; ?>">
<input type="hidden" name="IP" value="<?php echo $IP; ?>">
<input type="hidden" name="TYPE" value="<?php echo $TYPE; ?>">
<input type="hidden" name="OTHERS" value="<?php echo $OTHERS; ?>">
<input type="hidden" name="TOC" value="<?php echo $TOC; ?>">
<input type="hidden" name="CHARGE" value="<?php echo $CHARGE; ?>">
<input type="hidden" name="CHARGE" value="<?php echo $PASSAGERS; ?>">
<input type="hidden" name="FUEL" value="<?php echo $FUEL; ?>">
<input type="hidden" name="ICAOD" value="<?php echo $ICAOD; ?>">
<input type="hidden" name="HD" value="<?php echo $HD; ?>">
<input type="hidden" name="ICAOA" value="<?php echo $ICAOA; ?>">
<input type="hidden" name="HA" value="<?php echo $HA; ?>">
<input type="hidden" name="DA1" value="<?php echo $DA1; ?>">
<input type="hidden" name="DA2" value="<?php echo $DA2; ?>">
<input type="hidden" name="FT" value="<?php echo $FT; ?>">
<input type="hidden" name="FD" value="<?php echo $FD; ?>">
<input type="hidden" name="AC" value="<?php echo $AC; ?>">
<input type="hidden" name="VC" value="<?php echo $VC; ?>">
<input type="hidden" name="FP" value="<?php echo $FP; ?>">
<input type="submit" value="GO"/>
</form>
<?php
}
?>
</div>
<div class="clear"></div>
</body>
</html>
le vérificateur de champs
<?php
$L1=$L2=$L3=$L4=$L5=$L6=$L1E=$L2E=$L3E=$L4E=$L5E=$L6E=$L7E=0;
if ($L1==0)
{
if (!preg_match("#^[a-z \-]{3,30}+$#i",$PRENOM))
{
echo "Fournissez un Prénom";echo "</BR>";
$L1E=1;
}
if (!preg_match("#^[a-z \-]{3,30}+$#i",$NOM))
{
echo "Fournissez un nom";echo "</BR>";
$L1E=1;
}
if (!preg_match("#^[0-9a-z]{2,3}+$#i",$DEP))
{
echo "Fournissez un numéro de département";echo "</BR>";
$L1E=1;
}
if ($L1E==0)
{$L1=1;}
}
if (($L2==0)&&($L1==1))
{
if (($VOL!="IFR")&&($VOL!="VFR")&&($VOL!="Autre"))
{
echo "Sélectionez un type de vol";echo "</BR>";
$L2E=1;
}
if ($TRACK==0)
{
if ((!preg_match("#^[0-9 a-z \-]{3,20}+$#i",$FN))or($FN=="Ne pas remplir si enregistrement"))
{
echo "Vérifez si il est necessaire de fournir un numéro de vol";echo "</BR>";
$L2E=1;
}
}
elseif ($TRACK==1)
{
$FNdate = date_create();
$FNdate=date_format($FNdate, 'dm-Hi');
$FNC1="GPV";
$FNC4="-";
$FNC6 =substr($PRENOM, 0,1);
$FNC7 = substr($NOM, 0,1);
$FNF="$FNC1$FNC4$FNC6$FNC7$FNC4$FNdate";
$FN=$FNF;
}
if ($L2E==0)
{$L2=1;}
}
if (($L3==0)&&($L2==1))
{
if ($IDENTAC==0)
{
if (!preg_match("#^[0-9 a-z \-]{3,8}+$#i",$IDENTA))
{
echo "Identifier votre aéronef si automatique non désiré";echo "</BR>";
$L3E=1;
}
}
elseif ($IDENTAC==1)
{
$IDENTAC1="F-";
$IDENTAC2=substr($PRENOM, 0,1);
$IDENTAC3= substr($NOM, 0,1);
$IDENTA="$IDENTAC1$IDENTAC2$IDENTAC3$DEP";
}
if ($TYPE=="0")
{
echo "Sélectionez un type d'aéronef";echo "</BR>";
$L3E=1;
}
if (($TYPE=="Autre")&&(empty($OTHERS)))
{
echo "Sélectionez un type d'aéronef ou remplissez le champs autres";echo "</BR>";
$L3E=1;
}
if (($TYPE=="Autre")&&(!empty($OTHERS)))
{
if (!preg_match("#^[0-9 a-z \-]{3,30}+$#i",$OTHERS))
{
echo "Remplissez le champ autres avec un type d'avion";echo "</BR>";
$L3E=1;
}
}
if ($TYPE!="Autre")
{
unset($OTHERS);
}
if (($TOC!="C")&&($TOC!="F")&&($TOC!="P")&&($TOC!="A"))
{
echo "Sélectionez un type de cargaison";echo "</BR>";
$L3E=1;
}
if ((!empty($CHARGE))and (!empty($PASSAGERS)))
{
if (!preg_match("#^[0-9]{1,11}+$#",$CHARGE))
{
echo "Charge incorrecte";echo "</BR>";
$L3E=1;
}
if (!preg_match("#^[0-9]{1,11}+$#",$PASSAGERS))
{
echo "Charge incorrecte";echo "</BR>";
$L3E=1;
}
}
if ((!empty($FUEL)))
{
if (!preg_match("#^[0-9]{1,11}+$#",$FUEL))
{
echo "Fuel incorrecte";echo "</BR>";
$L3E=1;
}
}
if ($L3E==0)
{$L3=1;}
}
if (($L4==0)&&($L3==1))
{
if (!preg_match("#^[0-9a-z]{3,6}+$#i",$ICAOD))
{
echo "Indiquez votre départ ICAO";echo "</BR>";
$L4E=1;
}
if (!preg_match("#^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}+$#",$HD))
{
echo "Indiquez une heure et date de départ";echo "</BR>";
$L4E=1;
}
if (!preg_match("#^[0-9a-z]{3,6}+$#i",$ICAOA))
{
echo "Indiquez votre arrivé ICAO";echo "</BR>";
$L4E=1;
}
if ((!empty($HA)))
{
if (!preg_match("#^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}+$#",$HA))
{
echo "heure et date d'arrivé incorrects";echo "</BR>";
$L4E=1;
}
}
if ($L4E!=1)
{$L4=1;}
}
if (($L5==0)&&($L4==1))
{
if ((!empty($DA1)))
{
if (!preg_match("#^[0-9a-z]{3,6}+$#i",$DA1))
{
echo "Indiquez un aéroport de déroutement 1";echo "</BR>";
$L5E=1;
}
}
if ((!empty($DA2)))
{
if (!preg_match("#^[0-9a-z]{3,6}+$#i",$DA2))
{
echo "Indiquez un aéroport de déroutement 2";echo "</BR>";
$L5E=1;
}
}
if ($L5E!=1)
{$L5=1;}
}
if (($L6==0)&&($L5==1))
{
if((!empty($FT)))
{
if (!preg_match("#^[0-9]{0,3}:[0-9]{2}+$#",$FT))
{
echo "Indiquez un temps de vol";echo "</BR>";
$L6E=1;
}
}
if (!preg_match("#^[0-9]{2,5}+$#",$FD))
{
echo "Indiquez la distance de vol, sans chiffres à virgules";echo "</BR>";
$L6E=1;
}
if (!preg_match("#^[0-9]{3,6}+$#",$AC))
{
echo "Indiquez votre altitude de croisiére";echo "</BR>";
$L6E=1;
}
if (!preg_match("#^[0-9]{2,5}+$#",$VC))
{
echo "Indiquez Votre vitesse de croisiére";echo "</BR>";
$L6E=1;
}
if ($L6E!=1)
{$L6=1;}
}
if (($L7==0)&&($L6==1))
{
if((!empty($FP)))
{
if (!preg_match("#^[0-9 a-z \-]+$#i",$FP))
{
echo "Plan de vol incorrecte";echo "</BR>";
$L7E=1;
}
if ($L7E==0)
{$L7=1;}
}
}
?>
Si tu veux de la vérification en temps réel c'est pas avec du PHP que tu vas réussir, il faut utiliser du jQuery, et aussi de l'AJAX dans certain cas.
http://www.grafikart.fr/tutoriels/jquery/valider-formulaire-jquery-57
Regarde ça.
merci du tuyaux, j'ai pu chercher avec les nouveaux thermes que tu m'a founirs et je suis tombé sur ce site
et j'ai bricolé ça qui marche nickel
<script type="text/javascript" src="/bootstrap/js/livevalidation_standalone.js"></script>
<p>
Ecrire "Bonjour":
<input type="text" id="sayHello">
<script type="text/javascript">
var bonjour = new LiveValidation('sayHello', { validMessage: '', wait: 500});
bonjour.add(Validate.Presence, {failureMessage: "Don't just ignore me, I wanna be your friend!"});
bonjour.add(Validate.Format, {pattern: /^bonjour$/i, failureMessage: "ce que avez taper ne correspond pas" } );
</script>
</p>
merci Nairolf