Just noticed I get these errors if I DON’T select a checkbox and submit:
Warning: implode() [function.implode]: Invalid arguments passed in /home/content/o/l/t/oltvcb/html/feedback_mtg.php on line 148
Warning: Cannot modify header information - headers already sent by (output started at /home/content/o/l/t/oltvcb/html/feedback_mtg.php:148) in /home/content/o/l/t/oltvcb/html/feedback_mtg.php on line 162
I did notice that the form data actually came through in my email…
Has something to do with the ‘options’ field
Below is the form code:
#<?php // ------------- CONFIGURABLE SECTION ------------------------ // $mailto - set to the email address you want the form // sent to, eg //$mailto = 'youremailaddress@example.com' ; $mailto = 'xxxxx@xxxxxxxxx.com' ; // $subject - set to the Subject line of the email, eg //$subject = 'Feedback Form' ; $subject = 'Request For Visitor Guide' ; // the pages to be displayed, eg //$formurl = 'http://www.example.com/feedback.html' ; //$errorurl = 'http://www.example.com/error.html' ; //$thankyouurl = 'http://www.example.com/thankyou.html' ; $formurl = 'http://www.example.com/requestform_mtg.php' ; $errorurl = 'http://www.example.com/error.php' ; $thankyouurl = 'http://www.example.com/thankyou.php' ; $email_is_required = 1; $name_is_required = 1; $address_is_required = 1; $contactname_is_required = 1; $city_is_required = 1; $zip_is_required = 1; $phone_is_required = 1; $uself = 0; $use_envsender = 0; $use_webmaster_email_for_from = 1; $use_utf8 = 1; // -------------------- END OF CONFIGURABLE SECTION --------------- $headersep = (!isset( $uself ) || ($uself == 0)) ? '\r\n' : '\n' ; $content_type = (!isset( $use_utf8 ) || ($use_utf8 == 0)) ? 'Content-Type: text/plain; charset='iso-8859-1'' : 'Content-Type: text/plain; charset='utf-8'' ; if (!isset( $use_envsender )) { $use_envsender = 0 ; } $envsender = '-f$mailto' ; $name = $_POST['name'] ; $contactname = $_POST['contactname'] ; $title = $_POST['title'] ; $email = $_POST['email'] ; $address = $_POST['address'] ; $city = $_POST['city'] ; $state = $_POST['state'] ; $zip = $_POST['zip'] ; $country = $_POST['country'] ; $fax = $_POST['fax'] ; $phone = $_POST['phone'] ; $mtgname = $_POST['mtgname'] ; $dates = $_POST['dates'] ; $attendance = $_POST['attendance'] ; $guestroom = $_POST['guestroom'] ; $mtgroom = $_POST['mtgroom'] ; $timeframe = $_POST['timeframe'] ; $options = $_POST['options'] ; $comments = $_POST['comments'] ; $http_referrer = getenv( 'HTTP_REFERER' ); if (!isset($_POST['email'])) { header( 'Location: $formurl' ); exit ; } if (($email_is_required && (empty($email) || !ereg('@', $email))) || ($name_is_required && empty($name)) || ($address_is_required && empty($address)) || ($contactname_is_required && empty($contactname)) || ($city_is_required && empty($city)) || ($zip_is_required && empty($zip)) || ($phone_is_required && empty($phone))) { header( 'Location: $errorurl' ); exit ; } if ( ereg( '[\r\n]', $name ) || ereg( '[\r\n]', $email ) || ereg( '[\r\n]', $address ) || ereg( '[\r\n]', $contactname ) ) { header( 'Location: $errorurl' ); exit ; } if (empty($email)) { $email = $mailto ; } $fromemail = (!isset( $use_webmaster_email_for_from ) || ($use_webmaster_email_for_from == 0)) ? $email : $mailto ; if (get_magic_quotes_gpc()) { $comments = stripslashes( $comments ); } $messageproper = 'This message was sent from:\n' . '$http_referrer\n' . '------------------------------------------------------------\n' . 'Organization Name: $name\n' . 'Contact Name: $contactname\n' . 'Email of sender: $email\n' . 'Address of sender: $address\n' . 'City of sender: $city\n' . 'State of sender: $state\n' . 'Zip Code of sender: $zip\n' . 'Country of sender: $country\n' . 'Fax of sender: $fax\n' . 'Phone of sender: $phone\n' . 'Meeting Name: $mtgname\n' . 'Preferred Dates: $dates\n' . 'Expected Attendance: $attendance\n' . 'Guest Rooms: $guestroom\n' . 'Largest Meeting Room Needed: $mtgroom\n' . 'Decision Timeframe: $timeframe\n' . 'Options:'.implode('\n',$options).'\n'. '------------------------- COMMENTS -------------------------\n\n' . $comments . '\n\n------------------------------------------------------------\n' ; $headers = 'From: \'$name\' <$fromemail>' . $headersep . 'Reply-To: \'$name\' <$email>' . $headersep . 'X-Mailer: chfeedback.php 2.13.0' . $headersep . 'MIME-Version: 1.0' . $headersep . $content_type ; if ($use_envsender) { mail($mailto, $subject, $messageproper, $headers, $envsender ); } else { mail($mailto, $subject, $messageproper, $headers ); } header( 'Location: $thankyouurl' ); exit ; ?>
Aside from the fact that is some seriously hideous code, to fix your error replace this line:
With this:
The error is basically whenever you don’t select an option
$optionsis not set as an array, so when you try doingimplodeon it PHP is unhappy because it is expecting an array.