Re: [PHP] Need urgent help on post php long code

2005-04-22 Thread Richard Lynch
On Thu, April 21, 2005 12:55 am, Pieter du Toit said:
 I have the following code:
 $result = mysql_query(SELECT users.user_first_name, users.user_last_name,
 users.user_cell, users.user_idnom, users.user_email, users.user_adres1,
 users.user_adres2, users.user_pcode, users.user_city, users.user_prov FROM
 users WHERE users.user_id = '$user_id');

 extract($row);

 $ewal_result = mysql_query(SELECT DECODE(ewallet.ewal_pass,
 '{$config[password_password]}') AS ewal_pass FROM ewallet WHERE
 ewallet.user_id = '$user_id');

 extract($row);

 dprint($row);

 $Co_ID = $config[e_wallet][Co_ID];

 $Outlet = $config[e_wallet][Outlet];

 $transac = get_nextid($_SESSION[database], transacs, tran_id,
 tran);

 ! this is where i echo all my required vars to post, and i get a value
 for each, but when i post to the next form only $co_id and $outlet is
 posted
 !!

POST variables come from the HTTP interaction.

HTTP is stateless -- Nothing from one POST will get carried over to the
next unless *YOU* do something to make that happen.

You can pass them as HIDDEN INPUT, you can put them in your SESSION, you
can hire/train a squirrel to read them and repeat them, but they ain't
gonna get carried over unles YOU do it.

Neither $co_id nor $Outlet is POSTed.  You assign them in your script, so
of course they have values.


 echo Admin testingbr;

 echo coid = .$Co_ID;

 echo Outlet = .$Outlet;

 echo user_email = .$user_email;

 echo ewal_pass = .$ewal_pass;

 echo user_id = .$user_id.$transac;

 echo  END

These other variables would work *ONLY* if you manage to transmit $user_id
(used in the queries above) from page to page.


 input type=hidden name=Co_ID value=$Co_ID

 input type=hidden name=Outlet value=$Outlet

 input type=hidden name=UserName value=$user_email

 input type=hidden name=Password value=$ewal_pass

 input type=hidden name=Reference value=$user_id:$transac

 input type=hidden name=Lang value=ENG

Here you are passing two variables you're going to ignore anyway ($Co_ID
and $Outlet) and *NOT* passing $user_id you need in your queris, and,
well, I don't really know what you are trying to do with the other four
variables, but you've given me a headache. :-)

Sit down with a pencil and figure out exactly what data you need to
transmit from page to page, and what you can just lookup again, and where
the data will come from.

I say again:  POST data will not propogate itself. You MUST
store/propogate it in $_SESSION or as more hidden INPUT or propogate at
least the $user_id so you can look up their info again.

-- 
Like Music?
http://l-i-e.com/artists.htm

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] Need urgent help on post php long code

2005-04-21 Thread Pieter du Toit
I have the following code:
function display_setcom() {

global $config;

dsprint(display_setcom());

dprint($_SESSION[logged_in]);

$user_id = $_SESSION[logged_in];

$result = mysql_query(SELECT users.user_first_name, users.user_last_name, 
users.user_cell, users.user_idnom, users.user_email, users.user_adres1, 
users.user_adres2, users.user_pcode, users.user_city, users.user_prov FROM 
users WHERE users.user_id = '$user_id');

if (mysql_num_rows($result) == 1) {

$user_detail = check_user_details($user_id); //app.func.inc.php


dprint($user_detail);

if ($user_detail === true) {

$row = mysql_fetch_assoc($result);

dprint($row);

extract($row);




$ewal_result = mysql_query(SELECT DECODE(ewallet.ewal_pass, 
'{$config[password_password]}') AS ewal_pass FROM ewallet WHERE 
ewallet.user_id = '$user_id');

if (!mysql_error()) {

if (mysql_num_rows($ewal_result)  0) {

$row = mysql_fetch_assoc($ewal_result);

extract($row);

dprint($row);

}

} else {

dprint(mysql_error());

}


dprint($ewal_tosetcom);

$Co_ID = $config[e_wallet][Co_ID];

$Outlet = $config[e_wallet][Outlet];

$transac = get_nextid($_SESSION[database], transacs, tran_id, tran);

! this is where i echo all my required vars to post, and i get a value 
for each, but when i post to the next form only $co_id and $outlet is posted 
!!

echo Admin testingbr;

echo coid = .$Co_ID;

echo Outlet = .$Outlet;

echo user_email = .$user_email;

echo ewal_pass = .$ewal_pass;

echo user_id = .$user_id.$transac;

echo  END

p class=WARNThe following details are used for your credit card 
transactions,brif they are incorrect or incomplete, please go to a 
href=index1.php?display=detailsMy Details/a and update your 
details.brIf it is correct, you can click on the button below to TopUp 
eWallet/p

form action=testvars.php method=post name=setcom

table CLASS=PREDICT border=1 align=center

tr class=minmaxtxt

tdName:/td

td class=minmaxtxtcoinput name='Name' type='hidden' maxlength='25' 
size='35' value=$user_first_name $user_last_name$user_first_name 
$user_last_name/td

/tr

tr class=minmaxtxt

tdCellphone Number:/td

td class=minmaxtxtcoinput name='Tel' type='hidden' maxlength='10' 
size='15' value=$user_cell$user_cell/td

/tr

tr class=minmaxtxt

tdID Number:/td

td class=minmaxtxtcoinput name='Addonfields' type='hidden' 
maxlength='13' size=17 value=Identity:$user_idnom$user_idnom/td

/tr

tr class=minmaxtxt

tdAddress:/td

td

table border=1 class=PREDICT

tr class=minmaxtxt

tdStreetname  Number:/td

td class=minmaxtxtcoinput name='Address1' type='hidden' maxlength='255' 
size='15' value=$user_adres1$user_adres1/td

/tr

tr class=minmaxtxt

tdSuburb/Area:/td

td class=minmaxtxtcoinput name='Address2' type='hidden' maxlength='255' 
size='15' value=$user_adres2$user_adres2/td

/tr

tr class=minmaxtxt

tdPost/Zip Code:/td

td class=minmaxtxtcoinput name='Zip' type='hidden' maxlength='9' 
size='10' value=$user_pcode$user_pcode/td

/tr

tr class=minmaxtxt

tdCity:/td

td class=minmaxtxtcoinput name='City' type='hidden' maxlength='25' 
size='15' value=$user_city$user_city/td

/tr

tr class=minmaxtxt

tdProvince/State:/td

td class=minmaxtxtcoinput name='State' type='hidden' maxlength='25' 
size='15' value=$user_prov$user_prov/td

/tr

tr class=minmaxtxt

tdCountry/td

td class=minmaxtxtco

select name=Country

option value=ZASouth Africa/option

/select

/td

/tr

/table

/td

tr class=ROW1

/table

br

table class=PREDICT border=1 align=center

tr class=minmaxtxtco

tdTopUp Amount:/td

tdinput type=text name=CC_amount

/tr

tr class=minmaxtxt

td colspan=2 align=center

input type=submit name=register value=TopUp eWallet onClick=if 
(!ValidAmount(setcom.CC_amount.value)) { alert('Please enter a valid 
amount'); return (false);};

/td

/tr

/table

input type=hidden name=Co_ID value=$Co_ID

input type=hidden name=Outlet value=$Outlet

input type=hidden name=UserName value=$user_email

input type=hidden name=Password value=$ewal_pass

input type=hidden name=Reference value=$user_id:$transac

input type=hidden name=Lang value=ENG


END;

if ($tosetcom === 0) { //If the user has not been registered yet.

print(\t\t\tinput type=\hidden\ name=\ConfirmPassword\ 
value=\$ewal_pass\\n);

}

print(\t\t/form\n);

} else {

print(p class=\WARN\Your details are not complete. Please update them 
at a href=\index1.php?display=details\My Details/a before you can 
TopUp your account/p\n);

}

} else {

$_SESSION[error] .= p class=\WARN\Could not fetch user details, 
please try again later./p\n;

dprint(mysql_error());

}

}

i really need help here, have a deadline

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php