PHP Form Kutularını

4 Cevap php

How do I get the values of php checkboxes in a form to show when emailed to the recipient? I am learning how to use php but I can't figure this one out with the form i have generated.

Aşağıdaki formu kendisinden onay kutusu kodu:

<input type="checkbox" value="Please send me a Travel Planner" name="options[]">
<input type="checkbox" value="Please send me a Visitor Map" name="options[]" />
<input type="checkbox" value="Please sign me up for the email newsletter" name="options[]" />

Şimdi burada bunu işler geribildirim sayfasından formu kodu:

#<?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'] ;
$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" . 
    "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: $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 ;

?>

Ben onay kutularını için e-posta yoluyla almak Tüm "dizi" dir.

Teşekkürler

Update:

Sadece ben bir onay kutusunu seçmek ve göndermek ETMEYİN eğer ben bu hataları olsun fark:

Warning: implode () [function.implode]: on line home / content / o / l / ton / oltvcb / html / feedback_mtg.php / geçirilen geçersiz argümanlar 148

Uyarı: başlık bilgileri değiştirilemiyor - zaten tarafından gönderilen başlıklar (çıkış / home / content / o / l / ton / oltvcb / html / feedback_mtg.php başladı: 148) / home / content / o / l / ton / oltvcb / in html / feedback_mtg.php hattında 162

Ben form verileri aslında benim e-posta yoluyla geldiğini fark etmedi.

4 Cevap

$ Seçenekler bir dizidir. imploding deneyin.

$options = implode(', ', $options);

Kutularını gönderildikleri bir dizi olarak kabul edilir.

fveyaeach($options as $option) {
  print $option."\n";
}

veya

print implode("\n", $options);

İşte bir öneri. Bunun yerine:

"Options: $options\n" .

Bu deneyin:

"Options:".implode("\n",$options)."\n".

$ Seçenekler hiçbir dizi (onay kutularını kontrol edildi) mevcut olması ihtimali her zaman var. Bu durumda, böyle bir şey yapabilirsiniz:

"Options:".(isset($options) ? implode("\n",$options) : "")."\n".

İlk olarak, "[]" kurtulmak için gereken HTML onay kutularını için değişkenin adına.

Bu işlem sayfanın teslim olduğunda bunu "seçenekler" olarak adlandırırsanız, bir dizi olarak aracılığıyla gelir.

Bu noktadan itibaren, artık seçilen değerleri bir dizi var.

$ _POST ['Seçenekler']