Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Take a note at blue_hunter's, soapergem's, mgh_mgharish's and dancablam's suggestions.
For me, mgh_mgharish's solution is much closer. So for me it's simplier to write something like this:
<?php
header("Location: https://www.paypal.com/cgi-bin/webscr?cmd={$_POST['cmd']}&redirect_cmd={$_POST['redirect_cmd']}&business={$_POST['business']}&upload={$_POST['upload']}&item_name_1={$item1}&quantity_1={$_POST['quantity_1']}&amount_1={$_POST['amount_1']}");
?>

Also I suggest you to insert die() or exit() after header("Location: ...") like this:
<?php
header("Location: https://www.paypal.com/cgi-bin/webscr?cmd={$_POST['cmd']}&redirect_cmd={$_POST['redirect_cmd']}&business={$_POST['business']}&upload={$_POST['upload']}&item_name_1={$item1}&quantity_1={$_POST['quantity_1']}&amount_1={$_POST['amount_1']}");
exit();
?>

Another thing you have to note is if $_POST['redirect_cmd'] will be somthing like "text with spaces" then this header will cause an error. So you have to validate all data in according to url's conditions.
If you're using PHP 5 or above then you can use http_build_query(); If not you have to create your own function. Anyway you can create a PHPVersion-Independant function to do this:
<?php
function prepareUrl($dataArray)
{
// If our server is PHP 5 and higher, then
// http_build_query() function must exist
// and we can use it.
// $dataArray must be an array.
if (is_array($dataArray) && function_exists("http_build_query")) {
return http_build_query($dataArray);
}
// If http_build_query() is not exist, and
// $dataArray is array, then do urlencode
// dor all values of $dataArray
elseif (is_array($dataArray)) {
$parsed = array();
foreach ($dataArray as $k => $v) {
$parsed[] = $k . "=" . urlencode($v);
}
return implode("&", $parsed);
}
else {
trigger_error("First param of prepareUrl must be an array.", E_USER_WARNING);
return null;
}
}

KennyTM, I've wrote about it. But he cannot use http_build_query() on $_POST, because:
1. _POST can conatin data that has not to be inserted in query
2. He need not to put only some _POST values, but $item1

Also his server may not have PHP 5, but PHP4. That's why I've suggested a function.