Vous n'êtes pas identifié(e).
Pages : 1
Merci... pas possible en php pur ?!
Bonjour à tous,
Il est fréquent de voir un script envoyer des données vers un autre.
Est-il possible que le script#1 envoie des données au script#2 et attende une réponse ?
Voici ma problématique detaillée :
- script#1 est appelé par un user pour commander un article (il renseigne son adresse e-mail), script#1 envoie l'adresse mail du user à script#2 ainsi que le montant de la commande,
- script#2 récupère cette data et interroge une DB MySQL : Quel ID de user dans ma base possède cet e-mail ? Combien ce user possède de crédit ? Son crédit est il suffisant pour payer sa commande ? NON > script#2 répond "non" à script#1 - OUI > script#2 répond "oui" à script#1
- script#1 récupère la réponse de script#2 et agir en conséquence (valide la commande ou pas)
Bonjour à tous,
J'ai un petit bout de code que je n'arrive pas à débeuguer... Tout me laisse croire à une faute de syntaxe :
Si je mets les valeurs "en dur" ($docId = 123, etc) mon code fonctionne à merveille...
Une idée ?
Merci... Corrigé aussi mais ça ne fonctionne toujours pas : aucune écriture dans la base de donnée
Merci infiniment, Pierrot...
Mais pourquoi alors l'instruction qui se trouve avant ne s'éxécute pas ?
Bonjour à tous...
Je suis grand débutant en PHP que je me mets à apprendre depuis le début de la semaine dernière...
Voici mon script. Il s'agit d'un Callback, c'est à dire que ce script reçoit la réponse suite au paiement d'un utilisateur sur un site externe et utilise les données transmises pour :
- 1/ AJOUTER DES POINTS SUR LE COMPTE DE CET UTILISATEUR
- 2/AJOUTE UN ENREGISTREMENT DANS UNE TABLE MYSQL POUR GARDER UN HISTO DE LA TRANSACTION
VOICI MON CODE QUI NE SEMBLE PAS FONCTIONNER :
$docId = (int) $_GET['docId'];
$uid = $_GET['uid'];
$awards = (int) $_GET['awards'];
$trId = $_GET['trId'];
$promoId = ((isset($_GET['promoId'])) ? (int) $_GET['promoId'] : 0 );
$hash = $_GET['hash'];
## DATAS NEEDED TO ADD POINTS TO THE CORRECT USER
$database = 'my_jommla_database'
$host = 'localhost'
$main_AUP_table = 'jos_alpha_userpoints'
$custom_AUP_table = 'jos_alpha_userpoints_history_payments'
$DB_user = 'myDBuser'
$DB_password = 'myPassword'
## CHECK HASH VALUE
if(md5($uid . $awards . $trId . $MYSECRETKEY) == $hash) {
# DB connect
$cnx = mysql_connect($host, $DB_user, $DB_password);
mysql_select_db($database, $cnx);
$rs = mysql_query("SELECT COUNT(1) AS NB FROM $custom_AUP_table WHERE external_reference = ''.addslashes($trId).''", $cnx);
$ifFindTr = (int) mysql_result($rs, 0, 'NB');
unset($rs);
if($ifFindTr == 0) {
# all is OK
# we can add $awards points to the user and save transaction
# Adding points
mysql_query("UPDATE $main_AUP_table SET points=points+'.$awards.' WHERE userid=''.addslashes($uid).''", $cnx);
# Register in jos_alpha_userpoints_history_payments
mysql_query( "INSERT INTO $custom_AUP_table (doc_id, user_id, awards, external_reference, promo_id, date)"
.'VALUES('.$docId.', ''.addslashes($uid).'', '.$awards.', ''.addslashes($trId).'', '.$promoId.', NOW())', $cnx);
echo 'OK';
}
else {
# this transaction reference already added
# add in error log
echo 'this transaction reference already added';
}
mysql_close($cnx);
}
else {
# hash error
# add in error log
echo 'hash error';
}
?>
Des idées, Mesdames et Messieurs les experts ,
Pages : 1