php - seleccion - insertar casilla de verificacion en excel 2016
¿Cómo puedo hacer que los botones de opción, los cuadros de selección y las casillas de verificación requieran campos en un formulario? (4)
He configurado mi código para que requiera todos los campos del formulario, pero por alguna razón solo se aplica a los tipos de entrada de texto, correo electrónico y contraseña. Entonces mi pregunta es ¿cómo puedo obtener los botones de opción, cuadros de selección y casilla de verificación para que también sean campos obligatorios dentro del formulario? Aquí está mi código:
<form action="" method="post">
<ul id="register">
<li>
<input type="text" name="first_name" placeholder="First Name">
</li>
<li>
<input type="text" name="last_name" placeholder="Last Name">
</li>
<li>
<input type="email" name="email" placeholder="Email"><br><br>
</li>
<li>
<input type="password" name="password" placeholder="Password">
</li>
<li>
<input type="radio" name="sex" value="male">Male
<input type="radio" name="sex" value="female">Female
</li>
<li>
Birthday:
<select name="month">
<option value="January">January</option>
//all the other month options
</select>
<select name="day">
<option value="1">1</option>
//all the other days of the month
</select>
<select name="year">
<option value="2013">2013</option>
//ton of year options here
</select><br><br>
</li>
<li>
<input type="checkbox" name="terms_of_service" value="termsofservice">Terms of Service<br><br>
</li>
<li>
<input type="submit" name="registrationform" value="Sign up">
</li>
</ul>
</form>
<?php
if (empty($_POST) === false) {
$required_fields = array(''first_name'', ''last_name'', ''email'', ''password'', ''sex'', ''birthday'', ''terms_of_service'');
foreach ($_POST as $key=>$value) {
if (empty($value) && in_array($key, $required_fields) === true) {
$errors[] = ''You didn/'t fill in all of the categories.'';
break 1;
}
}
}
print_r($errors);
?>
La respuesta de Ultimate es perfecta y es lo que necesitas.
Te explicaré qué es el servidor y la validación local.
La validación local es cuando usted verifica las entradas en su código html o con javascript. Es rápido porque está marcado en el navegador . Pero cualquiera que visite su página podrá desactivar esa validación con poca habilidad técnica.
La validación del servidor es cuando verifica las entradas en su código php. (el código que está entre <?php and ?>
). Se verifica entonces, en el servidor . Por lo tanto, cualquiera que visite su página no podrá deshabilitar esa validación.
De todos modos, recomiendo usar ambos. Porque la validación local es rápida y la validación del servidor es segura.
Para agregar validación local, este enlace lo explicará muy bien: http://www.w3schools.com/html5/att_input_required.asp
[Asegúrese de tener en la primera parte de su código el doctype configurado para usar html5:
<!DOCTYPE html>
<html>
<head>
...blablabalblabla more html code...
Entonces su HTML con validación resultará en algo como esto:
<form action="" method="post">
<ul id="register">
<li>
<input type="text" name="first_name" placeholder="First Name" required="required">
</li>
<li>
<input type="text" name="last_name" placeholder="Last Name" required="required">
</li>
<li>
<input type="email" name="email" placeholder="Email" required="required"><br><br>
</li>
<li>
<input type="password" name="password" placeholder="Password" required="required">
</li>
<li>
<input type="radio" name="sex" value="male" required="required">Male
<input type="radio" name="sex" value="female" required="required">Female
</li>
<li>
...
Y esa es la validación local html5.
Prueba esto:
<form action="" method="post">
<ul id="register">
<li><input type="text" name="first_name" placeholder="First Name"></li>
<li><input type="text" name="last_name" placeholder="Last Name"></li>
<li><input type="email" name="email" placeholder="Email"><br><br></li>
<li><input type="password" name="password" placeholder="Password"></li>
<li>
<input type="radio" name="sex" value="male">Male
<input type="radio" name="sex" value="female">Female
</li>
<li>
Birthday:
<select name="month">
<option value="">Choose</option>
<option value="January">January</option>
<option value="February">February</option>
</select>
<select name="day">
<option value="">Choose</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<select name="year">
<option value="">Choose</option>
<option value="2012">2012</option>
<option value="2013">2013</option>
</select><br><br>
</li>
<li><input type="checkbox" name="terms_of_service" value="termsofservice">Terms of Service<br><br></li>
<li><input type="submit" name="registrationform" value="Sign up"></li>
</ul>
</form>
<?php
if (!empty($_POST)) {
$required_fields = array(''first_name'', ''last_name'', ''email'', ''password'', ''sex'', ''month'', ''day'', ''year'', ''terms_of_service'');
foreach ($required_fields as $value) {
if (empty($_POST["$value"])) {
$errors .= "$value is required<br>";
}
}
echo $errors;
}
?>
prueba esto..
if(isset($_POST[''registrationform''])){
$required_fields = array( /* all required fields including radio, select and
checkboxes as associative array with key as actual name and value as field name */);
foreach ( $required_fields as $key=>$value) {
if (!isset($_POST[$value]) || $_POST[$value]=='''') {
$errors[$value] = $key." is required";
}
}
print_r($errors);
}
Validación del lado del servidor y del lado del cliente:
La validación del lado del servidor se procesa en el servidor. Algunos datos no pueden validarse en el lado del cliente y deben validarse en el lado del servidor. Por ejemplo, fecha entre las dos fechas en la base de datos.
La validación del lado del cliente se procesa desde el lado del cliente antes de enviar el formulario. La ventaja de usar la validación del lado del cliente es que reduce el tráfico de la red ya que la validación se procesa en la propia máquina del cliente. Por ejemplo, correo electrónico isnumeric isdate, etc.
Si desea la validación del lado del servidor (en PHP), debe escribir condiciones como esta:
if($_SERVER[''REQUEST_METHOD''] == ''POST''){
$error_msg = array();
if(!isset($_POST[''your_radio_button_name''])){
$error_msg[] = "Enter the required fields";
}
if(!isset($_POST[''your_checkbox_button_name''])){
$error_msg[] = "Enter the required fields";
}
if(!isset($_POST[''your_select_box_name''])){
$error_msg[] = "Enter the required fields";
}
if(isset($error_msg) && count($error_msg) == 0){
// do some form processing
}
else{
// redirect to the form again.
}
}
Lea más sobre la validación de formularios en php:
http://phpmaster.com/form-validation-with-php/
Y si desea la validación del lado del cliente, entonces hay varias opciones disponibles para ello:
Verifique el siguiente artículo:
http://www.jeasyui.com/tutorial/form/form3.php
Espero que te ayude