Jump to content


Photo

Parse error


  • Please log in to reply
2 replies to this topic

#1 oskare100

oskare100
  • Members
  • PipPipPip
  • Advanced Member
  • 69 posts

Posted 29 October 2006 - 12:42 PM

Hello,
OK, thanks, that solved that problem but now I get "Parse error: parse error in /home/httpd/vhosts/com/httpdocs/paypal7.php on line 211" but I don't have a line 211, my last line is 210 (?>). Earlier someone told me to change some { and ( and that solved another pharase error... Maybe there is something else with the ( and the { just that I can't find it?

The code now:
<?php
// read the post from PayPal system and add 'cmd'
$req = 'cmd=_notify-validate';

foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}

//Post back to PayPal system to validate
$header .= "POST /pp/index.php HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('www.belahost.com', 80, $errno, $errstr, 30);

//Assign posted variables to local variables
//Basic Information
$business = $_POST['business'];
$receiver_email = $_POST['receiver_email'];
$receiver_id = $_POST['receiver_id'];
$item_name = $_POST['item_name'];
$item_number = $_POST['item_number'];
$quantity= $_POST['quantity'];

//Advanced and Custom Information
$invoice = $_POST['invoice'];
$custom = $_POST['custom'];
$memo = $_POST['memo'];
$tax = $_POST['tax'];
$option_name1 = $_POST['option_name1'];
$option_selection1 = $_POST['option_selection1'];
$option_name2 = $_POST['option_name2'];
$option_selection2 = $_POST['option_selection2'];

//Shopping Cart Information
$num_cart_items = $_POST['num_cart_items'];

//Transaction Information
$payment_status = $_POST['payment_status'];
$pending_reason = $_POST['pending_reason'];
$reason_code = $_POST['reason_code'];
$txn_id = $_POST['txn_id'];
$parent_txn_id = $_POST['parent_txn_id'];
$txn_type = $_POST['txn_type'];
$payment_type = $_POST['payment_type'];

//Currency and Exchange Information
$mc_gross = $_POST['mc_gross'];
$mc_fee = $_POST['mc_fee'];
$mc_currency = $_POST['mc_currency'];
$settle_amount = $_POST['settle_amount'];
$settle_currency = $_POST['settle_currency'];
$exchange_rate = $_POST['exchange_rate'];
$payment_gross = $_POST['payment_gross'];
$payment_fee = $_POST['payment_fee'];

//Auction Information
$for_auction = $_POST['for_auction'];
$auction_buyer_id = $_POST['auction_buyer_id'];
$auction_closing_date= $_POST['auction_closing_date'];
$auction_multi_item = $_POST['auction_multi_item'];

//Buyer Information
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$payer_business_name = $_POST['payer_business_name'];
$address_street = $_POST['address_street'];
$address_city = $_POST['address_city'];
$address_state = $_POST['address_state'];
$address_zip= $_POST['address_zip'];
$address_country = $_POST['address_country'];
$address_status = $_POST['address_status'];
$payer_email = $_POST['payer_email'];
$payer_id = $_POST['payer_id'];
$payer_status= $_POST['payer_status'];

if (!$fp) {
// HTTP ERROR
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {

// Check if the payment_status is Completed
if ($payment_status == "Completed")
{

//Connect to MySQL
mysql_connect("localhost", "test", "test") or die(mysql_error());

//Select file system database
mysql_select_db("test") or die(mysql_error());

//generate the password
function createRandomPassword() {

    $chars = "abcdefghijkmnopqrstuvwxyz023456789";
    srand((double)microtime()*1000000);
    $i = 0;
    $pass = '' ;
        
      while ($i <= 7) {
          $num = rand() % 30;
          $tmp = substr($chars, $num, 1);
          $pass = $pass . $tmp;
          $i++;
       }

      return $pass;

   }

$password = createRandomPassword();
$password_encrypt = md5("$password");

//Add group ID
$group_id="4";

//Add user to the download system
mysql_query("INSERT INTO dl_users (username, password, `group`, email) VALUES('$payer_email', '$password_encrypt', '$group_id', '$payer_email') ") 
or die(mysql_error());  

//Add transaction details to the database

//If it is an acution payment
if ($for_auction == "true"){

//Send welcome message (auction payment)
$to      = $payer_email;
$subject = ' delivery information';
$message = "
Hello,
Congratulations! You have won auction ....

Best Regards
";
$headers = 'From: no-reply@test.com' . "\r\n" .
  'Reply-To: test@gmail.com' . "\r\n" .
  'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
unset($to, $subject, $message, $headers);

//Else it is a standard payment
} else {

//Send welcome message (standard payment)
$to      = $payer_email;
$subject = ' delivery information';
$message = "
Hello,
Thank you for your purchase. ....

Best Regards
";
$headers = 'From: no-reply@test.com' . "\r\n" .
  'Reply-To: test@gmail.com' . "\r\n" .
  'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
unset($to, $subject, $message, $headers);
}

}
else if (strcmp ($res, "INVALID") == 0) {
// log for manual investigation
}
}
fclose ($fp);
}
?>

Best Regards
Oskar R

#2 trq

trq
  • Staff Alumni
  • Advanced Member
  • 31,041 posts

Posted 29 October 2006 - 12:44 PM

It helps if you indicate which line is 211.

#3 pendelton

pendelton
  • Members
  • PipPip
  • Member
  • 20 posts
  • LocationUK

Posted 29 October 2006 - 02:13 PM

Some additional basic coding standards would help you find these problems much quicker.

1. Indent you nested latin braces (using tabs), e.g.

foreach ($_POST as $key => $value) 
{
  $value = urlencode(stripslashes($value));
  $req .= "&$key=$value";
}

(see how the opening and closing braces now match up?)

2. Don't spread open quotes over mutiple lines, e.g.

$message = "Hello,\nCongratulations!\nYou have won auction ....\nBest Regards";

You will probably find that you are missing a quote ", a latin brace "}" or a beacket ")".




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users