Problème modification profil membre !

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème modification profil membre !

par Truc » 11 janv. 2007, 19:51

Un modo pour le tag [Résolu] ? ^^
:wink:

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton [Mettre Résolu] qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)

par Ultim4T0m » 11 janv. 2007, 19:50

Dernière chose, pense à bien extraire tes variables, c'est plus propre :
("SELECT email FROM membres WHERE email='".$email."' AND pseudo<>'".$pseudo."'")
Et ne mets pas != mais <> (opérateur différent de)

Un modo pour le tag [Résolu] ? ^^

par Invité » 11 janv. 2007, 19:46

ah exact :oops:

j'ai mon problème qui est revenu !

donc,j'ai mi ca :
("SELECT email FROM membres WHERE email='$email' AND pseudo!='$pseudo'")
et là, c'est parfait :wink:

et bien voilà !

merci beaucoup pour votre aide :D

par Ultim4T0m » 11 janv. 2007, 19:41

Tu pourrais compléter la condition WHERE de ta requête avec un AND et préciser que l'identifiant doit être différent de celui de l'utilisateur connecté. Ainsi pas de risque de le comparer au sien :)
On ne sélectionne pas le pseudo, au contraire, on limite la recherche uniquement aux autres personnes, en excluant l'utilisateur de la recherche, pour ne pas que son adresse mail soit prise en compte, et ainsi, ne pas obtenir le message précisant que l'adresse mail est déjà prise.

par Invité » 11 janv. 2007, 19:39

Non, c'est bon !

cela est un peu plus correct :
("SELECT email FROM membres WHERE email='$email' AND pseudo!='$pseudo'")
Je vient de tester par mille et une facon possible et tout fonctionne correctement :D

Sauf que en prenant seulement ca :
SELECT email FROM membres WHERE email!='$email');
le résultat est identique.....

c'est pourtant flagrant $email est la valeur du mail du membre qui change ces infos, pourquoi donc sélectionner en plus le pseudo ? Nous ce qui nous interresse c'est le mail et non le pseudo !

par Ultim4T0m » 11 janv. 2007, 19:29

Tu peux nous montrer tout le code de ta page s'il te plaît ? J'ai comme un doute là... ^^'

par Invité » 11 janv. 2007, 19:25

En général, je ne met pas $_session mais seulement echo $pseudo !

par Ultim4T0m » 11 janv. 2007, 19:19

Oula

L'opérateur <> en SQL correspond tout simplement au != de PHP

Ce que tu viens de faire n'a, d'une part, aucun sens, et ne te serais d'aucune utilité puisque toi, ce que tu veux, c'est voir si le mail entré est déjà présent dans la table membres.

En plus de ta vérification dans ton WHERE email='".$email."', nous te proposons de rajouter une condition, à savoir AND pseudo<>'".$_SESSION['pseudo']."'

As-tu fais un echo de $_SESSION['pseudo'] ?

par Invité » 11 janv. 2007, 19:15

Alors là , je comprend rien !

Si je fait ca :
SELECT email FROM membres WHERE email<=>'$email'"
Ca fonctionne ?

par Ryle » 11 janv. 2007, 19:02

D'ailleurs, une question me titille... Dans le cas d'un nombre, comme par exemple un id, il vaut mieux mettre ...$_SESSION['id']."") ou ...$_SESSION['id']) ?
Le ."" ajoute une chaine vide, ce qui dans ton sql (et en général) ne sert absolument à rien :) Le seul intérêt que tu pourrais avoir à faire ceci est la conversion implicite en chaine que cela engendre.

Si la question était relative aux apostrophes, il ne faut en effet pas en mettre dès lors que le champ visé est numérique. MySQL tolère que l'on mette des apostrophes autour des nombres et fait la conversion (dont il se serait très bien passé si on ne lui avait pas collé les ' ;))

Pour en revenir au sujet, vérifie/affiche la valeur dans ta session, vérifie la requête sql générée, joue la dans mysql, ...

(et pour les fois suivantes, je ne saurais trop que te conseiller d'utiliser des identifiants numériques plutôt que des chaines comme clé primaire de tes tables :))

par Ultim4T0m » 11 janv. 2007, 19:02

Hum, ça vient peut-être du fait qu'en SQL, on ne note pas != mais <> (il me semble pourtant que les deux fonctionnement)

Au passage, fait un echo de $_SESSION['pseudo'], on ne sait jamais

par Invité » 11 janv. 2007, 18:39

Je sélectionne toujours au pseudo !

par Ultim4T0m » 11 janv. 2007, 18:34

Question idiote. Le champ de session, c'est `pseudo` ou il porte un autre nom ?

par Invité » 11 janv. 2007, 18:14

Ca na pas l'air de fonctionner... :(

si je fait :

$reponse_mail=mysql_query("SELECT email FROM membres WHERE email='".$email."' AND pseudo!='".$_SESSION['pseudo']."'") or die ('Erreur : '.mysql_error()); 
$count_mail=mysql_num_rows($reponse_mail);
J'ai exactement le meme problème :?:

par Ultim4T0m » 11 janv. 2007, 17:41

Peut-être comme ça alors :
<?php

$reponse_mail=mysql_query("SELECT email FROM membres WHERE email='".$email."' AND pseudo!='".$_SESSION['pseudo']."'") or die ('Erreur : '.mysql_error());

$count_mail=mysql_num_rows($reponse_mail); 

?>
D'ailleurs, une question me titille... Dans le cas d'un nombre, comme par exemple un id, il vaut mieux mettre ...$_SESSION['id']."") ou ...$_SESSION['id']) ?