Page 1 sur 1

probleme de controle de champs

Posté : 30 déc. 2005, 15:34
par materiel67
Bonjour et bonne fete a tous.
J'ai 1 petit soucis sur des controle de champs.
1° quand je click sur le lien pour afficher la page de publication de l'annonce il m'affiche de suite le message "Vous avez oublié de remplir un champ." alors qu'il ne devrais s'afficher qu'au moment de clicker sur le bouton pour valider l'annonce si un champs n'est pas remplis.
Voila mon code. Merci de votre aide
<?

require_once ('../../BaseDeDonnee.php');

if( isset($_POST["T1"]) )
$Sexe = $_POST["T1"];

$Date = date("d/m/Y ");

if( isset($_POST["T2"]) ) 
$Region = $_POST["T2"];

if( isset($_POST["T3"]) )
$Pseudo = $_POST["T3"];
	
if( isset($_POST["T4"]) ) 
$Email = $_POST["T4"];

if( isset($_POST["S1"]) ) 
$Annonce = $_POST["S1"];

if( isset($_POST["F1"]) )
$Photo = $_POST["F1"];
	

$DB = new BaseDeDonnee();
$DB->seConnecter();


if( isset($_POST["T1"]) ){	//chargement suite à l'appui sur le bouton		
	
$requete = "Insert INTO annonce_francaise (Sexe,Date,Region,Pseudo,Email,Annonce,Photo) VALUE ('$Sexe', '$Date', '$Region', '$Pseudo', '$Email', '$Annonce', '$Photo') ";	

$resultat = $DB->requete($requete);
}	
//Vérification si tous les champs sont remplis
if (!empty ($Pseudo)&& ($Email) && ($Annonce))  // variable non vide
{ 
} 
else {
  //echo 'Vous avez oublié de remplir un champ.';// variable vide ou non définie 
  echo "<script type=\"text/javascript\">
	    alert('Vous avez oublié de remplir un champ.')</script>";
}

?> 
<html>
<!-- Date de création: 15/10/2005 -->
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  <title>Creer_Annonces</title>
  <script language="JavaScript">
<!-- Begin
var dd2, delay2, TheYear;
function debuteDate2() {
  var adate, date, amonth;
  delay2 = 10000;

  adate = new Date();
  date = adate.getDate();
  amonth = adate.getMonth()+1;

  if (adate.getYear() > 1999)
    TheYear = adate.getYear();
  else 
    TheYear = (1900 + adate.getYear());

  if (amonth < 10)
    date += "/0" + amonth + "/" + TheYear;
  else date += "/" + amonth + "/" + TheYear;
  date = "  " + date;
  document.Temps22.date.value = date;

  dd2 = setTimeout("debuteDate2(delay2)",delay2);
}
// End -->
  </script>

  <link rel="stylesheet" type="text/css" href="../../Styles/styles_asti.css">
</head>
<body onLoad="debuteDate2()" onUnload="clearTimeout(dd2)">
<div style="text-align: center"><h3>Ajouter une annonce</h3></div><br>
<a href="Afficher_Annonce.php">Afficher les annonces</a><br><br>
 
<form name="Temps22" action="Ajouter_Annonces.php" method="post">
<u><b>Votre annonce ne sera visible qu'après validation et pour une durée de 60 jours</b></u>
<pre>  <b>Date du jour :<font color="#0066CC"></font></b>				<input type="text" name="date" size="10"readonly style="font-weight: bold; text-transform: uppercase; background-color: #F6D8E0" >
  
  <b>Sélectionnez votre sexe :<font color="#0066CC"></font></b>		<select name="T1" size="1">
	<option value="Homme"> Homme</option>
	<option value="Femme"> Femme</option>
	
</select>

  <b>Sélectionnez votre région :<font color="#0066CC">*</font></b>		<select name="T2" size="1">
	<option value="Alsace"> Alsace</option>
	<option value="Allemagne"> Allemagne</option>
</select>

  <b>Votre pseudo :<font color="#0066CC">*</font></b>				<input type="text" name="T3" size="20" style="text-transform: capitalize" maxlength="100">
  
  <b>Email :<font color="#0066CC">**</font></b>					<input type="text" name="T4" size="20" maxlength="100">
  
  <b>Texte de l'annonce :<font color="#0066CC">*</font></b>	  
  <textarea rows="6" name="S1" cols="80"></textarea>
  
  
<b><font color="#0066CC">* Champs Obligatoires</font></b>
<b><font color="#0066CC">** Champs Obligatoires mais non visibles</font></b>

   <div style="text-align: center"><input type="submit" value="Valider"> </div>
</pre>
</form>
</body>
</html>

Posté : 30 déc. 2005, 15:43
par Cyrano
Normal, tu lances la vérification du formulaire dès le chargement de la page.

Plutôt que de longues explication, je te renvoie vers un formulaire modèle dont tu peux t'inspirer pour la validation.

J'y ai mis pas mal de commentaires qui vont te permettre de suivre facilement.

Posté : 30 déc. 2005, 15:56
par materiel67
merci je vais essayer de trouver mon erreur

Posté : 30 déc. 2005, 16:05
par Cyrano
Ok, et j'espère que cette fois-ci, tu n'as pas éparpillé la même question sur un paquet de forums différents. Le cas échéant, si tu obtiens une réponse ailleurs, n'oublie pas de venir mettre la solution ici aussi... :-"