Vérificateur de changement de données

[Résolu]
Signaler
Messages postés
27
Date d'inscription
samedi 21 juin 2003
Statut
Membre
Dernière intervention
5 janvier 2009
-
Messages postés
27
Date d'inscription
samedi 21 juin 2003
Statut
Membre
Dernière intervention
5 janvier 2009
-
Bonjour @ tous,

Je sais, c'est encore moi ... J'ai un petit souci avec un formulaire de modification de données.


<ol>
<li>Il n'affiche rien lorsqu'il y a une erreure dans l'e-mail</li>
<li>Il ne vérifie pas d'origine les champs obligatoires et donc, j'ai essayé de mettre la condition, mais je n'y parviens pas apparement. Je croyais qu'en inserant le script suivant cela allé marché, mais non.

 
   if( empty($mail) || empty($adresse1) || empty($code) || empty($ville) || empty($profession)) //On verifie que les variables précédentes ne soient pas vide
   {
    $reponse = 'Un ou plusieurs champs ne sont pas remplis, [javascript:history.back(1) Retour au formulaire]';
   }

Je vous met la page de vérification dans son intégralité pour que vous puissiez la juger.

<?php
session_start();
require("conf.php3");</li>
</ol>



if (!isset($_SESSION['pseudo']))
{
 die('Vous n\'êtes pas autorisez à acceder à cette page.');
}



 $pseudo_session = $_SESSION['pseudo'];
 $pseudo_form = $_POST['pseudo'];
 $mail = $_POST['mail'];
 $mdp = $_POST['mdp'];
 $new_mdp = $_POST['new_mdp'];
 $adresse1 = $_POST['adresse1'];
 $adresse2 = $_POST['adresse2'];
 $code = $_POST['code'];
 $ville = $_POST['ville'];
 $profession = $_POST['profession']; 
 $website = $_POST['website'];  



 $sql = connect_sql(); //Connection...
 
 $recherche = mysql_query ("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_session'");
 $var = mysql_fetch_array ($recherche);
 $pass_sql = $var['pass'];
 $mail_sql = $var['mail'];
 
 if($pass_sql != $mdp)
 {
  $reponse = 'Le mot de passe n\'est pas bon.' ;



 } 
 else  
 {
  if ( $mail != $mail_sql )
  {
   $verification2 = mysql_query("SELECT COUNT(*) FROM pdf_membre WHERE mail='$mail'") or die (mysql_error());
   $donnees2 = mysql_fetch_array($verification2)or die (mysql_error());
  
   if( empty($mail) || empty($adresse1) || empty($code) || empty($ville) || empty($profession)) //On verifie que les variables précédentes ne soient pas vide
   {
    $reponse = 'Un ou plusieurs champs ne sont pas remplis, [javascript:history.back(1) Retour au formulaire]';
   }
   if($donnees2['COUNT(*)'] >= 1)
   {
    $reponse = 'Cette adresse e-mail est déjà utilisé, veuillez en choisir une autre. [javascript:history.back(1) Retour au formulaire]';
   }
  } 
  elseif(empty($mail))
  {
   $reponse = 'Vous n\'avez pas rempli le champ de l\'email.' ;
  }  
  elseif(empty($new_mdp))
  {
   mysql_query ("UPDATE pdf_membre SET `mail`='$mail', `adresse1`='$adresse1', `adresse2`='$adresse2', `code`='$code', `ville`='$ville', `profession`='$profession', `website`='$website' WHERE pseudo='$pseudo_session'");
   $reponse = 'Vos données on été actualisées. [pdf_espace_membre.php Retour à l\'espace membre]' ;
  }
  elseif(!empty($new_mdp))
  {
   mysql_query ("UPDATE pdf_membre SET `mail`='$mail', `adresse1`='$adresse1', `adresse2`='$adresse2', `code`='$code', `ville`='$ville', `profession`='$profession', `website`='$website', `pass`='$new_mdp' WHERE pseudo='$pseudo_session'");
   $reponse = 'Vos données on été actualisées. [pdf_espace_membre.php Retour à l\'espace membre]';
  }
 }
 mysql_close($sql); //Deconnection 
?>



<html>

<? echo $reponse; ?>

</html>


Vous remerciant par avance de votre aide

Richard

5 réponses

Messages postés
27
Date d'inscription
samedi 21 juin 2003
Statut
Membre
Dernière intervention
5 janvier 2009

C'est bon, j'y suis arrivé... j'ai trouvé... voici ma solution... tant sa peut servire à d'autres nul comme moi

<?php
session_start();
require("conf.php3");





$mail = $_POST['mail'];
$adresse1 = $_POST['adresse1'];
$code = $_POST['code'];
$ville = $_POST['ville'];
$profession = $_POST['profession'];



    if (preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $mail)) //Verifie que l'email entrée n'est pas une fausse.
    {
 
 if( empty($adresse1) || empty($code) || empty($ville) || empty($profession)) //On verifie que les variables précédentes ne soient pas vide
   {
 die('Un ou plusieurs champs ne sont pas remplis, [javascript:history.back(1) Retour au formulaire]');
}
 
if (!isset($_SESSION['pseudo']))
{
 die('Vous n\'êtes pas autorisez à acceder à cette page. [javascript:history.back(1) Précédent]');
}



 $pseudo_session = $_SESSION['pseudo'];
 $pseudo_form = $_POST['pseudo'];
 $mail = $_POST['mail'];
 $mdp = $_POST['mdp'];
 $new_mdp = $_POST['new_mdp'];
 $adresse1 = $_POST['adresse1'];
 $adresse2 = $_POST['adresse2'];
 $code = $_POST['code'];
 $ville = $_POST['ville'];
 $profession = $_POST['profession']; 
 $website = $_POST['website'];  



 $sql = connect_sql(); //Connection...
 
 $recherche = mysql_query ("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_session'");
 $var = mysql_fetch_array ($recherche);
 $pass_sql = $var['pass'];
 $mail_sql = $var['mail'];
 
 if($pass_sql != $mdp)
 {
  $reponse = 'Le mot de passe n\'est pas bon. [javascript:history.back(1) Retour au formulaire]' ;



 } 
 else  
 {
  if ( $mail != $mail_sql )
  {
   $verification2 = mysql_query("SELECT COUNT(*) FROM pdf_membre WHERE mail='$mail'") or die (mysql_error());
   $donnees2 = mysql_fetch_array($verification2)or die (mysql_error());
  
   if($donnees2['COUNT(*)'] >= 1)
   {
    $reponse = 'Cette adresse e-mail est déjà utilisé, veuillez en choisir une autre. [javascript:history.back(1) Retour au formulaire]';
   }
  }
  elseif(empty($mail))
  {
   $reponse = 'Vous n\'avez pas rempli le champ de l\'email.' ;
  }  
  elseif(empty($new_mdp))
  {
   mysql_query ("UPDATE pdf_membre SET `mail`='$mail', `adresse1`='$adresse1', `adresse2`='$adresse2', `code`='$code', `ville`='$ville', `profession`='$profession', `website`='$website' WHERE pseudo='$pseudo_session'");
   $reponse = 'Vos données on été actualisées. [pdf_espace_membre.php Retour à l\'espace membre]' ;
  }
  elseif(!empty($new_mdp))
  {
   mysql_query ("UPDATE pdf_membre SET `mail`='$mail', `adresse1`='$adresse1', `adresse2`='$adresse2', `code`='$code', `ville`='$ville', `profession`='$profession', `website`='$website', `pass`='$new_mdp' WHERE pseudo='$pseudo_session'");
   $reponse = 'Vos données on été actualisées. [pdf_espace_membre.php Retour à l\'espace membre]';
  }
 }
 mysql_close($sql); //Deconnection
 }
 else //Reponse si l'adresse e-mail est une fausse
 {
  $reponse = 'Votre adresse e-mail "' . $mail . '" n\'est pas correcte. [javascript:history.back(1) Retour au formulaire]';
 }  
?>



<html>

<? echo $reponse; ?>

</html>
Messages postés
72
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
5 février 2010

slt

à tu essayer de mettre OR à la place de || ??

Heureux l'étudiant qui comme la rivière arrive a suivre son cours sans sortir de son lit...
Messages postés
27
Date d'inscription
samedi 21 juin 2003
Statut
Membre
Dernière intervention
5 janvier 2009

Salut Spoonisback,

Pourquoi "OR" ? "OR" c'est "OU" et je veux que toutes les conditions soit remplie. Or, même avec ça, l'abscence de donnée dans l'une ou l'autre des... euh comment on appelle ça encore... ressource peut-être ? n'empêche l'enregistrement.

Mais j'ai tout de même essayé ta proposition et cela n'a rien changé à mon problème, même avec les champs vide il valide l'enregistrement.

Help me please
Messages postés
27
Date d'inscription
samedi 21 juin 2003
Statut
Membre
Dernière intervention
5 janvier 2009

En faite, en ce qui concerne l'e-mail, il compare bien l'adresse au autres adresses de la base, mais lorsque celle ci est incorrect (par exemple qu'il manque "@") il affiche une page toute blanche sans rien.

J'ai tenté de modifier le script ainsi, mais ça n'a rien changé au problème, il enregistre toujours les champs vide.

<?php
session_start();
require("conf.php3");





if (!isset($_SESSION['pseudo']))
{
 die('Vous n\'êtes pas autorisez à acceder à cette page.');
}



 $pseudo_session = $_SESSION['pseudo'];
 $pseudo_form = $_POST['pseudo'];
 $mail = $_POST['mail'];
 $mdp = $_POST['mdp'];
 $new_mdp = $_POST['new_mdp'];
 $adresse1 = $_POST['adresse1'];
 $adresse2 = $_POST['adresse2'];
 $code = $_POST['code'];
 $ville = $_POST['ville'];
 $profession = $_POST['profession']; 
 $website = $_POST['website'];  



 $sql = connect_sql(); //Connection...
 
 $recherche = mysql_query ("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_session'");
 $var = mysql_fetch_array ($recherche);
 $pass_sql = $var['pass'];
 $mail_sql = $var['mail'];
 $adresse1_sql = $var['adresse1'];
 $adresse2_sql = $var['adresse2'];
 $code_sql = $var['code'];
 $ville_sql = $var['ville'];
 $profession_sql = $var['profession'];
 $website_sql = $var['website'];
 
 if($pass_sql != $mdp)
 {
  $reponse = 'Le mot de passe n\'est pas bon.' ;



 } 
 else  
 {
  if ( $mail != $mail_sql )
  {
   $verification2 = mysql_query("SELECT COUNT(*) FROM pdf_membre WHERE mail='$mail'") or die (mysql_error());
   $donnees2 = mysql_fetch_array($verification2)or die (mysql_error());
  
   if( empty($mail_sql) || empty($adresse1_sql) || empty($code_sql) || empty($ville_sql) || empty($profession_sql)) //On verifie que les variables précédentes ne soient pas vide
   {
    $reponse = 'Un ou plusieurs champs ne sont pas remplis, [javascript:history.back(1) Retour au formulaire]';
   }
   if($donnees2['COUNT(*)'] >= 1)
   {
    $reponse = 'Cette adresse e-mail est déjà utilisé, veuillez en choisir une autre. [javascript:history.back(1) Retour au formulaire]';
   }
  } 
  elseif(empty($mail))
  {
   $reponse = 'Vous n\'avez pas rempli le champ de l\'email.' ;
  }  
  elseif(empty($new_mdp))
  {
   mysql_query ("UPDATE pdf_membre SET `mail`='$mail', `adresse1`='$adresse1', `adresse2`='$adresse2', `code`='$code', `ville`='$ville', `profession`='$profession', `website`='$website' WHERE pseudo='$pseudo_session'");
   $reponse = 'Vos données on été actualisées. [pdf_espace_membre.php Retour à l\'espace membre]' ;
  }
  elseif(!empty($new_mdp))
  {
   mysql_query ("UPDATE pdf_membre SET `mail`='$mail', `adresse1`='$adresse1', `adresse2`='$adresse2', `code`='$code', `ville`='$ville', `profession`='$profession', `website`='$website', `pass`='$new_mdp' WHERE pseudo='$pseudo_session'");
   $reponse = 'Vos données on été actualisées. [pdf_espace_membre.php Retour à l\'espace membre]';
  }
 }
 mysql_close($sql); //Deconnection 
?>



<html>

<? echo $reponse; ?>

</html>
Messages postés
27
Date d'inscription
samedi 21 juin 2003
Statut
Membre
Dernière intervention
5 janvier 2009

Bon, j'ai résolu mon problème d'e-mail, mais j'ai toujours celui des réponse manquante.

Est-ce qu'une âme charitable pourrait se pencher sur mon problème, sil vous plait ?

Merci d'avance à vous