Chui a boud nerf !!

cs_phil1129 Messages postés 3 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 6 juin 2003 - 3 juin 2003 à 21:44
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 - 5 juin 2003 à 09:22
Voila l'histoire, ca doit po être très dur mais je suis suffisement baltringue pour pas y arriver.

G une page avec une liste de different produits: description, prix et un bouton "Buy" pour chaque produits.

quand je click sur un produit, je suis rediriger vers un formulaire de paiement ( qui est sur un autre server, mais c po le problème, oup ptète que si dailleurs ?).

Lorsque j'arrive sur le formulaire, les variables prix et description ont été passées et s'affichent normalement.

maintenant a coté du prix g inclu un select remplis par une requète Mysql et qui contient des symbols monétaires pour donner la possibilité de choisir sa monaie de paiement.

Lorsque qu'un symbol est selectionné, le formulaire doit se reloader , calculer le nouveau prix et l'afficher.Une requete est faite pour tirer de la base le taux de change correspondant au symbol puis une calcul du style $prix = $prix * $taux.

Resultat, lorsque la page reload je perd mes variables, le total passe a 0 et la description s'efface. en fait je dois surement repasser mes variables lors du < select... onchange.., mais jy arrive po. je pourrai aussi peut etre utiliser une fonction javascript, mais bon java.... a peine j 'arrive a le lire..

voila le code de la page qui contient le formulaire :
Si kelk1 peut menlever le platre du front....
Merci :

<code>
<?
include("checkout_config.php");
$CURLOS="/usr/bin/curl";

if($_GET['lang']=='fr'){
$lang='fr';
}
elseif($_GET['lang']=='sp'){
$lang='sp';
}
else{
$lang='en';
}

if($cur=='chg'){
$q="select * from table_convert where convert_currency='$x_Currency_Code'";
$r=make_query($q);
while($field=mysql_fetch_array($r)){
$rates=$field[convert_rates];
$price=$price * $rates;
}
}
else{
$price=$_GET['ord_amount'];
$ORD_ID=$_GET['ord_key'];
$desc=base64_decode($_GET['ord_desc']);
}

//echo $DEMOMODE;exit;
//test card 5500000000000004
$ERR="";
if($DEMOMODE=="Y"){
$TEST="true";
}
else{
$TEST="false";
}

if($_POST['sbmt']){

$x_Exp_Date="$month"."$year";

if($x_Card_Num && $x_Exp_Date && $x_Email && $x_First_Name && $x_Last_Name && $x_Country && $x_Address && $x_City && $x_Zip){

$AUTHORIZE_QUERY="x_Test_Request=$TEST&x_Version=3.0&x_Login=xxxxxx&x_Password=xxxxxxx9&x_ADC_Delim_Data=True&x_ADC_Url=False&x_Card_Num=$x_Card_Num&x_Exp_Date=$x_Exp_Date&x_Currency_Code=$x_Currency_Code&x_Email_Customer=true&x_Email=$x_Email&x_First_Name=$x_First_Name&x_Last_Name=$x_Last_Name&x_Country=$x_Country&x_Address=$x_Address&x_City=$x_City&x_Zip=$x_Zip&x_invoice_num=$ORD_ID&x_Type=&x_Amount=".$_GET['ord_amount'];
$URL="https://secure.authorize.net/gateway/transact.dll";

$results="";
exec("$CURLOS -m 120 -d "$AUTHORIZE_QUERY" $URL -L",$return_message_array, $return_number);

for ($i = 0; $i < count($return_message_array); $i++) {
$results = $results.$return_message_array[$i];
}
//echo $results;exit;
$res = explode(",",$results);

if ($res[0]=="1"){
$status=2;
}
elseif ($res[0]=="2"){
$status=0;
}
else{
$status=1;
$ERR_AUTH=$res[3];
}

if($status==2){

$q="select table_orders.*,table_membership.*,table_users.users_email,table_users.users_type as already_member
from table_orders
left join table_membership on table_orders.fk_membership=table_membership.membership_key
left join table_users on table_users.users_key=table_orders.fk_users
where orders_key='$ORD_ID'";
$r=make_query($q);

if(mysql_num_rows($r)){
$field=mysql_fetch_assoc($r);
$q="update table_users set table_users.users_type = table_users.users_type + $field[membership_properties] where users_key = '$field[fk_users]'";
$r=make_query($q);
$nbprop=$field[membership_properties];
$email=$field[users_email];
$price=$field[orders_amount];

if($field[already_member]){
$coresp_field="table_users.users_expire";
}
else{
$coresp_field="now()";
}

$q="update table_users set table_users.users_expire = DATE_ADD($coresp_field,interval 12 month),users_date=users_date where users_key='$field[fk_users]'";
$r=make_query($q);

##### updating orders to accepted or declined

$q="update table_orders set orders_status=2 where orders_key='$ORD_ID'";
$r=make_query($q);

######### send email - Email + price + nb Prop

$msg=" Voici le status de la derniere vente:
Sale Amount: $price
Number of Listing: $nbprop
Email: $email";

send_email($ADMIN,"Sales Status",$msg);

$subject="SystemVac.com - Customer Receipt/Purchase Confirmation";
$message="";
$message.="========= GENERAL INFORMATION =========\n";
$message.="Merchant : System Vac, Inc.\n";
$message.="Date/Time: now()\n\n";

$message.="========= ORDER INFORMATION =========\n";
$message.="Invoice: $_GET[ord_amount]\n";
$message.="Total: $_GET[ord_amount]($x_Currency_Code)\n";
$message.="Description: $desc\n";

$message.="========= BILLING INFORMATION =========\n";
$message.="First Name: $x_First_Name\n";
$message.="Last Name: $x_Last_Name\n";
$message.="Address: $x_Address\n";
$message.="City: $x_City\n";
$message.="Zip: $x_Zip\n";
$message.="Country: $x_Country\n\n\n";

send_email($x_Email,$subject,$message);

header("Location: $PATH/messages.php?".SID."&mess=1001");
exit;

}
else{
header("Location: $PATH/messages.php?".SID."&mess=1002");
exit;
}
}
elseif($status==0){
##### updating orders to accepted or declined
$q="update table_orders set orders_status=0 where orders_key='$ORD_ID'";
$r=make_query($q);
##################################
header("Location: $PATH/messages.php?".SID."&mess=1003");
exit;
}

}
else{
$ERR="All fields are required";
}

}

if($price>0){
//ok
}
else{
$ERR="Error! Wrong amount detected. Please contact the administrator at: webmaster@xxxxxx.com";
}

?>

<table width="756" cellspacing="3" cellpadding="3" border="0" align="center" bgcolor="#FFFFFF">
----,

<TABLE ALIGN=CENTER width=100% CELLSPACING=0 BORDER=0 CELLPADDING=0 BGCOLOR=\"#CCCCCC\">

----

,

----

Package Description,
<?=$desc?>,

----


<?=$ERR?>
<?=$ERR_AUTH?>


<form name=\"checkout\" method=\"post\" action=\"<?=$PHP_SELF.\"?\".$QUERY_STRING?>\">

----

,

----

Total Amount:,
<select name="x_Currency_Code" onchange="document.checkout.action='checkout_en.php?cur=chg';document.checkout.submit();">
<?
$q="select * from table_convert";
$res=make_query($q);
while($row=mysql_fetch_row($res)) {
echo "<option value='$row[1]'>$row[2]</option>";
}
?>
</select> <? echo $price; ?>,

----

Credit Card Number:,
">,

----

Expiration date:,
<select name="month">
<option value=''>month</option>
<option value='1'>01</option>
<option value='2'>02</option>
<option value='3'>03</option>
<option value='4'>04</option>
<option value='5'>05</option>
<option value='6'>06</option>
<option value='7'>07</option>
<option value='8'>08</option>
<option value='9'>09</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
</select>

<select name="year">
<option value=''>year</option>
<option value='2003'>2003</option>
<option value='2004'>2004</option>
<option value='2005'>2005</option>
<option value='2006'>2006</option>
<option value='2007'>2007</option>
<option value='2008'>2008</option>
<option value='2009'>2009</option>
</select>,

----

First Name:,
">,

----

Last Name:,
">,

----

Address:,
">,

----

City:,
">,

----

Zip:,
">,

----

Country:,
<select name="x_Country">
<?
$q="select countries_key,countries_name_".$_GET['lang']." from table_countries
where countries_show = 1
order by countries_key";
$res=make_query($q);
while($row=mysql_fetch_row($res)) {
echo "<option value='$row[0]'>$row[1]</option>";
}
?>
</select>,

----

Email Address:,
">,

<!-- END: card_form -->

----

,
</form>

,

----

,

----

</td></tr></table>

<script language="JavaScript">
function set_select(sel_name,form_name,sel_index){

sel_length=eval("document."+form_name+"."+sel_name+".length");

for (optionCounter = 0; optionCounter < sel_length; optionCounter++){

if (eval("document."+form_name+"."+sel_name+".options[optionCounter].value=='"+sel_index+"'")){

eval("document."+form_name+"."+sel_name+".selectedIndex=optionCounter");

}

}

}

set_select("month","checkout","<?=$_POST['month']?>");
set_select("year","checkout","<?=$_POST['year']?>");
set_select("x_Country","checkout","<?=$_POST['x_Country']?>");
set_select("x_Currency_Code","checkout","<?=$_POST['x_Currency_Code']?>");

</script>

</td></tr></table>

3 réponses

cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
4 juin 2003 à 11:20
salut,
je t avoue de suite que j ai pas lu entierment le code mais je pense que tu dois passer par des input type hidden pour recuperer les données que tu veux ;)
Duss
0
cs_phil1129 Messages postés 3 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 6 juin 2003
4 juin 2003 à 21:03
Duss,

merci de ta réponse. Bien sur avec des input type hidden c mieux. Et puis si on recupère les variables sans oublier de mettre <?=$_POST['Ma_Pu..._de_Variable']?> alors c encore mieux, même que ca marche. Kelk1 a des billets pas cher m'fo des vacances...

phil
0
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
5 juin 2003 à 09:22
lol, je crois qu on est tous pareil einh :big)
Duss
0
Rejoignez-nous