2012-03-28 11 views
-1

Ich entschuldige mich, wenn es dumme Frage ist. Ich wollte überprüfen, ob ein oder mehrere Kontrollkästchen nicht leer sind, dann kann ich das Formular bearbeiten und interessanten Text für E-Mails drucken.wie Checkboxen, ob sie leer sind oder nicht

HTML/PHP

<p><label for="commentsText">I am interested in:</label><br/> 
<input type="checkbox" name="interest[]" id="interest" value="1" class="required requiredField email" /> 
    Exhibiting. Please send me more information<br/> 
<input type="checkbox" name="interest[]" id="interest" value="2" class="required requiredField email" /> 
    Visiting. Please add me to your mailing list<br/> 
<input type="checkbox" name="interest[]" id="interest" value="3" class="required requiredField email" /> 
    Speaking. Please send me more information<br/> 
<input type="checkbox" name="interest[]" id="interest" value="4" class="required requiredField email" /> 
    Attending. Please send me more information<br/> 

<?php if($interestError != '') { ?> 
<span class="error"><?php echo $interestError; ?></span> 
<?php } ?> 
</p> 

PHP

$interest='';  
if(empty($_POST[$interest])) 
{ 
    $interestError ='Please select the interests'; 
    $hasError = true; 
} 
else{ 
    $numberofInterest = count($interest); 
    for ($i=0; $i < $numberofInterest; $i++) 
    { 
     $numofInterest = $interest[i]; 
     echo $numofInterest . " "; 
    } 
} 

EDIT # 2

Danke allen für die Hilfe. Ich benutzte print_r und sah, dass alle vier gedruckt werden. Das Problem ist jetzt: Wenn kein Fehler, senden Sie eine E-Mail. Es zeigt nicht alle, wenn ich alle Checkboxen überprüfte. Zeigt nur '4' an. Gibt es eine Möglichkeit, alle enthaltenen Texte anzuzeigen?

if(!isset($hasError)) { 

     $interest = $numofInterest ; 

    $subject = 'I Have A Question to Ask from '.$name; 
      $thanksubject = 'Thank you for the Form Submission'; 
      $body = "Name: $name \n\nEmail: $email \n\nInterest: $interest\n\nComments: $comments"; 

* EDIT # 3 *

OK ich über das letzte gelöst haben. hat geschafft, E-Mail mit allem zu senden.

+0

können Sie dies in Javascript überprüfen, bevor Sie das Formular, wie http://StackOverflow.com/Questions/2684434/JQuery-Check-If-Atleast-one-Checkbox-is-checked –

Antwort

0

Wenn das Formular des PHP-Skript vorgelegt wird ein Array des angekreuzte Kästchen in dem $_GET oder $_POST Variable empfängt jeweils (oder Sie könnten nur verwenden $_REQUEST)

D.h. wenn das erste und das dritte Kontrollkästchen aktiviert ist, ein print_r($_POST['interest']); AUSGABE:

Array 
(
    [0] => 1 
    [1] => 3 
) 

Ich denke, Ihr Hauptfehler, ist die Art und Weise Sie Index der $_POST -variable - verwenden Sie die Variable $interest wo Sie die Zeichenfolge verwendet haben sollte 'interest' , wie oben.

0

Lassen Sie uns eine print_r ($ _ POST); und entdecke, was passiert. Sie erfahren, wie Daten weitergegeben werden und wie ähnliche Probleme in Zukunft gelöst werden können.

Verwandte Themen