Jump to content

Regular Expressions crashing Page?!


doubledee

Recommended Posts

I have a payment form that submits its results to Authorize.net.

 

It works on my laptop without an SSL certificate using an Authorize.net test account.

 

But when I transfer this one file over to my GoDaddy account - which has cURL enabled and an SSL certificate - the page crashes when you submit the form results.  (Actually you just get a blank page except for echo statements I added?!)

 

If I take out my "Form Validation" block - which uses Regular Expressions - then the form runs on the server?!  :shrug:

 

Someone said it might be that "cURL must have SSL enabled in the build", but that isn't the issue, because I can send data to an HTTPS connection and receive a response back?!

 

Here is a streamlined version of my code...

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
	<title></title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<link type="text/css" rel="stylesheet" href=".css">
	<style type="text/css" >
		someStyleHere{
			font-weight: bold;
		}
	</style>
</head>
<body>
	<?php
		// Check Form.
		echo '*** Checking for Submitted Form ***<br />';
		if (isset($_POST['submitted'])){
			// Handle Form.
			echo '*** Form was Submitted ***<br />';
			echo '*** Handling Form ***<br />';

			// Trim all incoming data.
			$trimmed = array_map('trim', $_POST);

			// CHECK BILLING INFORMATION.
			echo '*** Check for Form Errors ***<br />';

			// Check First Name.
			if (!empty($_POST['firstName'])){
				if (preg_match('/^[A-Z \'.-]{2,20}$/i', $_POST['firstName'])){
					$firstName = $_POST['firstName'];
				}else{
					$errors['firstName'] = 'Must be 2-20 characters (A-Z \' . -)';
				}
			}else{
					$errors['firstName'] = 'Please enter your First Name.';
			}

			// Determine if any errors.
			if (empty($errors)){
				// PROCESS PAYMENT.
				echo '*** Processing Form ***<br />';

				$post_url = "https://test.authorize.net/gateway/transact.dll";


				// Output the Response Array to the screen as an HTML Numbered List.
				echo "<OL>\n";
				foreach($response_array as $value){
					echo "<LI>" . $value . " </LI>\n";
				}
				echo "</OL>\n";

				// Printe Response Code.
				switch($response_array[0]){
					case "1":
						echo "Response Code: Approved";
						break;
					case "2":
						echo "Response Code: Declined";
						break;
				}


				// Do not re-display Payment Form!!!
				exit();
				// *********************************************************************
			}// End of PROCESS PAYMENT.
		}// End of HANDLE FORM.
	?>

	<!-- HTML PAYMENT FORM -->
	<form id="payment" action="" method="post">
		<fieldset>
			<legend>Billing Details</legend>
			<ol>
				<!-- First Name -->
				<li>
					<label for="firstName">First Name:</label>
					<input id="firstName" name="firstName" class="text" type="text"
								 maxlength="20" value="<?php echo $firstName; ?>" />
					<?php
						if (!empty($errors['firstName'])){
							echo '<span class="error">' . $errors['firstName'] . '</span>';
						}
					?>
				</li>
			</ol>
		</fieldset>
		<!-- Submit Form -->
		<fieldset id="submit">
			<input name="submit" type="submit" value="Place Order" />
			<input name="submitted" type="hidden" value="true" />
		</fieldset>
	</form>
</body>
</html>

 

 

With my Regular Expressions in, I get this output after submitting the form...

 

*** Checking for Submitted Form ***

*** Form was Submitted ***

*** Handling Form ***

 

 

With NO Regular Expressions in, I get this output after submitting the form...

 

*** Checking for Submitted Form ***

*** Form was Submitted ***

*** Handling Form ***

*** Check for Form Errors ***

*** Processing Form ***

post-string = x_login=

 

and so on...

 

 

Response Code: Approved

 

(Which means the code is working...)

 

 

I am at wit's end with this problem...  :-[

 

Thanks,

 

 

 

Debbie

 

 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.