Si vous rencontrez un problème de validation de formulaire, merci d'indiquer le problème (validation PHP)
P粉268284930
P粉268284930 2023-09-09 19:34:57
0
1
541

Je veux savoir ce qui ne va pas avec le formulaire dans mon code.

<?php

if(isset($_POST['submit'])) {
  $arrayName = array("TeacherA", "TeacherB", "TeacherC" , "TeacherD", "TeacherE");

  $minimum = 5;
  $maximum = 10;

  $name = $_POST['yourName'];
  $email = $_POST['yourEmail'];

  if(strlen($name) < $minimum) {
    echo "Your name should be longer than 5 characters";
  } 
  
  if(strlen($name) > $maximum) {
    echo "Your name should not be longer than 10 characters";
  } 
  
  if(!in_array($name,$arrayName)){
    echo "Please do register with us before you can login";
  } else {
    echo "Welcome!";
  }
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Blank</title>
</head>
<body>
  <form action="form.php" method="post">
    <label>Your Name:    </label>
    <input type="text" name="yourName"> <br>

    <label for="">Your E mail:</label>
    <input type="email" name="yourEmail" id=""><br>
    
    <!-- <textarea name="yourMessage" id="" cols="30" rows="10"></textarea><br> -->
    <input type="submit" name="submit" value="submit">
  </form>
</body>
</html>

J'ai exécuté le code localement mais je n'ai pas pu obtenir les résultats souhaités.

Le résultat que je souhaite est que si je ne saisis pas de nom dans le champ "Votre nom", le résultat devrait s'afficher :

Veuillez vous inscrire avant de vous connecter

P粉268284930
P粉268284930

répondre à tous(1)
P粉232793765

如果« Votre nom »字段为空,则其strlen($name)应为0,第一个if语句为真,并显示Your name should be longer than 5 characters 你可以尝试这个 :

<?php   
if (isset($_POST['submit'])) {
    $arrayName = array("TeacherA", "TeacherB", "TeacherC", "TeacherD", "TeacherE");
    $minimum = 5;
    $maximum = 10;
    $name = $_POST['yourName'];
    $email = $_POST['yourEmail'];
    if (empty($name)) {
        echo "Please do register with us before you can login";
    } else {
        if (strlen($name) < $minimum) {
            echo "Your name should be longer than 5 characters";
        } else {
            if (strlen($name) > $maximum) {
                echo "Your name should be less than 10 characters";
            } else {
                if (in_array($name, $arrayName)) {
                    echo "Welcome!";
                } else {
                    echo "Your login is not correct";
                }
            }
        }
    }
}
?>

j'ai utilisé empty() pour tester si le champ est vide et j'ai utilisé des instructions if-else parce que je veux que le script s'arrête s'il trouve une "vraie" condition dans votre script, vous pouvez utiliser return; mais cela quittera le reste de votre script

avoir un joli code :)

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal