2017-06-26 1 views
0

Dies ist, was ich hier bin. Wenn das Kontrollkästchen aktiviert ist, dann will ich diese WertePHP Checkbox Zu Variable zuweisen

$begindate = '20160101'; 
$enddate = '20161231' 

zuweisen Wenn die Checkbox ist NICHT dann geprüft, möchte ich den Benutzer zwingen, von den Datumswähler zu wählen, und wenn entweder Datum null ist, dann werfen ein Fehler. Ich habe diese Syntax, und das Problem, das ich damit habe ist, dass, wenn das Kontrollkästchen aktiviert ist AND der Benutzer Daten eingibt, dann die Eingabedaten überschreiben die Kontrollkästchen Datumsangaben. NICHT, was ich will. Es kann hier andere Syntaxfehler geben, die mein neues Selbst noch nicht erkannt hat, aber was muss in dieser Syntax geändert werden, damit es richtig fließt und ausgeführt wird, wie ich oben beschrieben habe?

<body> 
<form> 
Display 2016 Data? &emsp; <input type = 'Checkbox' Name='twentysix' value="twentysix"><br> 
<input type="submit" name="submit" value="Gather"> 
</form> 
</body> 
<?php 
if (isset($_POST['submit'])) 
{ 
    if (isset($_POST['twentysix'])) { 
     $begindate = '20160101'; 
     $enddate = '20161231' 
    } else { 
     $begindate = $begindate; 
     $enddate = enddate; 
    } 
    $begindateerror = false; 
    $enddateerror = false; 
    if (empty($_POST['begindate'])) { 
     $begindateerror = true; 
    } 
    if (empty($_POST['enddate'])) { 
     $enddateerror = true; 
    } 
    if ($begindateerror) { 
    echo "<strong>Please select a start date.</strong><br>"; 
    } else if ($enddateerror) { 
     echo "<strong>Please select a end date.</strong><br>"; 
    } else { 
     $begindate = $_POST['begindate']; 
     $enddate = $_POST['enddate']; 
    } 
} 

Antwort

1

Ihre if-Anweisungen für das Kontrollkästchen, um das

Ende Bewegen
$begindateerror = false; 
$enddateerror = false; 
if (empty($_POST['begindate'])) { 
    $begindateerror = true; 
} 
if (empty($_POST['enddate'])) { 
    $enddateerror = true; 
} 
if ($begindateerror) { 
echo "<strong>Please select a start date.</strong><br>"; 
} else if ($enddateerror) { 
    echo "<strong>Please select a end date.</strong><br>"; 
} else { 
    $begindate = $_POST['begindate']; 
    $enddate = $_POST['enddate']; 
} 
if (isset($_POST['twentysix'])) { 
    $begindate = '20160101'; 
    $enddate = '20161231' 
} else { 
    $begindate = $begindate; 
    $enddate = enddate; 
} 

Hinweis: Dies ist nicht der beste Weg, es zu tun. Ich würde empfehlen, den Anfangs-/Enddatumscode in die else-Anweisung des Kontrollkästchens

zu verschieben