stormx Posted November 9, 2008 Share Posted November 9, 2008 Hey all, I am getting the following error from an else function This is my code, this is the syntax thats giving the error: //---------------------------------------------------------------- // ..If UNVerified - It's 'Suspicious' and needs investigating! // Send an email to yourself so you investigate it. //---------------------------------------------------------------- else { <<<<<WHERE ERROR IS mail($payer_email, "An Error Occurred...", "Dear Customer,\n an error occurred while PayPal was processing your order. It will be investigated by a human at the earliest opportunity.\n\nWe apologise for any inconvenience.", "From: [email protected]\nReply-To: [email protected]"); <?php //------------------------------------------------------------------ // Open log file (in append mode) and write the current time into it. // Open the DB Connection. Open the actual database. //------------------------------------------------------------------- $log = fopen("ipn.log", "a"); fwrite($log, "\n\nipn - " . gmstrftime ("%b %d %Y %H:%M:%S", time()) . "\n"); $db = mysql_connect("localhost", "user", "pass"); mysql_select_db("db",$db); //------------------------------------------------ // Read post from PayPal system and create reply // starting with: 'cmd=_notify-validate'... // then repeating all values sent - VALIDATION. //------------------------------------------------ $postvars = array(); while (list ($key, $value) = each ($HTTP_POST_VARS)) { $postvars[] = $key; } $req = 'cmd=_notify-validate'; for ($var = 0; $var < count ($postvars); $var++) { $postvar_key = $postvars[$var]; $postvar_value = $$postvars[$var]; $req .= "&" . $postvar_key . "=" . urlencode ($postvar_value); } //-------------------------------------------- // Create message to post back to PayPal... // Open a socket to the PayPal server... //-------------------------------------------- $header .= "POST /cgi-bin/webscr 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.paypal.com", 80, $errno, $errstr, 30); //---------------------------------------------------------------------- // Check HTTP connection made to PayPal OK, If not, print an error msg //---------------------------------------------------------------------- if (!$fp) { echo "$errstr ($errno)"; fwrite($log, "Failed to open HTTP connection!"); $res = "FAILED"; } //-------------------------------------------------------- // If connected OK, write the posted values back, then... //-------------------------------------------------------- else { fputs ($fp, $header . $req); //------------------------------------------- // ...read the results of the verification... // If VERIFIED = continue to process the TX... //------------------------------------------- while (!feof($fp)) { $res = fgets ($fp, 1024); if (strcmp ($res, "VERIFIED") == 0) { //---------------------------------------------------------------------- // If the payment_status=Completed... Get the password for the product // from the DB and email it to the customer. //---------------------------------------------------------------------- if (strcmp ($payment_status, "Completed") == 0) { $qry = "SELECT password FROM products"; $result = mysql_query($qry,$db); while ($myrow = mysql_fetch_row($result)) { $passwd = $myrow[0]; } //Send Message $message .= "Dear Customer,\n Thankyou for your order.\n\nThe password f or the item you ordered is: $row[0]\n\nIf you have any problems, please contact us: \n\nsales\@yourdomain.com"; mail($payer_email, "Your Book Password...", $message, "From: [email protected]\nReply-To: [email protected]"); } //If failed //---------------------------------------------------------------------- // If the payment_status is NOT Completed... You'll have to send the // password later, by hand, when the funds clear... //---------------------------------------------------------------------- else { $message .= "Dear Customer,\n Thankyou for your order.\n\nThe password for the item you ordered will be sent to you when the funds have cleared.\n\nThankyou \n\nsales\@yourdomain.com"; mail($payer_email, "Your Book Password...", $message, "From: [email protected]\nReply-To: [email protected]"); mail($receiver_email, "Incomplete PayPal TX...", "An incomplete transaction requires your attention."); } //If Weird //---------------------------------------------------------------- // ..If UNVerified - It's 'Suspicious' and needs investigating! // Send an email to yourself so you investigate it. //---------------------------------------------------------------- else { mail($payer_email, "An Error Occurred...", "Dear Customer,\n an error occurred while PayPal was processing your order. It will be investigated by a human at the earliest opportunity.\n\nWe apologise for any inconvenience.", "From: [email protected]\nReply-To: [email protected]"); mail($receiver_email, "Invalid PayPal TX...", "An invalid transaction requires your attention."); } } } //Insert Stuff //-------------------------------------- // Insert Transaction details into DB. //-------------------------------------- $qry = "INSERT into psales ( invoice, receiver_email, item_name, item_number, quantity, payment_status, pendi ng_reason, payment_date, payment_gross, payment_fee, txn_id, txn_type, first_nam e, last_name, address_street, address_city, address_state, address_zip, address_ country, address_status, payer_email, payer_status, payment_type, notify_version , verify_sign ) VALUES ( \"$invoice\", \"$receiver_email\", \"$item_name\", \"$item_number\", \"$quanti ty\", \"$payment_status\", \"$pending_reason\", \"$payment_date\", \"$payment_gr oss\", \"$payment_fee\", \"$txn_id\", \"$txn_type\", \"$first_name\", \"$last_na me\", \"$address_street\", \"$address_city\", \"$address_state\", \"$address_zip \", \"$address_country\", \"$address_status\", \"$payer_email\", \"$payer_status \", \"$payment_type\", \"$notify_version\", \"$verify_sign\" ) "; $result = mysql_query($qry,$db); //------------------------------------------- // Close PayPal Connection, Log File and DB. //------------------------------------------- fclose ($fp); fclose ($log); mysql_close($db); ?> It gives the following error Parse error: syntax error, unexpected T_ELSE Please help, thanks:) Quote Link to comment https://forums.phpfreaks.com/topic/131982-solved-web-bureau-ipn-sript-trouble/ Share on other sites More sharing options...
ratcateme Posted November 9, 2008 Share Posted November 9, 2008 try adding a } in front of the else{ Scott. Quote Link to comment https://forums.phpfreaks.com/topic/131982-solved-web-bureau-ipn-sript-trouble/#findComment-685801 Share on other sites More sharing options...
stormx Posted November 9, 2008 Author Share Posted November 9, 2008 Thanks Scott for your advise, but it still just doesn't work :'( Quote Link to comment https://forums.phpfreaks.com/topic/131982-solved-web-bureau-ipn-sript-trouble/#findComment-685802 Share on other sites More sharing options...
AndyB Posted November 9, 2008 Share Posted November 9, 2008 If you reformat that code to indent the if/else loops you'll probably see where the logical flaw exists. As posted, it's not easy to understand, Quote Link to comment https://forums.phpfreaks.com/topic/131982-solved-web-bureau-ipn-sript-trouble/#findComment-685805 Share on other sites More sharing options...
ratcateme Posted November 9, 2008 Share Posted November 9, 2008 how doesn't it work? i check it and it has no other syntax errors Scott. Quote Link to comment https://forums.phpfreaks.com/topic/131982-solved-web-bureau-ipn-sript-trouble/#findComment-685807 Share on other sites More sharing options...
stormx Posted November 12, 2008 Author Share Posted November 12, 2008 I found another script, PayPal kept giving it an error. Thanks guys. Quote Link to comment https://forums.phpfreaks.com/topic/131982-solved-web-bureau-ipn-sript-trouble/#findComment-688353 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.