Se connecter / S'enregistrer
Votre question

Mettre en place une session comment faire ?

Tags :
  • Programmation
Dernière réponse : dans Programmation
3 Janvier 2012 13:28:27

Bonjour,

Je voudrais mettre en place une session qui me permette de vérifier si un formulaire a déjà été envoyé ou pas.

Mais malheureusement je n'y connais pas grand chose.

L'idéal je pense ce serait modifier une variable de session lors de l'exécution de la requête: par exemple je mets une variable à 0 lors de l'exécution, en rajoutant une ligne qui la passe à 1, biensur avant l'exécution de la raquête, et ensuite ajouter une autre ligne qui vérifie la valeur de cette variable: si elle vaut 0, j' exécute, si elle vaut 1, je n'exécutes pas.

Voilà pour la théorie je pense que j'ai bon, mais pour la mise en pratique je suis perdu comment faire ??

Quelles sont les lignes de codes à rajouter, ça ne doit pas être bien long...?

Enfin merci d'avance de bien vouloir m'aider.

Autres pages sur : mettre place session

a c 232 L Programmation
3 Janvier 2012 13:45:57

Salut,

Si c'est du PHP, il faut que tu aies des session_start au début de tes fichiers.
Et que tu mettes tes données dans le tableau $_SESSION

Tu auras juste besoin de vérifier que $_SESSION['ok'] == 1 ou pas.
3 Janvier 2012 14:15:26

Alors comme dit je n'y connais pas grand chose et là ça devient déjà compliqué pour moi...:pt1cable: 

Je sais c'est malheureux...donc en fait pour plus d'explications, c'est lors d'un paiement paypal sur mon site.

Paiement pas de souci et retour sur mon site avec envoi de données par paypal qui dit que le paiement a bien été effectué et qui attribuent un nombre de point à l'utilisateur.

Problème: si l'utilisateur actualise la page il est recrédité du nombre de point et biensur si il actualise 100 fois et bien il est crédité 100 fois...et c'est pas trop çà que je veux...

J'explique plus en détails mais toujours avec des connaissances super limitées donc j'espère que vous me comprendrez...

Cette page de traitement qui reçoie les données paypal affiche que "ok paiement effectué" et en plus crédite le compte.

Cette page est en 2 parties une .html et l'autre .inc (include je suppose :??: )

Celle avec l'extension .inc est codée en php mais donc incluse dans la page html.

De ce que j'ai lu il me semble que le session_start se met avant tout code html et je suis pas sur de pouvoir le faire...

La partie qui traite les données paypal et crédite le compte à uine ligne intéressante...je pense c'est :

  1. if($payment_status =="Completed")


Il faudrait si possible rajouter une condition ici, peut être de temps ou autre...

Enfin voilà si tu peux m'en expliquer plus en espérant que ce que j'ai marqué puisse t'aider ? j'espère :) 
Contenus similaires
a c 232 L Programmation
3 Janvier 2012 15:13:11

En effet, le session_start() se met au tout début du fichier php.
Mais il y a certainement déjà des sessions dans ton site, du coup tu ne devrais pas avoir besoin de l'ajouter.

Pour ta ligne, il faudra certainement la remplacer par :
  1. if($payment_status =="Completed" && $_SESSION['ok'] != 1)


Et ajouter ça avant la fermeture de la boucle, quand c'est completé :
  1. $_SESSION['ok'] = 1;


Je te conseillerais d'essayer de lire la documentation de Paypal : https://www.paypal-france.fr/developpeurs/
Ils expliquent certainement ce problème, parce que sinon tous les sites l'auraient.
3 Janvier 2012 15:40:36

Je vais regarder la documentation paypal mais je te mets le code où sont traitées les données peux tu me dire comment inclure le code que tu m'as donné ? enfin surtout qu'appelle tu fermeture de boucle ?
Oui je sais je suis vraiment pas doué...:pfff: 

  1. else if($option=='P')
  2. {
  3. $pay_title=$lang['paypal'].' '.$lang['conf'];
  4. if($payment_status =="Completed")
  5. {
  6.  
  7. $dbh->query("update account set paystatus='TRUE', approved='Y' where md5(order_id)='$oid'");
  8.  
  9. $qry="select * from account where md5(order_id)='$oid'";
  10. $qryResult=$dbh->query($qry);
  11. $Data=mysql_fetch_object($qryResult);
  12.  
  13. $qry11="select credit from credit_cost where id='$Data->bid_cost'";
  14. $qryResult11=$dbh->query($qry11);
  15. $Data11=mysql_fetch_object($qryResult11);
  16.  
  17. $qry1="select * from users where user_id='$Data->user_id'";
  18. $qryResult1=$dbh->query($qry1);
  19. $Data1=mysql_fetch_object($qryResult1);
  20.  
  21. $qry2="select amount from amount_transfer where user_id='$Data->user_id' and credit_type='C' and reason like '%Welcome Coupon%'";
  22. $qryResult2=$dbh->query($qry2);
  23. $Data2=mysql_fetch_object($qryResult2);
  24.  
  25. if($Data1->balance==$Data2->amount)
  26. {
  27. $tbalance=$Data1->balance + $Data11->credit + $First_purchase_bid;
  28. $dbh->query("insert into amount_transfer (user_id, entrydate, amount, amount_type, pay_type, reason) values('$Data1->user_id', '$CURRENT_Time', '$First_purchase_bid','P', 'Credit', 'Free bid on First Bid Purchasing')");
  29. }
  30. else
  31. {
  32. $tbalance=$Data1->balance + $Data11->credit;
  33.  
  34. $dbh->query("insert into amount_transfer (user_id, entrydate, amount, pay_type, reason) values('$Data1->user_id', '$CURRENT_Time', '$Data11->credit', 'Credit', 'Bid Purchasing')");
  35. }
  36.  
  37. $sql2="update users set balance='$tbalance' where user_id='$Data1->user_id'";
  38. $result=$dbh->query($sql2);
  39.  
  40. $sql3="update account set transfer_status='TRUE' where order_id='$Data->order_id'";
  41. $result=$dbh->query($sql3);
  42. $credit=$Data11->credit;
  43.  
  44. $Email_info=$functions->Email_info(12);
  45. $subject=$Email_info['subject'];
  46. $msgBody1=$Email_info["message"];
  47.  
  48. $msgBody=str_replace("\\", "", $msgBody1);
  49. eval("\$msgBody = \"$msgBody\";");
  50.  
  51. $functions->Send_mail($SITE_EMAIL,$SITE_TITLE,$Data1->email,$subject,$msgBody);
  52.  
  53.  
  54. $heading=$lang['msg_bid_rec_success'].' '.$lang['paypal'];
  55. }
  56. else
  57. {
  58. $heading=$lang['msg_bid_rec_fail'];
  59. $retry='<td align="center"><input type="submit" value="'.$lang['retry'].'" name="retry"></td>';
  60. $retry_page='index.php?show=bid_tickets';
  61. }
  62. }
3 Janvier 2012 16:14:58

Bon j'ai tenté de mettre le code et de tester le paiement

  1. else if($option=='P')
  2. {
  3. $pay_title=$lang['paypal'].' '.$lang['conf'];
  4. [color=#d20f38]if($payment_status =="Completed" && $_SESSION['ok'] != 1) [/color]
  5.  
  6. {
  7.  
  8. $dbh->query("update account set paystatus='TRUE', approved='Y' where md5(order_id)='$oid'");
  9.  
  10. $qry="select * from account where md5(order_id)='$oid'";
  11. $qryResult=$dbh->query($qry);
  12. $Data=mysql_fetch_object($qryResult);
  13.  
  14. $qry11="select credit from credit_cost where id='$Data->bid_cost'";
  15. $qryResult11=$dbh->query($qry11);
  16. $Data11=mysql_fetch_object($qryResult11);
  17.  
  18. $qry1="select * from users where user_id='$Data->user_id'";
  19. $qryResult1=$dbh->query($qry1);
  20. $Data1=mysql_fetch_object($qryResult1);
  21.  
  22. $qry2="select amount from amount_transfer where user_id='$Data->user_id' and credit_type='C' and reason like '%Welcome Coupon%'";
  23. $qryResult2=$dbh->query($qry2);
  24. $Data2=mysql_fetch_object($qryResult2);
  25.  
  26. if($Data1->balance==$Data2->amount)
  27. {
  28. $tbalance=$Data1->balance + $Data11->credit + $First_purchase_bid;
  29. $dbh->query("insert into amount_transfer (user_id, entrydate, amount, amount_type, pay_type, reason) values('$Data1->user_id', '$CURRENT_Time', '$First_purchase_bid','P', 'Credit', 'Free bid on First Bid Purchasing')");
  30. }
  31. else
  32. {
  33. $tbalance=$Data1->balance + $Data11->credit;
  34.  
  35. $dbh->query("insert into amount_transfer (user_id, entrydate, amount, pay_type, reason) values('$Data1->user_id', '$CURRENT_Time', '$Data11->credit', 'Credit', 'Bid Purchasing')");
  36. }
  37.  
  38. $sql2="update users set balance='$tbalance' where user_id='$Data1->user_id'";
  39. $result=$dbh->query($sql2);
  40.  
  41. $sql3="update account set transfer_status='TRUE' where order_id='$Data->order_id'";
  42. $result=$dbh->query($sql3);
  43. $credit=$Data11->credit;
  44.  
  45. $Email_info=$functions->Email_info(12);
  46. $subject=$Email_info['subject'];
  47. $msgBody1=$Email_info["message"];
  48.  
  49. $msgBody=str_replace("\\", "", $msgBody1);
  50. eval("\$msgBody = \"$msgBody\";");
  51.  
  52. $functions->Send_mail($SITE_EMAIL,$SITE_TITLE,$Data1->email,$subject,$msgBody);
  53.  
  54.  
  55. $heading=$lang['msg_bid_rec_success'].' '.$lang['paypal'];
  56. [color=#d20f38]$_SESSION['ok'] = 1;[/color]
  57.  
  58. }
  59. else
  60. {
  61. $heading=$lang['msg_bid_rec_fail'];
  62. $retry='<td align="center"><input type="submit" value="'.$lang['retry'].'" name="retry"></td>';
  63. $retry_page='index.php?show=bid_tickets';
  64. }
  65. }


Je ne sais pas si j'ai bien placé le 2eme bout de code...

Tojours est-il que une fois le paiement effectué si on change de page on est recrédité !!! mais si on actualise on ne l'est plus !!!

Donc à priori çà marche, mais je comprends pas pourquoi si on quitte la page on est recrédité ? d'où cela peut-il venir ?

Ah et aussi si on retente un paiement la variable est déjà à 1 , mais on est bien crédité enfin çà devient complexe l'histoire...
a c 232 L Programmation
3 Janvier 2012 17:32:37

J'aurais dit que ça avait l'air pas mal comme ça.
Maintenant, y'a pas l'air d'y avoir tout le code, vu que tu commences avec un else if(option == 'P'), et je ne sais pas à quoi correspond cette variable option, y'a peut être d'autres endroits où il faut l'ajouter ?
3 Janvier 2012 18:19:29

Oui effectivement il n'y a pas tout le code.

Il y a un autre moyen de paiement mais que je n'utilises pas (authorize.net il me semble)

Cette page à plusieurs fonctions celle d'un paiement d'un nombre de points et il y aussi le paiement d'un objet qui est traitée sur cette page de ce que j'ai pu en comprendre du code.

Je te mets tout le code si tu peux voir d'où vient ce souci de recréditation lors d'un changement de page. Alors que maintenant effectivement ,avec le code que tu m'as donné, si la page est actualisée l'utilisateur n'est plus recrédité.

Le changement de page revalide en fait le formulaire pour les points soient recrédités ? comment est-ce possible ?

Le code entier cette fois un poil long...

  1. <?php
  2. /*
  3. //$amount = $HTTP_POST_VARS['amount'];
  4. //$email = $HTTP_POST_VARS['email'];
  5. $payment_status = $HTTP_POST_VARS['x_relay_response'];
  6. $option = $HTTP_POST_VARS['option'];
  7. $order_id = $HTTP_POST_VARS['oid'];
  8. //$payment_status = "TRUE";
  9. */
  10.  
  11. //$amount = $HTTP_POST_VARS['amount'];
  12. //$email = $HTTP_POST_VARS['email'];
  13. $option = $_GET['option'];
  14. if($option=='A')
  15. $payment_status = $HTTP_POST_VARS['x_relay_response'];
  16. else
  17. $payment_status = $HTTP_POST_VARS['payment_status'];
  18. $oid = $_GET['id'];
  19. $paytype = $_GET['paytype'];
  20. //$payment_status = "TRUE";
  21. //$payment_status = "Completed";
  22. //$option="A";
  23. $qry="select * from account where md5(order_id)='$oid'";
  24. $qryResult=$dbh->query($qry);
  25. $Data=mysql_fetch_object($qryResult);
  26. if($Data->item_id==0)
  27. {
  28. if($option=='A')
  29. {
  30. $pay_title=$lang['anet'].' '.$lang['conf'];
  31. if($payment_status =="TRUE")
  32. {
  33. $dbh->query("update account set paystatus='TRUE', approved='Y' where md5(order_id)='$oid'");
  34.  
  35. $qry11="select credit from credit_cost where id='$Data->bid_cost'";
  36. $qryResult11=$dbh->query($qry11);
  37. $Data11=mysql_fetch_object($qryResult11);
  38.  
  39. $qry1="select * from users where user_id='$Data->user_id'";
  40. $qryResult1=$dbh->query($qry1);
  41. $Data1=mysql_fetch_object($qryResult1);
  42.  
  43. $qry2="select amount from amount_transfer where user_id='$Data->user_id' and credit_type='C' and reason like '%Welcome Coupon%'";
  44. $qryResult2=$dbh->query($qry2);
  45. $Data2=mysql_fetch_object($qryResult2);
  46.  
  47. if($Data1->balance==$Data2->amount)
  48. {
  49. $tbalance=$Data1->balance + $Data11->credit + $First_purchase_bid;
  50. $dbh->query("insert into amount_transfer (user_id, entrydate, amount, amount_type, pay_type, reason) values('$Data1->user_id', '$CURRENT_Time', '$First_purchase_bid','P', 'Credit', 'Free bid on First Bid Purchasing')");
  51. }
  52. else
  53. {
  54. $tbalance=$Data1->balance + $Data11->credit;
  55.  
  56. $dbh->query("insert into amount_transfer (user_id, entrydate, amount, pay_type, reason) values('$Data1->user_id', '$CURRENT_Time', '$Data11->credit', 'Credit', 'Bid Purchasing')");
  57. }
  58.  
  59.  
  60. $sql2="update users set balance='$tbalance' where user_id='$Data1->user_id'";
  61. $result=$dbh->query($sql2);
  62. $sql3="update account set transfer_status='TRUE' where order_id='$Data->order_id'";
  63. $result=$dbh->query($sql3);
  64. $credit=$Data11->credit;
  65.  
  66. $Email_info=$functions->Email_info(12);
  67. $subject=$Email_info['subject'];
  68.  
  69. $msgBody=$Email_info["message"];
  70.  
  71. eval("\$msgBody = \"$msgBody\";");
  72.  
  73. $functions->Send_mail($SITE_EMAIL,$SITE_TITLE,$Data1->email,$subject,$msgBody);
  74.  
  75.  
  76. $heading=$lang['msg_bid_rec_success'].' '.$lang['anet'].'.';
  77. }
  78. else
  79. {
  80. $heading=$lang['msg_bid_rec_fail'];
  81. $retry='<td align="center"><input type="submit" value="'.$lang['retry'].'" name="retry"></td>';
  82. $retry_page='index.php?show=bid_tickets';
  83. }
  84. }
  85. else if($option=='P')
  86. {
  87. $pay_title=$lang['paypal'].' '.$lang['conf'];
  88. if($payment_status =="Completed" && $_SESSION['ok'] != 1)
  89.  
  90. {
  91.  
  92. $dbh->query("update account set paystatus='TRUE', approved='Y' where md5(order_id)='$oid'");
  93.  
  94. $qry="select * from account where md5(order_id)='$oid'";
  95. $qryResult=$dbh->query($qry);
  96. $Data=mysql_fetch_object($qryResult);
  97.  
  98. $qry11="select credit from credit_cost where id='$Data->bid_cost'";
  99. $qryResult11=$dbh->query($qry11);
  100. $Data11=mysql_fetch_object($qryResult11);
  101.  
  102. $qry1="select * from users where user_id='$Data->user_id'";
  103. $qryResult1=$dbh->query($qry1);
  104. $Data1=mysql_fetch_object($qryResult1);
  105.  
  106. $qry2="select amount from amount_transfer where user_id='$Data->user_id' and credit_type='C' and reason like '%Welcome Coupon%'";
  107. $qryResult2=$dbh->query($qry2);
  108. $Data2=mysql_fetch_object($qryResult2);
  109.  
  110. if($Data1->balance==$Data2->amount)
  111. {
  112. $tbalance=$Data1->balance + $Data11->credit + $First_purchase_bid;
  113. $dbh->query("insert into amount_transfer (user_id, entrydate, amount, amount_type, pay_type, reason) values('$Data1->user_id', '$CURRENT_Time', '$First_purchase_bid','P', 'Credit', 'Free bid on First Bid Purchasing')");
  114. }
  115. else
  116. {
  117. $tbalance=$Data1->balance + $Data11->credit;
  118.  
  119. $dbh->query("insert into amount_transfer (user_id, entrydate, amount, pay_type, reason) values('$Data1->user_id', '$CURRENT_Time', '$Data11->credit', 'Credit', 'Bid Purchasing')");
  120. }
  121.  
  122. $sql2="update users set balance='$tbalance' where user_id='$Data1->user_id'";
  123. $result=$dbh->query($sql2);
  124.  
  125. $sql3="update account set transfer_status='TRUE' where order_id='$Data->order_id'";
  126. $result=$dbh->query($sql3);
  127. $credit=$Data11->credit;
  128.  
  129. $Email_info=$functions->Email_info(12);
  130. $subject=$Email_info['subject'];
  131. $msgBody1=$Email_info["message"];
  132.  
  133. $msgBody=str_replace("\\", "", $msgBody1);
  134. eval("\$msgBody = \"$msgBody\";");
  135.  
  136. $functions->Send_mail($SITE_EMAIL,$SITE_TITLE,$Data1->email,$subject,$msgBody);
  137.  
  138.  
  139. $heading=$lang['msg_bid_rec_success'].' '.$lang['paypal'];
  140. $_SESSION['ok'] = 1;
  141.  
  142. }
  143. else
  144. {
  145. $heading=$lang['msg_bid_rec_fail'];
  146. $retry='<td align="center"><input type="submit" value="'.$lang['retry'].'" name="retry"></td>';
  147. $retry_page='index.php?show=bid_tickets';
  148. }
  149. }
  150. $sql="select a.*, u.email from account as a left join users as u on u.user_id=a.user_id where md5(a.order_id)='$oid'";
  151. $sqlResult=$dbh->query($sql);
  152. $sqlRow=mysql_fetch_object($sqlResult);
  153.  
  154. $qry11="select credit from credit_cost where id='$sqlRow->bid_cost'";
  155. $qryResult11=$dbh->query($qry11);
  156. $Data11=mysql_fetch_object($qryResult11);
  157. $credit=$Data11->credit;
  158.  
  159. $Email_info=$functions->Email_info(22);
  160. $subject=$Email_info['subject'];
  161.  
  162. $msgBody=$Email_info["message"];
  163. eval("\$msgBody = \"$msgBody\";");
  164.  
  165. $functions->Send_mail($SITE_EMAIL,$SITE_TITLE,$Data1->email,$subject,$msgBody);
  166.  
  167.  
  168. $message3='<p>'.$email.$lang['msg_pur_bid_tik_success'].'</p>
  169. <br />
  170. '.$lang['bid_pur'].': '.$Data11->credit.'';
  171.  
  172. if($option=='A')
  173. $subject3=$lang['anet'].' '.$lang['payment'].' '.$lang['conf'];
  174. if($option=='P')
  175. $subject3=$lang['paypal'].' '.$lang['payment'].' '.$lang['conf'];
  176.  
  177. $functions->Send_mail($email,"Purchase Bid Tickets",$SITE_EMAIL,$subject3,$message3);
  178. }
  179. else
  180. {
  181. $qry="select * from bid where id='$Data->item_id' and status='Y' and deleted='N' and end_bid!='Y'";
  182. $qryResult1=$dbh->query($qry);
  183. if(@mysql_num_rows($qryResult1)==0)
  184. {
  185. $Data1=mysql_fetch_object($qryResult1);
  186.  
  187. if($option=='A')
  188. {
  189. $pay_title=$lang['anet'].' '.$lang['conf'];
  190. if($payment_status =="TRUE")
  191. {
  192. $dbh->query("update account set paystatus='TRUE', approved='Y' where md5(order_id)='$oid'");
  193.  
  194. $dbh->query("update bid set mark_flag='Y' where id='$Data->item_id' and start='Y'");
  195.  
  196. $heading=$lang['msg_bid_rec_success'].' '.$lang['anet'].'.';
  197. }
  198. else
  199. {
  200. $heading=$lang['msg_bid_rec_fail'];
  201. $retry='<td align="center"><input type="submit" value="'.$lang['retry'].'" name="retry"></td>';
  202. $retry_page='index.php?show=view_pay_details&pay_id=$Data->item_id';
  203. }
  204. }
  205. else if($option=='P')
  206. {
  207. $pay_title=$lang['paypal'].' '.$lang['conf'];
  208. if($payment_status =="Completed")
  209. {
  210. $dbh->query("update account set paystatus='TRUE', approved='Y' where md5(order_id)='$oid'");
  211.  
  212. $dbh->query("update bid set mark_flag='Y' where id='$Data->item_id' and start='Y'");
  213.  
  214. $heading=$lang['msg_bid_rec_success'].' '.$lang['paypal'];
  215.  
  216.  
  217. }
  218. else
  219. {
  220. $heading=$lang['msg_bid_rec_fail'];
  221. $retry='<td align="center"><input type="submit" value="'.$lang['retry'].'" name="retry"></td>';
  222. $retry_page='index.php?show=view_pay_details&pay_id=$Data->item_id';
  223. }
  224. }
  225.  
  226. }
  227. else
  228. {
  229. $current_time=date('Y-m-d', $CURRENT_TIME);
  230.  
  231. $res=$dbh->query("select * from general_setting");
  232. $row=mysql_fetch_object($res);
  233. $SITE_EMAIL=stripslashes($row->site_email);
  234.  
  235. if($option=='A')
  236. $paytype="TRUE";
  237. else if($option=='P')
  238. $paytype="Completed";
  239.  
  240. if($payment_status == $paytype)
  241. {
  242. $pay_title=$lang['paypal'].' '.$lang['conf'];
  243.  
  244. $dbh->query("update account set paystatus='TRUE', approved='Y' where md5(order_id)='$oid'");
  245.  
  246. $sql="SELECT id FROM bid WHERE deleted='N' and status='Y' and start='Y' and end_bid='N' and auction_type='P' and id='$Data->item_id'";
  247. $res=$dbh->query($sql);
  248. $Data3=@mysql_fetch_object($res);
  249.  
  250. $Qry="select amount, user_id from account where item_id='$Data3->id' order by id desc";
  251. $Res=$dbh->query($Qry);
  252. $Data1=@mysql_fetch_object($Res);
  253. $block_user=$functions->Get_Block_User($Data1->user_id);
  254.  
  255. if($block_user==0)
  256. {
  257.  
  258. $Qry1="select email from users where deleted='N' and status='Y' and user_id='$Data1->user_id'";
  259. $Res1=$dbh->query($Qry1);
  260. $Data2=@mysql_fetch_object($Res1);
  261.  
  262. $dbh->query("update bid set mark_flag='Y',end_bid='Y',end_time='".$END_Time."' where id='$Data3->id' and start='Y'");
  263.  
  264. $dbh->query("insert into winners (bid_id,user_id,price,entrydate) values('$Data3->id','$Data1->user_id','$Data1->amount','$CURRENT_Time')");
  265.  
  266. //$message1='<p>'.$lang['u_won'].' '.$lang['wewillbeback'].'</p>';
  267. //$subject1=$lang['u_won'];
  268.  
  269. $Email_info=$functions->Email_info(15);
  270. $subject1=$Email_info['subject'];
  271. $message1=$Email_info["message"];
  272. eval("\$message1 = \"$message1\";");
  273.  
  274. $MSG_body='<html><body>
  275. <table cellspacing="0" cellpadding="0" width="97%" border="0" align="center">
  276. <tr><td>'.$message1.'</td></tr>
  277. </table></body></html>';
  278.  
  279. $mail = new PHPMailer();
  280.  
  281. $mail->From = $SITE_EMAIL; //site url of sender
  282. $mail->FromName = $SITE_TITLE; //site title of sender
  283. $mail->AddAddress($Data2->email); // email address of reciever
  284. $mail->WordWrap = 50; // set word wrap
  285. $mail->IsHTML(true); // send as HTML
  286. $mail->Subject = $subject1; // subject of mail
  287. $mail->Body = $MSG_body; // body of mail
  288.  
  289. $mail->Send();
  290.  
  291. /*
  292. $sqlResult1=$dbh->query("select U.email from users as U, my_setting as M where U.deleted='N' and U.user_id=M.user_id and M.auction_result='Y'");
  293. while($sqlRow1=mysql_fetch_object($sqlResult1))
  294. {
  295. $message1='<p>'.$lang['auc_fin'].'</p>';
  296. $subject1=$lang['auc_res'];
  297.  
  298. $mail = new PHPMailer();
  299.  
  300. $mail->From = $SITE_EMAIL; //site url of sender
  301. $mail->FromName = $SITE_TITLE; //site title of sender
  302. $mail->AddAddress($sqlRow1->email); // email address of reciever
  303. $mail->WordWrap = 50; // set word wrap
  304. $mail->IsHTML(true); // send as HTML
  305. $mail->Subject = $subject1; // subject of mail
  306. $mail->Body = $message1; // body of mail
  307.  
  308. $mail->Send();
  309. }
  310. */
  311.  
  312. //***********************************//
  313.  
  314. $Qry11="select * from bid where id='$Data->item_id'";
  315. $Res11=$dbh->query($Qry11);
  316. $Data11=@mysql_fetch_object($Res11);
  317.  
  318. $today = $CURRENT_Time;
  319. $quantity_stock=($Data11->quantity_stock)-1;
  320. $auction_code=$functions->Get_auto_auction_code();
  321. $current_date=$CURRENT_DATE;
  322. $current_time=$CURRENT_TIME;
  323. $uploaddir = "bid_images/";
  324.  
  325. if($Data11->parent_auction!=0)
  326. $Qry11="select * from bid where parent_auction='$Data11->parent_auction' and date( entrydate ) = '$current_date'";
  327. else
  328. $Qry11="select * from bid where parent_auction='$Data->item_id' and date( entrydate ) = '$current_date'";
  329.  
  330. $Res11=$dbh->query($Qry11);
  331. $frequency_run=@mysql_num_rows($Res11);
  332.  
  333.  
  334. //$frequency_run=$functions->get_used_frequency($today_start,$today_end,$Data->item_id);
  335.  
  336. $Date_array=explode("-",$Data11->edate);
  337. $Time_array=explode(":",$Data11->end_auction);
  338. $Final_End_time=mktime($Time_array[0], $Time_array[1],$Time_array[2], $Date_array[1], $Date_array[2], $Date_array[0]);
  339. $Start_Date_array=explode("-",$Data11->sdate);
  340. $Start_Time_array=explode(":",$Data11->start_auction);
  341. $Start_Final_End_time=mktime($Start_Time_array[0], $Start_Time_array[1],$Start_Time_array[2], $Start_Date_array[1], $Start_Date_array[2], $Start_Date_array[0]);
  342. $Final_end_time=$current_time+($Final_End_time-$Start_Final_End_time);
  343. $new_date_time=date("Y-m-d H:i:s",$Final_end_time);
  344. $new_pieces=explode(" ",$new_date_time);
  345.  
  346. if($frequency_run<=$Data11->max_frequency || $Data11->max_frequency=='-1')
  347. {
  348. if($quantity_stock!='-1')
  349. {
  350.  
  351. $temppath=$uploaddir."/".$Data11->image_path;
  352.  
  353. $last=substr(strrchr($Data11->image_path,"."),0);
  354. $last1=$last;
  355. $last1=ltrim($last1,'.');
  356. $file1=$CURRENT_TIME;
  357. $filename0=$file1.$last;
  358.  
  359. $image_path = $uploaddir.$filename0;
  360.  
  361.  
  362. $indexcontent=@file_get_contents($temppath);
  363. $functions->get_copy_pictures($indexcontent,$image_path);
  364.  
  365. $new_name1=explode('.',$image_path);
  366. $functions->get_water_image("bid_images/".$image_path,"bid_images/",$new_name1[0]);
  367.  
  368. $temppath_2=$uploaddir."/".$Data11->image_path2;
  369.  
  370. $last_2=substr(strrchr($Data11->image_path2,"."),0);
  371. $last1_2=$last_2;
  372. $last1_2=ltrim($last1_2,'.');
  373. $file1_2=$CURRENT_TIME;
  374. $filename0_2=$file1_2.'_2'.$last_2;
  375.  
  376. $image_path_2 = $uploaddir.$filename0_2;
  377.  
  378. $indexcontent_2=@file_get_contents($temppath_2);
  379. $functions->get_copy_pictures($indexcontent_2,$image_path_2);
  380.  
  381. $new_name2=explode('.',$image_path_2);
  382. $functions->get_water_image("bid_images/".$image_path_2,"bid_images/",$new_name2[0]);
  383.  
  384. $temppath_3=$uploaddir."/".$Data11->image_path3;
  385.  
  386. $last_3=substr(strrchr($Data11->image_path3,"."),0);
  387. $last1_3=$last_3;
  388. $last1_3=ltrim($last1_3,'.');
  389. $file1_3=$CURRENT_TIME;
  390. $filename0_3=$file1_3.'_3'.$last_3;
  391.  
  392. $image_path_3 = $uploaddir.$filename0_3;
  393.  
  394. $indexcontent_3=@file_get_contents($temppath_3);
  395. $functions->get_copy_pictures($indexcontent_3,$image_path_3);
  396.  
  397. $new_name3=explode('.',$image_path_3);
  398. $functions->get_water_image("bid_images/".$image_path_3,"bid_images/",$new_name3[0]);
  399.  
  400. $temppath_4=$uploaddir."/".$Data11->image_path4;
  401.  
  402. $last_4=substr(strrchr($Data11->image_path4,"."),0);
  403. $last1_4=$last_4;
  404. $last1_4=ltrim($last1_4,'.');
  405. $file1_4=$CURRENT_TIME;
  406. $filename0_4=$file1_4.'_4'.$last_4;
  407.  
  408. $image_path_4 = $uploaddir.$filename0_4;
  409.  
  410. $indexcontent_4=@file_get_contents($temppath_4);
  411. $functions->get_copy_pictures($indexcontent_4,$image_path_4);
  412.  
  413. $new_name4=explode('.',$image_path_4);
  414. $functions->get_water_image("bid_images/".$image_path_4,"bid_images/",$new_name4[0]);
  415.  
  416. if($Data11->parent_auction!=0)
  417. {
  418. $Qry12="select parent_auction from bid where id='$Data->item_id'";
  419. $Res12=$dbh->query($Qry12);
  420. $Data12=@mysql_fetch_object($Res12);
  421.  
  422. $parent_auction=$Data12->parent_auction;
  423. }
  424. else
  425. $parent_auction=$Data->item_id;
  426.  
  427. $new_date=$CURRENT_DATE;
  428. $new_enddate=$new_pieces[0];
  429. $update_date="DATE_ADD('$new_date', INTERVAL 1 DAY)";
  430. $update_enddate="DATE_ADD('$new_enddate', INTERVAL 1 DAY)";
  431. $des1=addslashes($Data11->des);
  432. $title1=addslashes($Data11->title);
  433. $short_description=addslashes($Data11->short_description);
  434. if($frequency_run==($Data11->max_frequency-1))
  435. $sql="insert into bid (title, lang, bid_rate, des, image_path2, image_path,image_path3,image_path4, entrydate, auction_code, extends_time, final_bid, start_auction, end_auction, normal_rate, category, start_pause, sdate, edate, timer_value, delivery_cost, delivery_info, meta_description, meta_keyword, auction_type, start_price, system_id, target_price, robot_system, robot_runtime, quantity_stock, max_frequency, beginner_auction, short_description, parent_auction, sequenceid) values('$title1', '$Data11->lang',
  436. '$Data11->bid_rate', '$des1', '$filename0_2', '$filename0','$filename0_3','$filename0_4', '$today','$auction_code', '$Data11->extends_time', '$Data11->start_price' , '".$Today_Time."', '$new_pieces[1]', '$Data11->normal_rate', '$Data11->category', '$Data11->start_pause', $update_date, $update_enddate, '$Data11->timer_value', '$Data11->delivery_cost', '$Data11->delivery_info', '$Data11->meta_description', '$Data11->meta_keyword', '$Data11->auction_type', '$Data11->start_price', '$Data11->system_id', '$Data11->target_price', '$Data11->robot_system', '$Data11->robot_runtime', '$quantity_stock', '$Data11->max_frequency', '$Data11->beginner_auction', '$short_description', '$parent_auction', $Data11->sequenceid)";
  437. else
  438. $sql="insert into bid (title, lang, bid_rate, des, image_path2, image_path,image_path3,image_path4, entrydate, auction_code, extends_time, final_bid, start_auction, end_auction, normal_rate, category, start_pause, sdate, edate, timer_value, delivery_cost, delivery_info, meta_description, meta_keyword, auction_type, start_price, system_id, target_price, robot_system, robot_runtime, quantity_stock, max_frequency, beginner_auction, short_description, parent_auction, sequenceid) values('$title1', '$Data11->lang',
  439. '$Data11->bid_rate', '$des1', '$filename0_2', '$filename0','$filename0_3','$filename0_4', '$today','$auction_code', '$Data11->extends_time', '$Data11->start_price' , '".$Today_Time."', '$new_pieces[1]', '$Data11->normal_rate', '$Data11->category', '$Data11->start_pause', '".$CURRENT_DATE."', '$new_pieces[0]', '$Data11->timer_value', '$Data11->delivery_cost', '$Data11->delivery_info', '$Data11->meta_description', '$Data11->meta_keyword', '$Data11->auction_type', '$Data11->start_price', '$Data11->system_id', '$Data11->target_price', '$Data11->robot_system', '$Data11->robot_runtime', '$quantity_stock', '$Data11->max_frequency', '$Data11->beginner_auction', '$short_description', '$parent_auction', $Data11->sequenceid)";
  440.  
  441. $result=$dbh->query($sql);
  442.  
  443. if($result){
  444. $dbh->query("update bid set sequence='$seq' where id='$seq'");
  445.  
  446. $qry3="select * from bid_details where status='Y' and deleted='N' and item_id='$parent_auction'";
  447. $qry2=$dbh->query($qry3);
  448. while($result2=mysql_fetch_object($qry2))
  449. {
  450. $qryi3="insert into bid_details (title,description,delivery_info,short_description,lang,item_id) values('$result2->title','$result2->description','$result2->delivery_info','$result2->short_description','$result2->lang','$seq')";
  451. $result5=$dbh->query($qryi3);
  452. }
  453. }
  454. }
  455. else
  456. {
  457. $subject1='out of stock';
  458. $message1=$Data11->title.$lang['stock_currently'];
  459.  
  460. $mail = new PHPMailer();
  461.  
  462. $mail->From = $SITE_EMAIL; //site url of sender
  463. $mail->FromName = $SITE_TITLE; //site title of sender
  464. $mail->AddAddress($SITE_EMAIL); // email address of reciever
  465. $mail->WordWrap = 50; // set word wrap
  466. $mail->IsHTML(true); // send as HTML
  467. $mail->Subject = $subject1; // subject of mail
  468. $mail->Body = $message1; // body of mail
  469.  
  470. $mail->Send();
  471. }
  472. }
  473.  
  474. //***********************************//
  475.  
  476. $heading=$lang['msg_bid_rec_success'].' '.$lang['paypal'];
  477. }
  478. else
  479. $heading=$lang['block_user'];
  480. }
  481. else
  482. {
  483. $heading=$lang['msg_bid_rec_fail'];
  484. $retry='<td align="center"><input type="submit" value="'.$lang[retry].'" name="retry"></td>';
  485. $retry_page='index.php?show=view_buy_details&item_id=$Data->item_id';
  486. }
  487. }
  488. }
  489.  
  490. ?>


Voilà à peine 491 lignes...et j'y connais presque rien donc imagine le souci :wahoo:  voilà je ne sais pas si tu peux trouver le problème ?

Mais merci encore de ton aide précieuse !
a c 232 L Programmation
3 Janvier 2012 23:42:32

Il y a un deuxième if(option == 'p') dans le code. Essaie d'y ajouter aussi la condition sur la session.
4 Janvier 2012 14:46:02

Bon j'ai rajouté la condition à un endroit et toujours le même souci.

En fait si on change de page ou si on actualise la première fois qu'on arrive sur la page de traitement , et bien on est recrédité une fois...

Ce qui signifie que la condition marche mais pas dès le premier coup...ou alors qu'il y a encore des conditions à rajouter...?

Des conditions à rajouter je suppose...mais où ???

Je vais tenter plusieurs connditions et voir si il y a du changement...

D'ailleurs des if(option == 'p') il y en a un paquet dans le code, mais qui ne corresponde pas forcément au paiement qui cloche.
Car comme dit plus haut il me semble ce fameux code traite paiement objet et paiement de points donc deux choses bien distinctes avec des envoi de mail différents,etc...

Enfin bref comme j'ai vraiment du mal à dicerner quel code va avec tel paiement , je ne sais plus où rajouter les conditions...

Donc je fais des tests et je reviens vers vous ! :p  j'espère avec une solution...
4 Janvier 2012 16:50:24

Bon le désespoir m'envahit...

J'ai toujours le même souci en arrivant après paiement sur ma page, si j'actualise ou si je vais sur une autre page, on est crédité une nouvelle fois...çà me saoule bien là...!!!

Si une âme charitable pouvait me trouver ce qui cloche...

Merci d'avance
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS