[PHP & SQL] Création de compte (Ajout d'un champ)

Signaler
Messages postés
4
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
15 mai 2007
-
Messages postés
4
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
15 mai 2007
-
Salut à tous...
J'ai fait un site simple où les gens peuvent se créer un compte, cependant j'ai ajouté une nouvelle colonne dans la table des comptes de ma base de donnée SQL.
Le formulaire que voici n'est donc plus bon, il manque une valeur a renseigner:
<?php

include 'sqlcfg_realm.php';
include 'sql.php';

print '<html><head><title>Cr&amp;eacute;ation de compte</title></head>';

function addUser() {
    if (empty($_POST)) return false;    // nothing to see here
    
    global $config, $msg, $error;
    
    //if (empty($_POST['securekey']) || !($_POST['securekey'] = == $_SESSION['secretkey']))
        //return 'Ungültiger Sicherheits-Code / Invalid code';

    if (empty($_POST['username']))
        return 'Nom d utilisateur invalide';

    if (empty($_POST['email']))
        return 'Veuillez indiquer une adresse e-mail';

    if (check_mail($_POST['email']) !== true)
        return 'Votre e-Mail est invalide';  

    if (empty($_POST['password'][0]) || empty($_POST['password'][1]))
        return 'Veuillez choisir un mot de passe';

    if ($_POST['password'][0] !== $_POST['password'][1])
        return 'Les mot de passe ne correspondent pas';
    $res query("SELECT `id` FROM `account` WHERE `username` '".mysql_real_escape_string($_POST['username'])."'");
    if (!$res)
        return 'Database: '.mysql_error();

    if (mysql_num_rows($res) > 0)
        return 'Ce nom d utilisateur existe d&amp;eacute;j&amp;agrave;';
        
    $res = query("INSERT INTO `account` (`username`,`password`,`email`,`sessionkey`) VALUES ('".mysql_real_escape_string($_POST['username'])."', '".mysql_real_escape_string($_POST['password'][0])."', '".mysql_real_escape_string($_POST['email'])."', '".mysql_real_escape_string($_SESSION['secretkey'])."')");
    if (!$res)
        return 'Database: '.mysql_error();

    // everything ok, account was added. yay!
    return true;
}

function check_mail($email){
    if (eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $email))
        return TRUE;
    else
        return FALSE;
}

$r = addUser();
if($r === true) {
    print '

Account  '.htmlentities($_POST['username'])."  Compte cr&amp;eacute;e avec succ&amp;egrave;s";
} else {
if($r ! == false)
    print $r;
?><style type="text/css">
<!--
body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #FFFFFF;
}
-->
</style>

<form action="<?php echo $_SERVER['../../../../Documents and Settings/Thibaut/Bureau/PHP_SELF']; ?>" method="POST">
    Nom d'utilisateur: |
    "/>

----

    Mot de passe: |
   , \"/> </td>

----

    Le retaper: |
    "/>,

----

    Adresse e-Mail: |
    "/>,

----

    Code de s&amp;eacute;cutit&amp;eacute;: |
    ,

----

    Taper se code: |
    ,

,
----

    , 
</td></td>

</form>

<? } ?>
</html>


Voici ce que j'aimerais avoir (simulation):

C'est donc les deux checkbox qui déterminerons la valeur dans la colonne que j'ai ajouté.
0 Pour compte NORMAL
1 Pour compte SUPER

Je n'ai aucune idée de comment faire cela, ce n'est pas moi qui ai fait ce premier script.
Quelqu'un peut-il m'aider? Le nom de la colonne que j'ai ajouté est abc (je ne peux pas la changé, elle est déjà utiliser par un autre module du site)
Merci

(P.S: Les infos concernant la base de donnée ne sont pas sur le ficher php bien sur :P )

2 réponses

Messages postés
5
Date d'inscription
mardi 24 avril 2007
Statut
Membre
Dernière intervention
2 mai 2007

Bonsoir,
Quel est exactement le problème ? rajouter un nouveau champ a informé ? ou bien modifier la BDD ?
Messages postés
4
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
15 mai 2007

Oui un nouveau champ, mais pas une zone de texte, c'est l'une des deux case a coché qui détermine la valeur dans la colone abc (1 ou 0)

INSERT INTO `account` (`username`,`password`,`email`,`sessionkey`) VALUES ('".mysql_real_escape_string($_POST['username'])."', '".mysql_real_escape_string($_POST['password'][0])."', '".mysql_real_escape_string($_POST['email'])."', '".mysql_real_escape_string($_SESSION['secretkey'])."')

Il faut donc ajouter quelque chose a la suite mais je ne sais pas quoi...