Modification Email php

testeur -  
 testeur -
Bonjour,


Je suis en train de concevoir un site web.
Donc la j'ai créer un formulaire qui permet de changer son adresse mail par un nouvelle.
Hors je ne vois pas comment vérifier si la nouvelle email de l'utilisateur et disponible par rapport à tout les email de la bdd.
Merci pour vos réponse
A voir également:

12 réponses

potierb1982 Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   1
 
Tu fais un SELECT count(*) sur la table contenant les adresses mails, avec un filtre sur la nouvelle adresse.

Si la requête te retourne une valeur supérieure à 0, c'est que l'adresse existe déjà en base.
0
testeur
 
Un filtre, tu veux parler de quoi par là ?
0
potierb1982 Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   1
 
Exemple:
SELECT count(*) FROM NOM_DE_LA_TABLE
WHERE champ_mail = 'toto@gmail.com';

Bonne chance.
0
testeur
 
Le problème c'est qu'il faut que je compare le champ nouveaumail avec le champ email pour voir si la nouvelle email n'est pas déjà utilisé. Et je ne vois pas comment faire. As-tu une idée là dessus ?
0

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

Posez votre question
testeur
 
up :D
0
Freedomsoul Messages postés 509 Date d'inscription   Statut Membre Dernière intervention   97
 
C'est ce que potierb t'as donné ^^

Tu que tu remplaceras toto@gmail.com par la valeur de ton champs avec la nouvelle adresse mail que l'utilisateur va entrer.

si la requete te renvoie 1, ça signifie que l'adresse mail existe !
Sinon, elle est libre :)

Par contre vérifie bien qu'il s'agit bien d'une adresse mail valide au niveau du format (RegExp)


Voilà
0
testeur
 
$modif = $cnx->query("SELECT count(*) FROM users_membre WHERE email = '$nouveaumail'");
$rows = $modif->rowCount();
if($rows == 0)
{
echo 'dispo';
}
else

{
echo 'non dispo';
}
0
testeur
 
Dans les 2 cas il me met adresse non dispo
0
Freedomsoul Messages postés 509 Date d'inscription   Statut Membre Dernière intervention   97
 
ah....

Hum....

BIzarre...
Normalement ça change rien mais bon,.. essai ça:
$modif = $cnx->query("SELECT count(*) FROM users_membre WHERE email = '".$nouveaumail."'");

tu peux avoir quoi comme informations sur la requete ?, essaie de faire un
var_dump($cnx);

Mais je vois pas ce qui va pas :s
0
testeur
 
Non toujours même problème il me dit que l'adresse est déjà utilisé.
Je vous met le code au cas ou vous trouverez quelque chose.

<?php
require('config.php');
session_start(); //demarre session
if(isset($_SESSION['pseudonyme'])) //vérifie si l'utilisateur est bien connecter
{
$pseudonyme = $_SESSION['pseudonyme'];
if(isset($_POST['submit'])) //si submit à été activé
{
$email = htmlspecialchars(trim($_POST['email']));
$nouveaumail = htmlspecialchars(trim($_POST['nouveaumail']));

if($email && $nouveaumail) //verifie si tout les champs sont entrer
{
if(filter_var($email, FILTER_VALIDATE_EMAIL))
{
if(filter_var($nouveaumail, FILTER_VALIDATE_EMAIL))
{
$modif = $cnx->query("SELECT * FROM users_membre WHERE email='$email'");
$rows = $modif->rowCount();
if($rows == 1)
{
$modif = $cnx->query("SELECT count(*) FROM users_membre WHERE email = '".$nouveaumail."'");
$rows = $modif->rowCount();
if($rows == 0)
{
$nouveaumailprepare = $cnx->prepare("UPDATE users_membre SET email='$nouveaumail' WHERE pseudonyme='$pseudonyme'");
$nouveaumailprepare->execute();
header('Location: mail_ok.php');
}
else
{
echo '<span class="inscription1">L\'adresse Email est déjà utilisé par un autre membre</span>';
}
}
else
{
echo "<span class='inscription1'>Votre ancienne adresse Email est incorrect !</span>";
}
}
else
{
echo '<span class="inscription1">votre nouvelle adresse mail est incorrect !';
}
}
else
{
echo '<span class="inscription1">Votre adresse Email est incorrect !';
}
}
else
{
echo '<span class="inscription1">Veuillez remplir tout les champs !';
}

}
}
else //sinon il redirige vers la page login.php
{
header('Location: index.php');
}
?>
0
testeur
 
up !
0
testeur
 
Vraiment personne ne peut m'aider ??
0