[RESOLU] Contrôle des champs formulaire

Eléphanteau du PHP | 32 Messages

14 nov. 2015, 23:14

Bonjour à tous,

je rencontre des difficultés avec mon formulaire.

Depuis que j’ai placé un contrôle des champs avant prévisualisation des données je me retrouve avec des erreurs.

En fait dans le code si dessous si j’ai bien compris c’est le exit(); qui pose problème.
J’ai essayé de le placer à différant endroit j’obtiens des résultats différant ma pas ce que je veux.
Ce que je souhaite c’est qu’avant validation tous les champs soit rempli. Or souvent ça marche jusque au (email_dest) mais en revanche si je remplis uniquement le message il envoie en plus de message d’erreur 5 la prévisualisation.

Des idées ?
<?php

if(isset($_POST['Preview']) && ($_POST['nom_exp'] == "") ){ echo "$erreur1"; }
if(isset($_POST['Preview']) && ($_POST['nom_dest'] == "") ){ echo "$erreur2"; }
if(isset($_POST['Preview']) && ($_POST['email_exp'] == "") ){ echo "$erreur3"; }
if(isset($_POST['Preview']) && ($_POST['email_dest'] == "") ){ echo "$erreur4"; }
if(isset($_POST['Preview']) && ($_POST['message'] == "") ){ echo "$erreur5"; }
 
else

exit();  

if(isset($_POST['Preview'])){
    $nom_exp=$_POST['nom_exp'];
    $nom_dest=$_POST['nom_dest'];
    $email_exp=$_POST['email_exp'];   
    $email_dest=$_POST['email_dest'];
    $message=$_POST['message'];    
    $rb1=$_POST['rb1'];   
    $rb2=$_POST['rb2'];   
    $rb3=$_POST['rb3'];  
        
    echo ''.$nom_exp.'<br/>'.$nom_dest.'<br/>'.$email_exp.'<br/>'.$email_dest.'<br/>'.$message.'<br/><br/><IMG SRC='.$rb1.'><br/><br/><IMG SRC='.$rb2.'><br/><br/><IMG SRC='.$rb3.'>';
}

?>

Mammouth du PHP | 2703 Messages

15 nov. 2015, 00:04

$erreur = "";
if(isset($_POST['Preview']) && ($_POST['nom_exp'] == "") ){ $erreur = "$erreur1"; }
else if(isset($_POST['Preview']) && ($_POST['nom_dest'] == "") ){ $erreur ="$erreur2"; }
...

if($erreur != ""){
echo $erreur; 
exit();  
}

Petit nouveau ! | 4 Messages

15 nov. 2015, 05:14

Mais je ne sais pas donc je laisse l'avis final à des expert ^^

Eléphanteau du PHP | 32 Messages

15 nov. 2015, 13:05

Je te remercie Or1 la gestion d’erreur fonction assez bien, j’ai juste une nouvelle complication au moment du contrôle des @ et des . dans les adresses mail la page s’affiche normalement mais avec une ligne

Notice: Undefined index: email_exp in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\S6\index2.php on line 83

Ce qui correspond à

Code : Tout sélectionner

$email = $_POST['email_exp'];
<?php

require_once 'erreur.php';


$email = $_POST['email_exp']; 
$point = strpos($email,"."); 
$aroba = strpos($email,"@"); 


$erreur = "";
if(isset($_POST['Preview']) && ($_POST['nom_exp'] == "") ){ $erreur ="$er1"; }
else if(isset($_POST['Preview']) && ($_POST['nom_dest'] == "") ){ $erreur ="$er1"; }
else if(isset($_POST['Preview']) && ($_POST['email_exp'] == "") ){ $erreur ="$er1"; }
else if(isset($_POST['Preview']) && ($_POST['email_dest'] == "") ){ $erreur ="$er1"; }
else if(isset($_POST['Preview']) && ($_POST['message'] == "") ){ $erreur ="$er1"; }

else if(isset($_POST['Preview']) && ($point=='') ){ $erreur ="$er2"; }

else if(isset($_POST['Preview']) && ($aroba=='') ){ $erreur ="$er3"; }


if($erreur != ""){
echo $erreur; 
exit();  
}

if(isset($_POST['Preview'])){
    $nom_exp=$_POST['nom_exp'];
    $nom_dest=$_POST['nom_dest'];
    $email_exp=$_POST['email_exp'];   
    $email_dest=$_POST['email_dest'];
    $message=$_POST['message'];    
    $rb1=$_POST['rb1'];   
    $rb2=$_POST['rb2'];   
    $rb3=$_POST['rb3'];  
        
    echo ''.$nom_exp.'<br/>'.$nom_dest.'<br/>'.$email_exp.'<br/>'.$email_dest.'<br/>'.$message.'<br/><br/><IMG SRC='.$rb1.'><br/><br/><IMG SRC='.$rb2.'><br/><br/><IMG SRC='.$rb3.'>';
}

?>

Mammouth du PHP | 2278 Messages

15 nov. 2015, 18:23

Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Mammouth du PHP | 2278 Messages

18 nov. 2015, 14:30

<?php

/* Comme $_POSt['Preview'] est testé partout avec des & on peut le mettre en premier*/
if(isset($_POST['Preview']) && ($_POST['nom_exp'] == "") ){ echo "$erreur1"; }
if(isset($_POST['Preview']) && ($_POST['nom_dest'] == "") ){ echo "$erreur2"; }
if(isset($_POST['Preview']) && ($_POST['email_exp'] == "") ){ echo "$erreur3"; }
if(isset($_POST['Preview']) && ($_POST['email_dest'] == "") ){ echo "$erreur4"; }
if(isset($_POST['Preview']) && ($_POST['message'] == "") ){ echo "$erreur5"; }

else

exit();

if(isset($_POST['Preview'])){
$nom_exp=$_POST['nom_exp'];
$nom_dest=$_POST['nom_dest'];
$email_exp=$_POST['email_exp'];
$email_dest=$_POST['email_dest'];
$message=$_POST['message'];
$rb1=$_POST['rb1'];
$rb2=$_POST['rb2'];
$rb3=$_POST['rb3'];

echo ''.$nom_exp.'<br/>'.$nom_dest.'<br/>'.$email_exp.'<br/>'.$email_dest.'<br/>'.$message.'<br/><br/><IMG SRC='.$rb1.'><br/><br/><IMG SRC='.$rb2.'><br/><br/><IMG SRC='.$rb3.'>';
}

?>
$compte_rendu = array();
$tout_ok = TRUE;
if (isset($_POST['Preview']))
{

if ($_POST['nom_exp'] == "")
{
$compte_rendu[] = $erreur1;
$tout_ok = false;
}
else
{
if ($_POST['nom_dest'] == "")
{
$compte_rendu[] = $erreur2;
$tout_ok = false;
}
else
{
if ($_POST['email_exp'] == "")
{
$compte_rendu[] = $erreur3;
$tout_ok = false;
}
else
{
if ($_POST['email_dest'] == "" )
{
$compte_rendu[] = $erreur4;
$tout_ok = false;
}
else
{
if ($_POST['message'] == "")
{
$compte_rendu[] = $erreur5;
$tout_ok = false;
}
else
{

}
}
}
}
}
if ($tout_ok == TRUE)
{

}
else
{
//afficher $compte_rendu
}
}
else
{
//je ne sais pas quoi faire
}

OU (si je ne me suis pas trompé dans les parenthèses
if (($_POST['email_exp'] == "") and ( filter_var($_POST['email_exp'], FILTER_VALIDATE_EMAIL))
			{
				$compte_rendu[] = $erreur3;
				$tout_ok = false;
			}
			else
			{
				if ($_POST['email_dest'] == "" )
				{
					$compte_rendu[] = $erreur4;
					$tout_ok = false;
				}
				else
{
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphanteau du PHP | 32 Messages

19 nov. 2015, 11:50

Un grand merci à tous.