Récupération de données

Résolu
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   -  
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Sur mon site qui est actuellement en construction j'ai mis un espace membre.
Mon gros soucis c'est que je n'arrive pas à faire afficher les données que le membre à rentré afin qu'il puisse éventuellement les modifier.
J'ai un lien "modifier mon profil" mais en cliquant dessus le formulaire reste vide.
Je vous donne ma page "user_compte" en espérant que vous pouvez m'aider?

Il y a longtemps que je cherche mais comme je suis débutant dans ce domaine....
Il me manque juste cette histoire pour le mettre en ligne.
Merci très sincèrement de votre aide.

[code=php]
<?php
if (isset($_SESSION['pseudo']) && $_SESSION['pseudo'] != NULL)
{
$pseudo = $_SESSION['pseudo'];
$recup_user = mysql_query("SELECT * FROM membre WHERE email='$pseudo'");
$user = mysql_fetch_array($recup_user);
}
?>
<h1>Mon Compte</h1>



<table border="1">
<tr>
<th>Nom</th>
<th>Prénom</th>
<th>Adresse</th>
<th>Code Postal</th>
<th>Ville</th>
<th>Téléphone Fixe</th>
<th>Téléphone Portable</th>
<th>Email</th>
<th>Mot de passe</th>
</tr>
<tr>
<td><?php echo $user['nom'] ?></td>
<td><?php echo $user['prenom'] ?></td>
<td><?php echo $user['adresse'] ?></td>
<td><?php echo $user['cp'] ?></td>
<td><?php echo $user['ville'] ?></td>
<td><?php echo $user['telephone_fixe'] ?></td>
<td><?php echo $user['telephone_portable'] ?></td>
<td><?php echo $user['email'] ?></td>
<td><?php echo $user['password'] ?></td>
</tr>
</table>
<br/><br/>
<?php

$PARAM = array
(
'ID' => isset($_REQUEST['user_id']) ? $_REQUEST['user_id'] : '',
'NOM' => isset($_POST['user_nom']) ? strtoupper(trim($_POST['user_nom'])) : '',
'PRENOM' => isset($_POST['user_prenom']) ? ucfirst(trim($_POST['user_prenom'])) : '',
'ADRESSE' => isset($_POST['user_adresse']) ? ucwords(trim($_POST['user_adresse'])) : '',
'CP' => isset($_POST['user_cp']) ? $_POST['user_cp'] : '',
'VILLE' => isset($_POST['user_ville']) ? strtoupper(trim($_POST['user_ville'])) : '',
'TELEPHONE_F' => isset($_POST['user_telephone_f']) ? $_POST['user_telephone_f'] : '',
'TELEPHONE_P' => isset($_POST['user_telephone_p']) ? $_POST['user_telephone_p'] : '',
'EMAIL' => isset($_POST['user_email']) ? $_POST['user_email'] : '',
'PASSWORD' => isset($_POST['user_pwd']) ? $_POST['user_pwd'] : ''

);

if (isset($_REQUEST['action']) AND !empty($_REQUEST['action'])) {

// Selon l'action on va supprimer, modifier ou ajouter un membre
switch($_REQUEST['action']) {
case 'supprimer':
$sql = "DELETE FROM membre WHERE id=:id";
$requete = $connexion->prepare($sql);
$requete->bindParam(':id', $PARAM['ID']);
$requete->execute();
break;

case 'ajouter':
$sql = "INSERT INTO membre (nom, prenom, adresse, cp, ville, telephone_fixe, telephone_portable, email, password) VALUES (:nom, :prenom, :adresse, :cp, :ville, :telephone_fixe, :telephone_portable, :email, :password)";
$requete = $connexion->prepare($sql);
$requete->bindParam(':nom', $PARAM['NOM']);
$requete->bindParam(':prenom', $PARAM['PRENOM']);
$requete->bindParam(':adresse', $PARAM['ADRESSE']);
$requete->bindParam(':cp', $PARAM['CP']);
$requete->bindParam(':ville', $PARAM['VILLE']);
$requete->bindParam(':telephone_fixe', $PARAM['TELEPHONE_F']);
$requete->bindParam(':telephone_portable', $PARAM['TELEPHONE_P']);
$requete->bindParam(':email', $PARAM['EMAIL']);
$requete->bindParam(':password', $PARAM['PASSWORD']);
$requete->execute();
break;

case 'modifier':
$sql = "UPDATE membre SET nom=:nom, prenom=:prenom, adresse=:adresse, cp=:cp, ville=:ville, telephone_fixe=:telephone_fixe, telephone_portable=:telephone_portable, email=:email, password=:password WHERE id=:id";
$requete = $connexion->prepare($sql);
$requete->bindParam(':id', $PARAM['ID']);
$requete->bindParam(':nom', $PARAM['NOM']);
$requete->bindParam(':prenom', $PARAM['PRENOM']);
$requete->bindParam(':adresse', $PARAM['ADRESSE']);
$requete->bindParam(':cp', $PARAM['CP']);
$requete->bindParam(':ville', $PARAM['VILLE']);
$requete->bindParam(':telephone_fixe', $PARAM['TELEPHONE_F']);
$requete->bindParam(':telephone_portable', $PARAM['TELEPHONE_P']);
$requete->bindParam(':email', $PARAM['EMAIL']);
$requete->bindParam(':password', $PARAM['PASSWORD']);
$requete->execute();
break;

case 'edit':
$resultats = $connexion->query("SELECT * FROM membre WHERE id='" . $PARAM['ID'] . "' ORDER BY nom ASC");
$nb = $resultats->setFetchMode(PDO::FETCH_OBJ);
$rows = $resultats->fetch();
$adresse = explode("\r\n", $rows->adresse);
break;
}

}

// on va chercher tous les membres de la table qu'on trie par ordre croissant
$resultats = $connexion->query("SELECT * FROM membre WHERE `membre`.`id` <> 0 AND `membre`.`nom` <> 'ADMIN' ORDER BY nom, prenom ASC");
$nb = $resultats->setFetchMode(PDO::FETCH_OBJ);
//On récupère le nombre de membre
$nb_membre = ($resultats->rowCount() > 0) ? $resultats->rowCount() . ' membres' : '0 membre';

?>
<body>

<!-- TOP MENU -->
<div id="top_menu">
<div id="top_menu_left">
<ul>
<li><img src="images/ico/user_edit.png"
width="16px" height="16px" align="top" />
<a href="./index.php?body=user_compte&action=edit&user_id=<?php echo $user->id; ?>">Modifier mon profil</a></li>
<li><img src="images/ico/menu_liste.gif"
width="16px" height="16px" align="top" />
<a href="#top_menu" onclick="user_list()"> Liste des membres </a></li>
</ul>
</div>
<div id="top_menu_right">
<ul>
<li style="margin-right:20px"><?php echo $nb_membre; ?></li>
</ul>
</div>
</div>
<!-- END TOP MENU -->

<!-- CONTENT -->
<div id="content">
<form id="formulaire" action="" method="post" onkeypress="refuserToucheEntree(event);">
<table cellpadding="0" cellspacing="1">
<tr>
<th colspan="4">Coordonnées :</th>
</tr>
<tr>
<td width="20%">Nom :</td>
<td width="30%"><input name="user_nom" size="25" value="<?php echo @$rows->nom; ?>" type="text" disabled=""/></td>
<td width="20%">Prénom :</td>
<td width="30%"><input name="user_prenom" size="25" value="<?php echo @$rows->prenom ?>" type="text" disabled=""/></td>
</tr>
<tr>
<td>Adresse :</td>
<td colspan="3"><input name="user_adresse" size="25" value="<?php echo @$rows->adresse ?>" type="text" disabled=""/></td>
</tr>
<tr>
<td width="20%">Code postal :</td>
<td width="35%"><input name="user_cp" size="25" value="<?php echo @$rows->cp ?>" type="text" disabled=""/></td>
<td width="15%">Ville :</td>
<td width="30%"><input name="user_ville" size="25" value="<?php echo @$rows->ville ?>" type="text" disabled=""/></td>
</tr>
<tr>
<th colspan="4">Contact :</th>
</tr>
<tr>
<td colspan="2"><img src="images/ico/phone.png" alt="Téléphone fixe" title="Téléphone fixe" height="16" width="16" />
<input name="user_telephone_f" title="Téléphone fixe" size="30" value="<?php echo @$rows->telephone_fixe ?>" type="text" disabled=""/></td>
<td colspan="2"><img src="images/ico/phone.png" alt="Téléphone portable" title="Téléphone portable" height="16" width="16" />
<input name="user_telephone_p" title="Téléphone portable" size="30" value="<?php echo @$rows->telephone_portable ?>" type="text" disabled=""/></td>
</tr>
<tr>
<td colspan="2"><img src="images/ico/mail.png" alt="Email" title="Email" height="16" width="16" />
<input name="user_email" title="Email" size="30" value="<?php echo @$rows->email ?>" type="text" disabled=""/></td>
<td colspan="2"><img src="images/ico/actualiser.png" alt="" title="Générer password" onclick="random_pwd()"/>
<input name="user_pwd" size="30" value="<?php echo @$rows->password ?>" type="text" disabled=""/></td>
</tr>
</table>
<input name="action" value="ajouter" type="hidden" />
<input type="submit" value="Enregistrer"<br /><br /><br /><hr />
</form>

<table id="user_list" cellpadding="0" cellspacing="0">
<tr>
<th width="25%">Nom / Prénom</th>
<th width="35%">Email</th>
<th width="25%">Téléphone Fixe</th>
<th width="30%">Téléphone Portable</th>
</tr>
<?php
while ($user = $resultats->fetch()){
?>
<tr>
<td><?php echo $user->nom . ' ' . $user->prenom; ?></td>
<td><?php echo $user->email; ?></td>
<td><?php echo $user->telephone_fixe; ?></td>
<td><?php echo $user->telephone_portable; ?></td>
</tr>
<?php
}

// on ferme le curseur des résultats
$resultats->closeCursor();
?>
</table>
</div>
<!-- END CONTENT -->


</body>
/code

7 réponses

Luan1604 Messages postés 130 Date d'inscription   Statut Membre Dernière intervention   4
 
Bonjour,

Pour être honnête, je n'ai pas regardé tout votre code mais j'ai été quelque peu choqué rien qu'au début...

$pseudo = $_SESSION['pseudo']; 
$recup_user = mysql_query("SELECT * FROM membre WHERE email='$pseudo'"); 
$user = mysql_fetch_array($recup_user); 


Vous utilisez comme critère de sélection du membre l'email et comme variable d'email, vous utilisez le pseudo ? Que contient la session pseudo ? Si cette session contient l'email, l'appellation n'est pas bonne je trouve...

Peut-être est-ce une erreur et que cette intervention vous aura aidé, dans tous les cas, tenez-moi au courant :)
0
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour et merci déjà de votre réponse.

En fait j'ai mis le début du code qui n'avais rien à voir c'était un essaie que j'avais fais avant.
Excusez-moi j'ai pourtant relu mais pas suffisamment.

Ne pas regarder du début du code à la balise </table>

Merci de votre aide et encore mille excuses.
0
Luan1604 Messages postés 130 Date d'inscription   Statut Membre Dernière intervention   4
 
Les erreurs arrivent :)

Au final, est-ce que c'était ça le problème ou ce problème persiste ?
0
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
En fait le problème c'est toujours le même je peux rentrer les données des membres mais lorsque le membres veulent faire des modifs de leurs profils affiche le formulaire vide.

Merci beaucoup de votre aide
0
Luan1604 Messages postés 130 Date d'inscription   Statut Membre Dernière intervention   4
 
Bonsoir,
j'ai un peu de mal avec la façon dont ça a été codé (question d'habitude je suppose). Essayez voir ceci...


En value des champs texte, vous mettez ceci:
<?php echo @$rows->NOMDUCHAMPS ?>
Essayez avec ceci (pure curiosité)
<?php echo $user['NOMCHAMPS'] ?>

Juste sur un champs texte pour voir la différence.

Luan.
0
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour,

J'en reviens pas votre curiosité à porté ses fruits..

Ca marche nickel un très grand merci

C'est super sympa
Merci
0
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
Encore un grand merci de votre aide.
J'ai trouvé pour faire les modifs

Tous est nickel
Merci
0
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour,

J'en reviens pas votre curiosité à porté ses fruits..

Ca marche nickel un très grand merci

C'est super sympa
Merci
0
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
re bonjour,

C'est encore moi donc comme je te disais maintenant mon formulaire affiche toute les données rentrées mais malheureusement ça prend pas en compte les modifs.
Peut-être à des fois une idée.
Merci
0

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

Posez votre question
Luan1604 Messages postés 130 Date d'inscription   Statut Membre Dernière intervention   4
 
Bonsoir,

J'aurais en effet une solution mais ce serait du bricolage et ce n'est pas une bonne chose.

Est-ce que vous arrivez à ajouter et à supprimer des entrées ?
J'aurais besoin de savoir, ça m'aiderait à résoudre le souci.

Autre question, pour l'espace membre, utilisez-vous un script déjà prêt ? Si oui, pourrais-je avoir le nom de ce script ? Ca me permettrait d'aller voir la doc.

En tout cas, merci, j'ai plus appris en une soirée qu'en plusieurs années de pratiques. Je ne connaissais pas cette façon de coder. J'ai pu la découvrir grâce à vous. N'est-ce pas une bonne chose ? :D

Luan.
0
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
re bonjour,

C'est encore moi donc comme je te disais maintenant mon formulaire affiche toute les données rentrées mais malheureusement ça prend pas en compte les modifs.
Peut-être à des fois une idée.
Merci
0
Luan1604 Messages postés 130 Date d'inscription   Statut Membre Dernière intervention   4
 
Bonsoir,

ça ne répond pas vraiment à mes questions...
Arrivez-vous à ajouter de nouvelles données ? A en supprimer ?

Merci.
0
labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour

Excusez moi du retard pour vous répondre.

Mon espace membre fonctionne à merveille.
Ajouter, modifier, supprimer un compte et les membres peuvent modifier à loisir leurs profils c'est génial et grâce à vous.

Il y a très peu de temps que j'essaie de comprendre le php c'est un truc qui me plait vraiment.

En ce qui concerne mon script d'espace membre c'est une personne qui me l'a fait et j'ai apporté des modifs de fonctionnalités pour mes besoins.

Merci encore

PS Je vais ajouter un nouveau topic pour un sujet tout à fait différent c'est un problème d'accents
0