alors la requête fonctionne?!
vérifie dans ta bdd que les champs nom et prénoms sont vides ou pas!
si ça te donne le reste des infos c'est que ces 2 champs là sont vides!
alors la requête fonctionne?!
vérifie dans ta bdd que les champs nom et prénoms sont vides ou pas!
si ça te donne le reste des infos c'est que ces 2 champs là sont vides!
.: and Justice for all :.
------------------------------------------------------------
Membre du jury de l'élection de Mister DVP.com
les règles du forum
de penser au tag
oui ils sont vides !
alors j'ai essayé cette manip: je les modifie depuis la base...
Donc mon espace membre est complet...et si je clique sur modifier
Paf !
Le prénom et le nom disparaissent !
Chuis sure que tu n'as jamais vu ça
bizarre!!!
es-tu sûr qu'ils ne sont pas vides au départ?
.: and Justice for all :.
------------------------------------------------------------
Membre du jury de l'élection de Mister DVP.com
les règles du forum
de penser au tag
ecoute....je viens de supprimer tout simplement l'enregistrement dans la base de données, je me suis réinscrite....et là :
tout fonctionne !!!!!!
Merci de t'être penchée sur le sujet...qui tient de la troisième dimension, non ??? c'est dingue ça quand meme !
en fait mon bidule n'est pas résolu du tout !!!
Car maintenant si je veux modifier le prénom : mettre tartentpion à la place de trucmuche, il me remet tartenpion !!! c'est bloqué !
heu pour mettre de nouvelles valeurs tu dois récupérer celles envoyées via le formulaire! hors dans ta requête update tu utilises ce qui a été sélectionné de la bdd !!
.: and Justice for all :.
------------------------------------------------------------
Membre du jury de l'élection de Mister DVP.com
les règles du forum
de penser au tag
Mais qu'est ce qui explique quand même que je peux faire des modifs sur les autres champs....enlever ou ajouter une date de naissance par exemple???Envoyé par allyson
donc je dois reprendre ce que tu m'avais suggéré ?
C'est ça ?
Peux tu me donner un exemple sinon ?
Merci
je crois avoir compris !
enfin....
A l'issue de l'UPDATE....
Je fais un header....donc je perdais les infos de session...
J'ai corrigé en mettant ça :
tu en penses quoi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 //---Mise à jour dans la base mysql_select_db($database, $connexion); $updateMembres = "UPDATE membres SET login='".$_POST['login']."', nom='".$_POST['nom']."', prenom='".$_POST['prenom']."', pass='".$_POST['pass']."', pass2='".$_POST['pass2']."', adresse='".$_POST['adresse']."', code_postal='".$_POST['code_postal']."', ville='".$_POST['ville']."', email='".$_POST['email']."', tel='".$_POST['tel']."', naissance='".$_POST['naissance']."'"; $updateMembres .= "WHERE login='$login'"; mysql_query($updateMembres, $connexion) or die(mysql_error()); header("Location: moncompte.php"); } ?>
Je me pose la question de la sécurité !!!!!
Il faut mettre quoi devant les $_POST pour empecher un éventuel piratage.... :
bonjour,
je crois que c'est plus correcte comme celà!
pour ce qui est de la sécurité tu as déjà une première protection (la concaténation: prenom='".$_POST['prenom']."') elle permet d'éviter les sql injections!
mais il te faut plus et ce petit plus c'est mysql_real_escape_string() (clique sur le lien )
.: and Justice for all :.
------------------------------------------------------------
Membre du jury de l'élection de Mister DVP.com
les règles du forum
de penser au tag
merci !
Oui c'est ce que j'avais mis dans ma page valid.php, et j'ai du le supprimer
car :
Fatal error: Call to undefined function: mysql_real_escape_string() in /opt/vhost/xxxxxxxxxx/xxxx/xxxxx/includes/valid.php on line 14"
Je crois que chez cet hébergeur, la version php es trop ancienne, c'est ça ?
Pour l'instant, il s'agit d'un espace TEST....donc je le ferais apres.
La syntaxe est bien la suivante ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if (isset($_POST) && !empty($_POST['login']) &&!empty($_POST['pass2'])) { // premier test à faire, est-ce qu'un login est passé ? si non, pas la peine de faire d'autre controle, on passe direct à la fin $login=trim(htmlentities(addslashes($_POST['login']))); $pass=trim(htmlentities(addslashes($_POST['pass2']))); // on stock dans $login pour simplifier l'écritude et la lisibilité mysql_connect($dbhost,$dblogin,$dbpassword); mysql_selectdb($dbname); $result=mysql_query("SELECT nom, prenom FROM membres WHERE login='$login' AND pass2='$pass'", mysql_real_escape_string($login), mysql_real_escape_string($pass));
Code : Sélectionner tout - Visualiser dans une fenêtre à part $result=mysql_query("SELECT nom, prenom FROM membres WHERE login='".mysql_real_escape_string($login)."' AND pass2='".mysql_real_escape_string($pass)."'");
.: and Justice for all :.
------------------------------------------------------------
Membre du jury de l'élection de Mister DVP.com
les règles du forum
de penser au tag
merci Alysson,
c'est ce que j'avais fait précédemment, mais je viens de faire une vérif par phpinfo, et je m'aperçois que je suis en PHP4.1.2 et que donc
mysql_escape_string est activé mais pas l'autre.
il faut que je me renseigne aussi sur le magic quotes....!
Merci en tous cas de ton aide !
je t'en prie
très bon courage
.: and Justice for all :.
------------------------------------------------------------
Membre du jury de l'élection de Mister DVP.com
les règles du forum
de penser au tag
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager