Vérificateur de changement de données

Résolu
cs_givit Messages postés 27 Date d'inscription samedi 21 juin 2003 Statut Membre Dernière intervention 5 janvier 2009 - 28 oct. 2007 à 20:09
cs_givit Messages postés 27 Date d'inscription samedi 21 juin 2003 Statut Membre Dernière intervention 5 janvier 2009 - 29 oct. 2007 à 15:24
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

cs_givit Messages postés 27 Date d'inscription samedi 21 juin 2003 Statut Membre Dernière intervention 5 janvier 2009
29 oct. 2007 à 15:24
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>
3
cs_spoonisback Messages postés 72 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 5 février 2010
29 oct. 2007 à 13:36
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...
0
cs_givit Messages postés 27 Date d'inscription samedi 21 juin 2003 Statut Membre Dernière intervention 5 janvier 2009
29 oct. 2007 à 13:55
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
0
cs_givit Messages postés 27 Date d'inscription samedi 21 juin 2003 Statut Membre Dernière intervention 5 janvier 2009
29 oct. 2007 à 14:23
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>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_givit Messages postés 27 Date d'inscription samedi 21 juin 2003 Statut Membre Dernière intervention 5 janvier 2009
29 oct. 2007 à 14:40
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
0
Rejoignez-nous