Commentaires de News : arth78 Général : mota, vanamel, 1 utilisateur anonyme et 23 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

Problème vérification php allopass

 
n°17787
Bgdu67
Posté le 11-08-2008 à 03:45:00  profilanswer
 

Bonjour j'ai créer un site, dans ce site je propose des services sur allopass en l'occurence, j'ai un gros soucis, au moment ou j'entre un allopass correct (celui de test) il me met Code Invalide(voir le code php du document après avoir mis le code, çi-dessous).  
J'en déduis donc que c'est parce que mon code n'arrive pas à être vérifié sinon il me mettrai la phrase "vous venez de créditer votre compte d'un euro " en rajoutant bien sur l'euro sur le compte du membre de la Base de données.  
J'ai tout essayé et j'en reviens donc à vous, pour vérifier que le dysfonctionnement venait bien de là et non d'une partie du site j'ai supprimé une partie du code et j'ai rechargé 3 fois la page... Et la 3 € apparaisse sur mon compte. Je ne comprend pas pourtant j'ai met les bon AUTH XXXXX/XXXX/XXX, rien à faire il bloque sur "Code Invalide". J'ai été obligé de bloquer ce système sinon la personne n'est pas très contente elle met un bon code et elle se voit refusé ce même et non crédité automatiquement sur son compte. Merci de m'aider.
 
Voici le code php:  

Citation :

<?
session_start();
if(!isset($HACK)) { exit(); }
 
 
if(!isset($user))
        {
        echo 'Vous devez vous identifier avant de crediter votre compte.';
        }
else {
 $RECALL=$_GET["RECALL"];
 
 if (trim($RECALL)=="" ) {
 echo "Code Invalide";
  exit;
 }
 $RECALL = urlencode($RECALL);
 $AUTH = urlencode("135161/440292/2019914" );
 $r=@file("http://www.allopass.com/check/vf.php4?CODE=$RECALL&AUTH=$AUTH" );
 
 if (ereg("ERR",$r[0]) || ereg("NOK",$r[0]))
 {
  echo "<h1>Erreur !</h1> Code Invalide";
 }
 else
 {
  echo"<p class='servtest1'><br><br>Merci <span class='orange'>$user</span>, vous venez de créditer votre compte d'un euro <br><br> -<a href='index.php?page=login'>Retour</a></p>";
   
  $query = "UPDATE $table_mbr SET credit=credit+1 WHERE pseudo='$user'";
  mysql_query($query) or die(":/ ?" );
 }
}
 
   
?>


Message édité par Bgdu67 le 11-08-2008 à 03:48:59
n°17788
Bgdu67
Posté le 11-08-2008 à 05:54:10  profilanswer
 

Problème résolu, le problème était dans le fichier de la page d'accès, dans le script allopass standard j'ai oublié de rajouter la ligne :  

Citation :

<input type="hidden" name="RECALL" value="1">


Pour info cette ligne se met juste après celle ci dans votre script standard pour ceux qui auraient oublié comme moi :) :  

Citation :

<input type="hidden" name="DOC_ID" value="" />

n°17792
kokotchy
Bonjour (ou bonsoir)
Profil : Modérateur
Posté le 11-08-2008 à 12:49:08  profilanswer
 

Tu devrais définir correctement tes variables.  
Par exemple, $HACK et $user ne semble pas être défini !  
 
Ensuite des conditions comme  trim($RECALL)=="", il existe empty pour ça :
<code>
$RECALL = trim($_GET['RECALL']);
if (empty($RECALL)) {
 
}
</code>
 
Ca rend ton code plus lisible.
 


---------------
-----BEGIN PGP SIGNATURE-----
iD8DBQFF2xXg6JjEsxKwDOsRAuHvAJ9qw6S7Wny8cwC4S8ZA1iiz1a2X6wCeOIyA
SBUc8QuzwvxnF0DNsL3a3Y4=
=PQgf

Aller à :
Ajouter une réponse