Eurovore: [Trouver] Script d'inscription (IP) - Eurovore

Aller au contenu

Page 1 sur 1

[Trouver] Script d'inscription (IP)

#1 L'utilisateur est hors-ligne   Mysterious 

  • Posteur Débutant
  • Groupe : Membres
  • Messages : 17
  • Points : 0
  • Inscrit(e) : 07-avril 12

Posté 06 janvier 2013 - 01:51

Voilà je souhaite savoir comment l'on peu faire pour qu'un joueur ne puisse s'inscrire avec la même ip.
Script en mssql obligatoire.
Si vous me donnez solution gratuitement j'en serait ravie ;d

Ce message a été modifié par Mysterious - 06 janvier 2013 - 22:34 .

0

#2 L'utilisateur est hors-ligne   Aurelsicoko 

  • Admin
  • Groupe : Root Admin
  • Messages : 5 282
  • Points : 0
  • Inscrit(e) : 15-février 08
  • Sexe :Homme

Posté 06 janvier 2013 - 12:10

Lors de la première inscription, tu enregistres l'ip lié à l'id du membre.
Ensuite à chaque connexion, dans une table IP, tu enregistres chaque nouvel IP du membre lié à son id de la table membre.

Après, dans l'inscription, tu vérifies que cette IP est pas déjà présente dans ta BDD, si oui, tu le fais sauter. Maintenant, il faut savoir que c'est pas un moyen sûr. Deux membres complètements différents peuvent avoir la même IP un jour où l'autre. Il faut être plus précis en géolocalisant l'IP, etc...
Administrateur sur Eurovore - Junior Project Manager/Web developer
0

#3 L'utilisateur est hors-ligne   Sakuto 

  • Maître du post
  • Groupe : Modérateurs
  • Messages : 2 975
  • Points : 0
  • Inscrit(e) : 02-septembre 09
  • Sexe :Homme
  • Localisation :Belgique

Posté 06 janvier 2013 - 12:16

Quelle idée de se servir de MsSql aussi ...

Tu peux en effet te servir de ceci, cependant, c'est très très chiant dans le cas où plusieurs membres de la famille voudrait s'inscrire / ou tu serais dans un logement universitaire ou tout autre endroit avec connexion partagé. Sinon, c'est très simple à faire, la manière la plus simple est de créer une table ips (id, ip, users_id, created).

A chaque inscription / connexion tu remplis les champs (le created peut servir si la personne se fait voler son compte, tu le mets en datetime avec un NOW() and r u go), et lors d'une nouvelle inscription, tu regardes si l'ip est présente dans la table ip avec un select count(*)
0

#4 L'utilisateur est hors-ligne   Mysterious 

  • Posteur Débutant
  • Groupe : Membres
  • Messages : 17
  • Points : 0
  • Inscrit(e) : 07-avril 12

Posté 06 janvier 2013 - 14:08

$testip = $_SERVER["REMOTE_ADDR"];	
$testipex = 0;	

$couper = odbc_exec($mssql, 'SELECT COUNT(*) as count FROM [WEBSITE_DBF].[dbo].[web_coupon] WHERE ip=\''.$testip.'\'');

if($testipex < odbc_result($couper, 'count')) {
echo '<div class="fail">Votre adresse ip est déjà enregistrer sur un autre compte!</div>'; // Vérification coupon
} else {

LE RESTE DE MON CODE BLABLABLA


(Sa ne fonctionne pas il peut quand même accéder au reste du code)...

Ce message a été modifié par Mysterious - 06 janvier 2013 - 14:09 .

0

#5 L'utilisateur est hors-ligne   fredlt 

  • Posteur Junior
  • Groupe : Membres
  • Messages : 133
  • Points : 0
  • Inscrit(e) : 19-octobre 08
  • Sexe :Homme
  • Localisation :bretagne

Posté 06 janvier 2013 - 14:40

$testip = $_SERVER["REMOTE_ADDR"]; 

$couper = mssql_query('SELECT * from [WEBSITE_DBF].[dbo].[web_coupon] WHERE ip=\''.$testip.'\'');

// Vérifie s'il y a des résultats

if (mssql_num_rows($couper) !=0) {echo '<div class="fail">Votre adresse ip est déjà enregistrer sur un autre compte!</div>'; } 
else { .....}

Ce message a été modifié par fredlt - 06 janvier 2013 - 14:45 .

1

#6 L'utilisateur est hors-ligne   Mysterious 

  • Posteur Débutant
  • Groupe : Membres
  • Messages : 17
  • Points : 0
  • Inscrit(e) : 07-avril 12

Posté 06 janvier 2013 - 14:52

( ! ) Fatal error: Call to undefined function mssql_query() in C:\wamp\www\coupon_ok.php on line 205

Ma base de donné est sur sql server 2005 :(
Donc il faut que j''utilise le odbc...

Autres Erreurs quand je le passe en odbc :

( ! ) Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'ip'., SQL state S0022 in SQLExecDirect in C:\wamp\www\coupon_ok.php on line 206


( ! ) Fatal error: Call to undefined function mssql_num_rows() in C:\wamp\www\coupon_ok.php on line 209

Ce message a été modifié par Mysterious - 06 janvier 2013 - 14:50 .

0

#7 L'utilisateur est hors-ligne   fredlt 

  • Posteur Junior
  • Groupe : Membres
  • Messages : 133
  • Points : 0
  • Inscrit(e) : 19-octobre 08
  • Sexe :Homme
  • Localisation :bretagne

Posté 06 janvier 2013 - 14:58

$testip = $_SERVER["REMOTE_ADDR"]; 

$couper = odbc_exec($mssql, 'SELECT * from [WEBSITE_DBF].[dbo].[web_coupon] WHERE ip=\''.$testip.'\'');

// Vérifie s'il y a des résultats

if (mssql_num_rows($couper) !=0) {echo '<div class="fail">Votre adresse ip est déjà enregistrer sur un autre compte!</div>'; } 
else { .....}

0

#8 L'utilisateur est hors-ligne   Mysterious 

  • Posteur Débutant
  • Groupe : Membres
  • Messages : 17
  • Points : 0
  • Inscrit(e) : 07-avril 12

Posté 06 janvier 2013 - 15:04

Fatal error: Call to undefined function mssql_num_rows() in C:\wamp\www\coupon_ok.php on line 209

Presque :(
0

#9 L'utilisateur est hors-ligne   fredlt 

  • Posteur Junior
  • Groupe : Membres
  • Messages : 133
  • Points : 0
  • Inscrit(e) : 19-octobre 08
  • Sexe :Homme
  • Localisation :bretagne

Posté 06 janvier 2013 - 15:13

$testip = $_SERVER["REMOTE_ADDR"]; 

$couper = odbc_exec($mssql, 'SELECT * from [WEBSITE_DBF].[dbo].[web_coupon] WHERE ip=\''.$testip.'\'');

// Vérifie s'il y a des résultats

if (odbc_num_rows($couper) !=0) {echo '<div class="fail">Votre adresse ip est déjà enregistrer sur un autre compte!</div>'; } 
else { .....}

1

#10 L'utilisateur est hors-ligne   Mysterious 

  • Posteur Débutant
  • Groupe : Membres
  • Messages : 17
  • Points : 0
  • Inscrit(e) : 07-avril 12

Posté 06 janvier 2013 - 15:22

fonctionne pas :(
J'ai essayer j'ai réussie à m'inscrire...

Voici le code complet !

<?php
if(isset($_SESSION['user'])){ // on vérifie si le joueur est connecter
			$testt = 0;// La valeur quand le coupon n'est pas valider
		    odbc_exec($mssql, 'USE [ACCOUNT_DBF]');//Ouverture de la bdd account pour l'utilisation ci dessous
            $coupon = odbc_exec($mssql, 'SELECT coupon FROM [ACCOUNT_TBL] WHERE account=\''.mssql_escape_string($_SESSION['user']).'\''); //Recherche du chiffre de la colone via sont pseudonyme
			if($testt < odbc_result($coupon, 'coupon')) {// si testt (1) est inférieur ou égal à $coupon le joueur à accès au système pour reçevoir ces pts
			echo '<div class="fail">Vous avez déjà valider ce coupon.</div>'; // Vérification coupon
			
			} else {
?>

<?php
if(isset($_POST['couponage']) AND $_POST['couponage'] == "level2013"){ // Le code coupon

		$testip = $_SERVER["REMOTE_ADDR"]; 	
		$testipe = 1;	
		$testipex = 0;	

           // $couper = odbc_exec($mssql, 'SELECT COUNT(*) as count FROM [dbo].[web_coupon] WHERE ip=\''.$_SERVER["REMOTE_ADDR"].'\''); //Recherche du chiffre de la colone via sont pseudonyme;
$couper = odbc_exec($mssql, 'SELECT * from [WEBSITE_DBF].[dbo].[web_coupon] WHERE ip=\''.$testip.'\'');
			//if($testipex - odbc_result($couper, 'count') > 0) {

if (odbc_num_rows($couper) !=0) {echo '<div class="fail">Votre adresse ip est déjà enregistrer sur un autre compte!</div>'; } 

else {
		

// Validation si coupon / ip / compte n'ont pas était utilisée
    odbc_exec($mssql, 'USE [ACCOUNT_DBF]');//Ouverture de la bdd account pour l'utilisation ci dessous
    $req = odbc_prepare($mssql, 'UPDATE [dbo].[ACCOUNT_TBL] SET coupon = coupon+1, cash  = cash+1 WHERE account=\''.mssql_escape_string($_SESSION['user']).'\''); // On ajoute 1 à coupon & 1 pts
    $res = odbc_execute($req, array($_SESSION["user"]));
    $check = odbc_exec($mssql, "INSERT INTO [WEBSITE_DBF].[dbo].[web_coupon](account,code,ip) VALUES(' ".mssql_escape_string($_SESSION["user"])." ',' level2013 ',' ".$testip."')");// On ajoute dans web_coupon le compte, le coupon, et l'ip
    echo '<div class="success">Votre coupon à était valider ! Votre compte a bien été crédité de 500 points !</div><span id="small"></span></div>';
// Fin de Validation si coupon / ip / compte n'ont pas était utilisée

?>

<?php
}

}
elseif ($_POST['couponage'] == NULL) // si il n'a rien marquer dans le champ
{
	echo '<p><strong>Le coupon est incorrecte !</strong></p>'; // Vérification du coupon
}
else // si le code est faux
{
	echo '<p><strong>Le coupon est incorrecte !</strong></p>'; // Vérification du coupon
}
?>

<?php
}
?>

<?php
} else {
echo 'Vous devez &ecirc;tre connect&eacute; pour faire valider votre coupon'; // Vérification de la connexion
}
// 4 vérification au total Ip,coupon,compte et si le joueur est connecter au site
?>

0

#11 L'utilisateur est hors-ligne   fredlt 

  • Posteur Junior
  • Groupe : Membres
  • Messages : 133
  • Points : 0
  • Inscrit(e) : 19-octobre 08
  • Sexe :Homme
  • Localisation :bretagne

Posté 06 janvier 2013 - 15:23

tu enregistre bien l'ip dans ta bdd ?
0

#12 L'utilisateur est hors-ligne   Mysterious 

  • Posteur Débutant
  • Groupe : Membres
  • Messages : 17
  • Points : 0
  • Inscrit(e) : 07-avril 12

Posté 06 janvier 2013 - 15:28

oui elle sont enregistrer dans [WEBSITE_DBF].[dbo].[web_coupon] il y a une colonne complète réserver au ip.

Account Coupon Ip
testc level2013 78.120.167.202
snowerss2 level2013 87.231.17.69
0

#13 L'utilisateur est hors-ligne   fredlt 

  • Posteur Junior
  • Groupe : Membres
  • Messages : 133
  • Points : 0
  • Inscrit(e) : 19-octobre 08
  • Sexe :Homme
  • Localisation :bretagne

Posté 06 janvier 2013 - 15:50

Désolé mais là je ne vois pas d'ou cela peux venir :unsure:
0

#14 L'utilisateur est hors-ligne   Mysterious 

  • Posteur Débutant
  • Groupe : Membres
  • Messages : 17
  • Points : 0
  • Inscrit(e) : 07-avril 12

Posté 06 janvier 2013 - 15:59

Ma base de donné web_coupon ressemble à ceci :

account / varchar(32) / Null autorisé
code / varchar(32) / Null autorisé
ip / varchar(32) / Null autorisé
0

#15 L'utilisateur est hors-ligne   fredlt 

  • Posteur Junior
  • Groupe : Membres
  • Messages : 133
  • Points : 0
  • Inscrit(e) : 19-octobre 08
  • Sexe :Homme
  • Localisation :bretagne

Posté 06 janvier 2013 - 18:46

$testip = $_SERVER["REMOTE_ADDR"]; 

$couper = odbc_exec($mssql, 'SELECT * from [WEBSITE_DBF].[dbo].[web_coupon] WHERE ip=\''.$testip.'\'');

// Vérifie s'il y a des résultats

if (odbc_num_rows($couper) !=0) {echo '<div class="fail">Votre adresse ip est déjà enregistrer sur un autre compte!</div>'; } 
else {
$f = odbc_num_rows ($couper);
echo $f;

}


Si tu peux me dire ce que donne echo $f;
0

#16 L'utilisateur est hors-ligne   Mysterious 

  • Posteur Débutant
  • Groupe : Membres
  • Messages : 17
  • Points : 0
  • Inscrit(e) : 07-avril 12

Posté 06 janvier 2013 - 22:33

fredlt j'ai réussi à trouvé :)
Je suis repartie sur la base d'un count(*) en ajustant la recherche par valvue ($testip) :)
Merci à toi de m'avoir grandement aider !
0

#17 L'utilisateur est hors-ligne   fredlt 

  • Posteur Junior
  • Groupe : Membres
  • Messages : 133
  • Points : 0
  • Inscrit(e) : 19-octobre 08
  • Sexe :Homme
  • Localisation :bretagne

Posté 12 janvier 2013 - 10:58

Tant mieux et de rien, j'ai pas fait grand chose :wink:
0

Page 1 sur 1


Réponse rapide

  

2 utilisateur(s) en train de lire ce sujet
0 membre(s), 2 invité(s), 0 utilisateur(s) anonyme(s)