Bonjour,

Aujourd'hui je suis sur mon système de connexion et malheureusement je bloque je n'arrive pas à le faire fonctionné :s

Voici le code que j'ai pu réalisé :

<?php
if( isset($_GET'account']) && isset($_GET'pass']))
{
    $_POST'username'] = $_GET'account'];
    $_POST'password'] = $_GET'pass'];
}
if(!empty($_POST'username']) and !empty($_POST'password']))
{
    $account = $db_razor'account']->e_str($_POST'account']);
    $password = strtoupper(utf8_encode($_POST'pass']));
    $db_razor'account']->db($db_razor_config'account_database']);
    $login_query = $db_razor'account']->query("SELECT account FROM accounts WHERE account='".$account."' AND pass='".$password."'") or die(mysql_error());
    $login = mysql_fetch_array($login_query);

    $points_query = $db_razor'account']->query("SELECT account FROM accounts WHERE points='".$login'account']."'") or die(mysql_error());
    $points = mysql_fetch_array($points_query);

    $votes_total_query = $db_razor'account']->query("SELECT vote FROM accounts WHERE account='".$login'account']."'") or die(mysql_error());
    $votes_total = mysql_fetch_array($votes_total_query);

    $banned_query = $db_razor'account']->query("SELECT id,account FROM accounts WHERE banned='".$login'account']."'") or die(mysql_error());

    if($login_query && mysql_num_rows($login_query) == 1 /*&& mysql_num_rows($banned_query) == 0*/)
    {
        if($_POST'session'] == '')
        {
            $_POST'session'] = 86400;
        }
        $_SESSION'id'] = $login'id'];
        $_SESSION'account'] = $login'account'];
        $_SESSION'points'] = $points'points'];
        $_SESSION'ip'] = gethostbyaddr($_SERVER'REMOTE_ADDR']);
        $_SESSION'votes'] = $votes_total'vote'];
        $_SESSION'session'] = $_SERVER'REQUEST_TIME'] + $_POST'session'];
        setcookie("id",$_SESSION'id'],$_SESSION'session'],"/",".arcana-online.net");
        setcookie("account",$_SESSION'account'],$_SESSION'session'],"/",".arcana-online.net");
        setcookie("points",$_SESSION'points'],$_SESSION'session'],"/",".arcana-online.net");
        setcookie("ip",$_SESSION'ip'],$_SESSION'session'],"/",".arcana-online.net");
        setcookie("votes",$_SESSION'votes'],$_SESSION'session'],"/",".arcana-online.net");  
        $login_result = '<center><br><br><img src="../tpl/img/connexion/connexion-loading.gif" alt="Chargement" align="middle" width="16" height="16"/>    Connexion en cours...<br><br></center>';
    }
    else
        $login_result = '<center><br><br><div style="color:red;"><img src="../tpl/img/connexion/connexion-warning.png" alt="Attention" align="absmiddle" width="16" height="16"/><img src="../tpl/img/pixel.gif" alt="Vide"width="20" height="1"/>Mauvaise combinaison de nom d\'utilisateur et mot de passe.<br>Il est possible que votre compte soit banni.</div><br><br></center>';
}
else
    $login_result = '<center><br><br><div style="color:red;"><img src="../tpl/img/connexion/connexion-warning.png" alt="Attention" align="absmiddle" width="16" height="16"/><img src="../tpl/img/pixel.gif" alt="Vide"width="20" height="1"/>Vous n\'avez pas rempli tous les champs.</div><br><br></center>';
$tpl->simpleVar(array(  'PAGE' => $tpl->includeFile('connexion'),
                        'CONNEXION' => $login_result. '<META http-equiv="refresh" content="1; url=page.php">',
                        ));
?>

Voici le formulaire utilisé :

<table width="252" align="center" border="0" cellspacing="0" cellpadding="0">
                  <tr height="83px"><td></td></tr>
                  <tr>
                    <td align="center" height="27"><input type="text" name="username" value="Nom d'utilisateur" onFocus="javascript:this.value=''" id="espacemembre-username"></td>
                  </tr>
                  <tr>
                    <td align="center" height="27"><input type="password" name="password" value="Mot de passe" onFocus="javascript:this.value=''" id="espacemembre-password"></td>
                  </tr>
                  <tr>
                    <td align="center" height="27">
                        <select name="session" id="espacemembre-session">
                            <option value="1800">Session d' ½ h</option>
                            <option value="3600">Session d' 1 h</option>
                            <option value="7200">Session de 2 h</option>
                            <option value="43200">Session de 12 h</option>
                            <option value="86400" selected="selected">Session de 24 h</option>
                        </select></td>
                  </tr>
                  <tr>
                    <td align="right" height="29" valign="bottom"><input type="submit" name="submit" value="" id="espacemembre-submit" onmouseover="this.style.backgroundImage='url(../tpl/img/espacemembre/espacemembre-submit-hover.gif)';" onmouseout="this.style.backgroundImage='url(../tpl/img/espacemembre/espacemembre-submit.gif)';">     </td>
                  </tr>
                  <tr>
                    <td class="espacemembre-text"><img src="../tpl/img/espacemembre/espacemembre-interrogation.gif" style="vertical-align:middle" width="15" height="20" alt="Mot de passe perdu ?" />   <a href="#">Mot de passe perdu ?</a></td>
                  </tr>
                  <tr>
                    <td height="34"> </td>
                  </tr>
                  <tr>
                    <td class="espacemembre-boutons"><a href="member.php?a=inscription"><img src="../tpl/img/espacemembre/espacemembre-account.gif" onmouseover="this.src='../tpl/img/espacemembre/espacemembre-account-hover.gif';" onmouseout="this.src='../tpl/img/espacemembre/espacemembre-account.gif';" alt="espacemembre-account" border="0" width="169" height="27"></a></td>
                  </tr>
                  <tr>
                    <td class="espacemembre-boutons"><a href="page.php?a=rejoindre"><img src="../tpl/img/espacemembre/espacemembre-joint.gif" onmouseover="this.src='../tpl/img/espacemembre/espacemembre-joint-hover.gif';" onmouseout="this.src='../tpl/img/espacemembre/espacemembre-joint.gif';" alt="espacemembre-joint" border="0" width="169" height="27"></a></td>
                  </tr>
                </table>

Table SQL :

Table : accounts
Compte : account
Password : pass

J'espère avoir des aident, merci beaucoup :)

Cordialement, TomyZ.

7 réponses


Et c'est quoi ton erreur ?

TomyZ
Auteur

L'erreur est : Vous n'avez pas remplie tout les champs :s

<?php
if( isset($_GET'account']) && isset($_GET'pass']))
{
    $username = $_GET'account'];
    $password = $_GET'pass'];
}

if((!empty($_POST'username']))&&(!empty($_POST'password']))||(!empty($username))&&(!empty($password)))
{
    $account = $db_razor'account']->e_str($_POST'account']);
    $password = strtoupper(utf8_encode($_POST'pass']));

    $db_razor'account']->db($db_razor_config'account_database']);
    $login_query = $db_razor'account']->query("SELECT account FROM accounts WHERE account='".$account."' AND pass='".$password."'") or die(mysql_error());
    $login = mysql_fetch_array($login_query);

    $points_query = $db_razor'account']->query("SELECT account FROM accounts WHERE points='".$login'account']."'") or die(mysql_error());
    $points = mysql_fetch_array($points_query);

    $votes_total_query = $db_razor'account']->query("SELECT vote FROM accounts WHERE account='".$login'account']."'") or die(mysql_error());
    $votes_total = mysql_fetch_array($votes_total_query);

    $banned_query = $db_razor'account']->query("SELECT id,account FROM accounts WHERE banned='".$login'account']."'") or die(mysql_error());

    if($login_query && mysql_num_rows($login_query) == 1 /*&& mysql_num_rows($banned_query) == 0*/)
    {

        if($_POST'session'] == '')
        {
            $_POST'session'] = 86400;
        }

        $_SESSION'id'] = $login'id'];
        $_SESSION'account'] = $login'account'];
        $_SESSION'points'] = $points'points'];
        $_SESSION'ip'] = gethostbyaddr($_SERVER'REMOTE_ADDR']);
        $_SESSION'votes'] = $votes_total'vote'];
        $_SESSION'session'] = $_SERVER'REQUEST_TIME'] + $_POST'session'];

        setcookie("id",$_SESSION'id'],$_SESSION'session'],"/",".arcana-online.net");
        setcookie("account",$_SESSION'account'],$_SESSION'session'],"/",".arcana-online.net");
        setcookie("points",$_SESSION'points'],$_SESSION'session'],"/",".arcana-online.net");
        setcookie("ip",$_SESSION'ip'],$_SESSION'session'],"/",".arcana-online.net");
        setcookie("votes",$_SESSION'votes'],$_SESSION'session'],"/",".arcana-online.net");    

        $login_result = '<center><br><br><img src="../tpl/img/connexion/connexion-loading.gif" alt="Chargement" align="middle" width="16" height="16"/>    Connexion en cours...<br><br></center>';
    }

    else
        $login_result = '<center><br><br><div style="color:red;"><img src="../tpl/img/connexion/connexion-warning.png" alt="Attention" align="absmiddle" width="16" height="16"/><img src="../tpl/img/pixel.gif" alt="Vide"width="20" height="1"/>Mauvaise combinaison de nom d\'utilisateur et mot de passe.<br>Il est possible que votre compte soit banni.</div><br><br></center>';
}

else
    $login_result = '<center><br><br><div style="color:red;"><img src="../tpl/img/connexion/connexion-warning.png" alt="Attention" align="absmiddle" width="16" height="16"/><img src="../tpl/img/pixel.gif" alt="Vide"width="20" height="1"/>Vous n\'avez pas rempli tous les champs.</div><br><br></center>';

$tpl->simpleVar(array( 'PAGE' => $tpl->includeFile('connexion'),
                        'CONNEXION' => $login_result. '<META http-equiv="refresh" content="1; url=page.php">',
                        ));

?>

Et comme ceci ?

Merci pour le lien HS ....

TomyZ
Auteur

Enfete, je pense que ça viens d'être autre scripte.
Je te tiens au courant, merci d'avoir participer :).
J'ai pas d'erreur, mais j'ai une page blanche, si tu veut m'aider plus, je te conseil de m'ajouter sur skype ou sur msn.

Si tu veux, je suis dispo sur mon serveur TS3, IP : MarechalSummers.com
Je déteste skype, et j'ai pas installé MSN ^^