IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

supprimer son compte via espace membre


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 35
    Par défaut supprimer son compte via espace membre
    Bonjour

    j'ai un annuaire où les visiteurs peuvent s'inscrire et gérer leurs sites internet.

    Et je souhaiterais que l'utilisateurs puissent s'il le souhaite supprimer son compte via son espace membre ave toutes ses données.

    Alors comment dois-je faire pour avoir un lien "supprimer mon compte" dans l'espcace membre dont je vous ai mis le code ci dessous.


    profile.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    <?php
     
    require_once('header.inc.php');
    $templateservice =& ServiceFactory::getServiceInstance('TemplateService');
    $userservice =& ServiceFactory::getServiceInstance('UserService');
     
    $tplVars = array();
     
    @list($url, $user) = isset($_SERVER['PATH_INFO']) ? explode('/', $_SERVER['PATH_INFO']) : NULL;
     
    $loggedon = false;
    if ($userservice->isLoggedOn()) {
        $loggedon = true;
        $currentUser = $userservice->getCurrentUser();
        $currentUserID = $userservice->getCurrentUserId();
        $currentUsername = $currentUser[$userservice->getFieldName('username')];
    }
     
    if ($user) {
        if (is_int($user)) {
            $userid = intval($user);
        } else {
            $user = urldecode($user);
            if (!($userinfo = $userservice->getUserByUsername($user))) {
                $tplVars['error'] = sprintf(T_('User with username %s was not found'), $user);
                $templateservice->loadTemplate('error.404.tpl', $tplVars);
                exit();
            } else {
                $userid =& $userinfo['uId'];
            }
        }
    } else {
        $tplVars['error'] = T_('Username was not specified');
        $templateservice->loadTemplate('error.404.tpl', $tplVars);
        exit();
    }
     
    if ($user == $currentUsername) {
        $title = T_('My Profile');
    } else {
        $title = T_('Profile') .': '. $user;
    }
    $tplVars['pagetitle'] = $title;
    $tplVars['subtitle'] = $title;
     
    $tplVars['user'] = $user;
    $tplVars['userid'] = $userid;
     
    if (isset($_POST['submitted'])) {
        $error = false;
        $detPass = trim($_POST['pPass']);
        $detPassConf = trim($_POST['pPassConf']);
        $detName = trim($_POST['pName']);
        $detMail = trim($_POST['pMail']);
        $detPage = trim($_POST['pPage']);
        $detDesc = filter($_POST['pDesc']);
        if ($detPass != $detPassConf) {
            $error = true;
            $tplVars['error'] = T_('Password and confirmation do not match.');
        }
        if ($detPass != "" && strlen($detPass) < 6) {
            $error = true;
            $tplVars['error'] = T_('Password must be at least 6 characters long.');
        }
        if (!$userservice->isValidEmail($detMail)) {
            $error = true;
            $tplVars['error'] = T_('E-mail address is not valid.');
        }
        if (!$error) {
            if (!$userservice->updateUser($userid, $detPass, $detName, $detMail, $detPage, $detDesc)) {
                $tplvars['error'] = T_('An error occurred while saving your changes.');
            } else {
                $tplVars['msg'] = T_('Changes saved.');
            }
        }
        $userinfo = $userservice->getUserByUsername($user);
    }
     
    if ($currentUserID != $userid) {
        $templatename = 'profile.tpl.php';
    } else {
        $templatename = 'editprofile.tpl.php';
        $tplVars['formaction']  = createURL('profile', $user);
    }
     
    $tplVars['row'] = $userinfo;
    $templateservice->loadTemplate($templatename, $tplVars);
    ?>
    profile.tpl.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    <?php
    $userservice =& ServiceFactory::getServiceInstance('UserService');
    $this->includeTemplate($GLOBALS['top_include']);
    ?>
     
    <dl id="profile">
    <dt><?php echo T_('Username'); ?></dt>
        <dd><?php echo $user; ?></dd>
    <?php
    if ($row['name'] != "") {
    ?>
    <dt><?php echo T_('Name'); ?></dt>
        <dd><?php echo $row['name']; ?></dd>
    <?php
    }
    if ($row['homepage'] != "") {
    ?>
    <dt><?php echo T_('Homepage'); ?></dt>
        <dd><a href="<?php echo $row['homepage']; ?>"><?php echo $row['homepage']; ?></a></dd>
    <?php
    }
    ?>
    <dt><?php echo T_('Member Since'); ?></dt>
        <dd><?php echo date($GLOBALS['longdate'], strtotime($row['uDatetime'])); ?></dd>
    <?php
    if ($row['uContent'] != "") {
    ?>
    <dt><?php echo T_('Description'); ?></dt>
        <dd><?php echo $row['uContent']; ?></dd>
    <?php
    }
    $watching = $userservice->getWatchNames($userid);
    if ($watching) {
    ?>
        <dt><?php echo T_('Watching'); ?></dt>
            <dd>
                <?php
                $list = '';
                foreach($watching as $watchuser) {
                    $list .= '<a href="'. createURL('bookmarks', $watchuser) .'">'. $watchuser .'</a>, ';
                }
                echo substr($list, 0, -2);
                ?>
            </dd>
    <?php
    }
    $watchnames = $userservice->getWatchNames($userid, true);
    if ($watchnames) {
    ?>
        <dt><?php echo T_('Watched By'); ?></dt>
            <dd>
                <?php
                $list = '';
                foreach($watchnames as $watchuser) {
                    $list .= '<a href="'. createURL('bookmarks', $watchuser) .'">'. $watchuser .'</a>, ';
                }
                echo substr($list, 0, -2);
                ?>
            </dd>
    <?php
    }
    ?>
    <dt><?php echo T_('Bookmarks'); ?></dt>
        <dd><a href="<?php echo createURL('bookmarks', $user) ?>"><?php echo T_('Go to bookmarks')?> >></a></dd>
    </dl>
     
    <?php
    $this->includeTemplate($GLOBALS['bottom_include']);
    ?>
    Merci d'avance

  2. #2
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut
    je ne suis pas sur d'avoir compris, mais si tu fais un lien vers une page supp.php contenant un code du genre
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    mysql_select_db($bdd, $connection);
    $req=sprintf('DELETE FROM utilisateur WHERE Pseudo=%s AND Mail=%s LIMIT 1', $_SESSION['Pseudo'], $_POST['Mail']);
    $requete=mysql_query($req, $connection) or die(mysql_error());
    unset($_SESSION['Pseudo']);
    en oubliant pas des faire une connection à la base de donnée, ça devrait fonctionner

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment supprimer son compte Developpez ?
    Par jbidou88 dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 5
    Dernier message: 10/02/2011, 12h10
  2. [LDAP] Dévérouiller/supprimer un compte via JNDI
    Par Invité dans le forum Sécurité
    Réponses: 3
    Dernier message: 24/09/2006, 19h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo