Voici mon problème
Je tente d'intégrer un script StarPass sur mon site internet.
Lorsque j'utilise le code d'essais, je suis bien redirigé vers ma page "success" MAIS ... L'update SQL qui devrait ajouter du contenu au contenu déjà présent sur ma Table "user" dans la colonne "diamonds" ne fonctionne pas...
En gros, starpass reconnait que le code est bon, il me dit que j'ai gagné mon contenu supplémentaire mais la BDD ne se met pas à jours ...
Mon site est un CMS, tout est en raccord avec l'ID de l'utilisateur connecté sur son compte donc je ne pense pas que le problème vienne de là..
Je vous donne le code en question, merci de m'éclairer si j'ai fais une boulette quelque part !
La Valeur IDD est bien implanté dans la table setings de ma BDD.<?php
include("../init.php");
include("../includes/files/register.php");
include("../includes/files/session.disconnect.php");
$do2 = safe($_GET['starpass'],'SQL'); if($do2 == "1") {
// Déclaration des variables
$ident=$idp=$ids=$idd=$codes=$code1=$code2=$code3=$code4=$code5=$datas='';
$idp = Settings('IDP');
// $ids n'est plus utilisé, mais il faut conserver la variable pour une question de compatibilité
$idd = Settings('IDD');
$ident=$idp.";".$ids.";".$idd;
// On récupère le(s) code(s) sous la forme 'xxxxxxxx;xxxxxxxx'
if(isset($_POST['code1'])) $code1 = $_POST['code1'];
if(isset($_POST['code2'])) $code2 = ";".$_POST['code2'];
if(isset($_POST['code3'])) $code3 = ";".$_POST['code3'];
if(isset($_POST['code4'])) $code4 = ";".$_POST['code4'];
if(isset($_POST['code5'])) $code5 = ";".$_POST['code5'];
$codes=$code1.$code2.$code3.$code4.$code5;
// On récupère le champ DATAS
if(isset($_POST['DATAS'])) $datas = $_POST['DATAS'];
// On encode les trois chaines en URL
$ident=urlencode($ident);
$codes=urlencode($codes);
$datas=urlencode($datas);
/* Envoi de la requête vers le serveur StarPass
Dans la variable tab[0] on récupère la réponse du serveur
Dans la variable tab[1] on récupère l'URL d'accès ou d'erreur suivant la réponse du serveur */
$get_f=@file("http://script.starpass.fr/check_php.php ... TAS=$datas");
if(!$get_f)
{
exit("Votre serveur n'a pas accès au serveur de StarPass, merci de contacter votre hébergeur.");
}
$tab = explode("|",$get_f[0]);
if(!$tab[1]) $url = Settings('Url')."/payment/error";
else $url = $tab[1];
// dans $pays on a le pays de l'offre. exemple "fr"
$pays = $tab[2];
// dans $palier on a le palier de l'offre. exemple "Plus A"
$palier = urldecode($tab[3]);
// dans $id_palier on a l'identifiant de l'offre
$id_palier = urldecode($tab[4]);
// dans $type on a le type de l'offre. exemple "sms", "audiotel, "cb", etc.
$type = urldecode($tab[5]);
// Si $tab[0] ne répond pas "OUI" l'accès est refusé
// On redirige sur l'URL d'erreur
if(substr($tab[0],0,3) != "OUI")
{
Redirect(Settings('Url')."/payment/error");
exit;
}
else
{
/* Le serveur a répondu "OUI"
On place un cookie appelé CODE_BON et qui vaut la valeur 1
S'il existe, c'est que l'internaute est autorisé,
sinon on le renverra sur une page d'erreur */
setCookie("CODE_BON", "1", 0);
// vous pouvez afficher les variables de cette façon :
// echo "idd : $idd / codes : $codes / datas : $datas / pays : $pays / palier : $palier / id_palier : $id_palier / type : $type";
}
// On vérifie si le cookie existe
if(isset($HTTP_COOKIE_VARS['CODE_BON']))
{
// Si le cookie existe mais que le contenu n'est pas bon on le redirige sur la page d'erreur
if( $HTTP_COOKIE_VARS['CODE_BON] != '1'){
Redirect(Settings('Url')."/payment/error");
exit(1);
}
}
else{
$bdd->exec("UPDATE `users` SET `diamonds` = diamonds + ".Settings('Prix_1')." WHERE id = '".safe($user['id'],'SQL')."'");
$bdd->exec("INSERT INTO `retrophp_payment` (`user_id`, `pseudo`, `statut`, `nombres`, `type`, `code`, `operation` , `remis`) VALUES ('".safe($user['id'],'SQL')."', '".safe($user['username'],'SQL')."', 'Valide', '".Settings('Prix_1')."', 'diamants', '".safe($codes,'SQL')."', 'Achat de diamants', '1');");
Redirect(Settings('Url')."/payment/success");
exit(1);
}
}
?>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title><?php echo Settings('Name'); ?>: <?PHP echo $pagename; ?> </title>
<link type="text/css" rel="stylesheet" href="<?php echo Settings('Url_Images'); ?>/v5/css/habbo.popup.css?<?PHP echo $update; ?>">
<link rel="shortcut icon" href="<?php echo Settings('Url_Images'); ?>/v5/favicon.ico?<?PHP echo $update; ?>" type="image/vnd.microsoft.icon" />
<link href='//fonts.googleapis.com/css?family=Ubuntu:400,700,400italic,700italic|Ubuntu+Condensed' rel='stylesheet' type='text/css'>
</head>
<header>
<div id="container">
<a id="logo" style="background-image: url('<?php echo Settings('Url'); ?>/images/<?php echo Settings('Logo'); ?>');height: 40px;position: absolute;top: 20px;left: 85px;width: 110px;"></a>
</div>
</header>
<body>
<center><div id="starpass_<?php echo Settings('IDD'); ?>"></div>
<script type="text/javascript" src="http://script.starpass.fr/script.php?idd=<?php echo Settings('IDD'); ?>&datas="></script>
<noscript>Veuillez activer le Javascript de votre navigateur s'il vous pla&icir;t.<br />
<a href="http://www.starpass.fr">Micro Paiement StarPass</a>
</noscript></center>
</body>
</html>
J'espère vraiment trouver de l'aide de votre côté car après des heures de recherches, vous êtes mon dernier espoir
Amicalement;
Nekk