Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...
  • 0

Inscription MT2CMS


Satsu

Question

Bonjour, touchant maintenant un peux au PHP, j'ai décider d'ajouter une ligne a mon inscription :

 

Site: http://www.wallgaming.tk/wallonline/

 

ID

Email

Mot de passe

Répéter le mot de passe

 

Le répétez le mot de passe ce metterai dans une colonne "mdp" de ma BDD. (Cette colone est bien créer). La variable pour ce renseignement en plus est : $pd et dans le formulaire j'ai rajouté une ligne comme celle du mot de passe et le name="pd" mais la pas de problemes la ligne s'ajoute bien.

 

J'ai modifier la query dans inscription.php comme ceci :

				$sql="INSERT INTO account (login, password, email, create_time, cash, rang, mdp) VALUES ('$pseudo', password ('$mdp'), mdp ('$pd'), '$mail', '$date', '0', '1')";

J'ai ajouter sa aussi dans inscription.php :

$pd=mysql_real_escape_string($_POST['pd']);	

 

Merci de m'aider, vous pouvez me contacter par skype : quentinwawer1


A oui et j'avais oublier, quand je clique sur Inscription :

FUNCTION account.mdp does not exist

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 5
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

5 réponses à cette question

Messages recommandés

  • 0

C'est pas sécurisé de l'enregistré justement.

Il suffit de faire :

 
if($mdp==$pd) {
        $sql=ta query
} else { $errors = 6; }

 

Comme ça c'est conforme au MT2-CMS, et dans le inscription.tpl tu créé le message d'erreur 6 en disant que les mdp sont différent.

 

En espérant t'avoir aidé :)

Lien vers le commentaire
Partager sur d’autres sites

  • 0

En fesais ce que tu as dit (si j'ai bien compris) :

 

<?php
/**
*		MT2-CMS
*	@author JigSaw 
*	@license http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
*	@version b1.002 24/04/2010
*	@link http://mt2cms.free.fr
*
*		[inscription.php]
*	Page d'inscription. C'est grâce à cette page que vos membres pourrons s'inscrire sur votre site.
*	
*
**/

//Si on envoie le formulaire et que l'inscription est activé
if(isset($_POST['login']) and isset($_POST['mail']) and isset($_POST['mdp']) and isset($_POST['pd']) and $CONFIG['inscription'] == 1) 
{
$tpl->assign('envoie_form', '1');

//Sécurité : On protège les varriables.

$pseudo=mysql_real_escape_string($_POST['login']);        
$mdp=mysql_real_escape_string($_POST['mdp']);
$mail=mysql_real_escape_string($_POST['mail']);
$pd=mysql_real_escape_string($_POST['pd']);

$errors = '';

//Si le mail est valide
if(preg_match('#^[a-zA-Z0-9_\.-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$#', $mail))
{
	//Si le pseudo est supérieur à  4 caractères et inférieur à  17 caractères.
	if (strlen(trim($pseudo)) > 4 && strlen(trim($pseudo)) < 17)
	{
		//Si le mot de passe est supérieur à  4 caractères et inférieur à  17 caractères.
		if (strlen(trim($mdp)) > 4 && strlen(trim($mdp)) < 17)
		{
			//On vérifie que le pseudo n'existe pas.
			mysql_select_db("account");
			$sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM `account` WHERE login='$pseudo'");
			if (mysql_result($sql, 0, 'nb_pseudo') == 0)
			{
				$date = date("Y-m-d H:i:s");

				if($mdp==$pd)
				{
				$sql="INSERT INTO account (login, password, email, create_time, cash, rang, mdp) VALUES ('$pseudo, password ('$mdp'), '$mail', '$date', '0', '1', pd ('$pd'))";
				mysql_query($sql) or die (mysql_error());
				}
				else { $errors = 6; } 											
			}
			else { $errors =5; }//5: Ce pseudo est déjà utilisé.
		}
		else { $errors =4; }//4: Le mot de passe doit être compris entre 5 et 16 caractères.
	}
	else { $errors =3; }//3:Le pseudo doit être compris entre 5 et 16 caractères.
}
else { $errors =2; }//2: Votre email est invalide.


if($errors == '') //Si l'inscription a fonctioné
{ $tpl->assign('valid_form', '1'); }
else //Sinon on charge les erreurs
{ $tpl->assign('valid_form', $errors); }

}
//Si on envoie pas le formulaire, on l'affiche
else 
{
$tpl->assign('envoie_form', '0');

if($CONFIG['inscription'] == 0) {$tpl->assign('conf_inscription', '0');} //Inscription Désactivé
else {$tpl->assign('conf_inscription', '1');} //Inscription Activé 
}
$tpl -> parse('public/inscription.tpl');
?>

 

Et moi j'obtient sa :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'password'), '[email protected]', '2012-08-31 11:40:03', '0', '1', pd ('password))' at line 1

 

Merci de corriger ce script au besoin :D

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Tu as pas fait ce que je t'ai dis.

La ton erreur je la comprends pas tellement, mais tu as pas besoin d'inscrire la valeur entrée dans $_POST['pd'] dans ta db.

Aucunement besoin de trifouiller la requête pour ça...

 

il suffit de faire ça :

Code

<?php
/**
*        MT2-CMS
*    @author JigSaw 
*    @license http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
*    @version b1.002 24/04/2010
*    @link http://mt2cms.free.fr
*
*        [inscription.php]
*    Page d'inscription. C'est grâce à cette page que vos membres pourrons s'inscrire sur votre site.
*    
*
**/

//Si on envoie le formulaire et que l'inscription est activé
if(isset($_POST['login']) and isset($_POST['mail']) and isset($_POST['mdp']) and isset($_POST['pd']) and $CONFIG['inscription'] == 1) 
{
    $tpl->assign('envoie_form', '1');

    //Sécurité : On protège les varriables.

    $pseudo=mysql_real_escape_string($_POST['login']);        
    $mdp=mysql_real_escape_string($_POST['mdp']);
    $mail=mysql_real_escape_string($_POST['mail']);
    $pd=mysql_real_escape_string($_POST['pd']);

    $errors = '';
//Si les mdp sont identiques
if($pd==$mdp)
{
    //Si le mail est valide
    if(preg_match('#^[a-zA-Z0-9_\.-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$#', $mail))
    {
        //Si le pseudo est supérieur à  4 caractères et inférieur à  17 caractères.
        if (strlen(trim($pseudo)) > 4 && strlen(trim($pseudo)) < 17)
        {
            //Si le mot de passe est supérieur à  4 caractères et inférieur à  17 caractères.
            if (strlen(trim($mdp)) > 4 && strlen(trim($mdp)) < 17)
            {
                //On vérifie que le pseudo n'existe pas.
                mysql_select_db("account");
                $sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM `account` WHERE login='$pseudo'");
                if (mysql_result($sql, 0, 'nb_pseudo') == 0)
                {
                    $date = date("Y-m-d H:i:s");

                    $sql="INSERT INTO account (login, password, email, create_time, cash, rang) VALUES ('$pseudo, password ('$mdp'), '$mail', '$date', '0', '1')";
                    mysql_query($sql) or die (mysql_error());                                         
                }
                else { $errors =5; }//5: Ce pseudo est déjà utilisé.
            }
            else { $errors =4; }//4: Le mot de passe doit être compris entre 5 et 16 caractères.
        }
        else { $errors =3; }//3:Le pseudo doit être compris entre 5 et 16 caractères.
    }
    else { $errors =2; }//2: Votre email est invalide.
}
else { $errors =6; }//3:mdp différents.


if($errors == '') //Si l'inscription a fonctioné
{ $tpl->assign('valid_form', '1'); }
else //Sinon on charge les erreurs
{ $tpl->assign('valid_form', $errors); }

}
//Si on envoie pas le formulaire, on l'affiche
else 
{
    $tpl->assign('envoie_form', '0');

    if($CONFIG['inscription'] == 0) {$tpl->assign('conf_inscription', '0');} //Inscription Désactivé
    else {$tpl->assign('conf_inscription', '1');} //Inscription Activé 
}
$tpl -> parse('public/inscription.tpl');
?>

 

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 2

      Demande d'aide

    2. 2

      Demande d'aide

    3. 2

      Demande d'aide

    4. 161

      VDI - Server Files 2016 - Team FE

    5. 1

      Problème de modification du coffre de l'apprenti

  • En ligne récemment

    • Aucun utilisateur enregistré regarde cette page.

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.