Als isset $_POST

Ik heb een formulier op de ene pagina dat wordt verzonden naar een andere pagina. Daar wordt gecontroleerd of de invoer mailis gevuld. Zo ja, doe dan iets en als het niet gevuld is, doe dan iets anders. Ik begrijp niet waarom er altijd staat dat het is ingesteld, zelfs als ik een leeg formulier stuur. Wat ontbreekt er of is er fout?

step2.php:

<form name="new user" method="post" action="step2_check.php"> 
    <input type="text" name="mail"/> <br />
    <input type="password" name="password"/><br />
    <input type="submit"  value="continue"/>
</form>

step2_check.php:

if (isset($_POST["mail"])) {
    echo "Yes, mail is set";    
} else {    
    echo "N0, mail is not set";
}

Antwoord 1, autoriteit 100%

De meeste formulierinvoeren zijn altijd ingesteld, zelfs als ze niet zijn ingevuld, dus u moet ook controleren op leegte.

Aangezien !empty()al voor beide controleert, kunt u dit gebruiken:

if (!empty($_POST["mail"])) {
    echo "Yes, mail is set";    
} else {  
    echo "No, mail is not set";
}

Antwoord 2, autoriteit 11%

Gebruik !emptyin plaats van isset.
isset return true voor $_POSTomdat de $_POSTarray superglobaal is en altijd bestaat (set).

Of gebruik $_SERVER['REQUEST_METHOD'] == 'POST'


Antwoord 3, autoriteit 2%

Van php.net, isset

Retourneert TRUE als var bestaat en een andere waarde heeft dan NULL, FALSE
anders.

Lege ruimte wordt als set beschouwd. U moet leeg () gebruiken voor het controleren van alle nul-opties.


Antwoord 4

Als u het formulier leeg verzendt, $_POST['mail']wordt nog steeds verzonden, maar de waarde is leeg. Controleren of het veld leeg is, moet u

controleren

if(isset($_POST["mail"]) && trim($_POST["mail"]) != "") { .. }

Antwoord 5

U kunt eenvoudig gebruiken:

if($_POST['username'] and $_POST['password']){
  $username = $_POST['username'];
  $password = $_POST['password'];
}

Gebruik alternatief, leeg ()

if(!empty($_POST['username']) and !empty($_POST['password'])){
  $username = $_POST['username'];
  $password = $_POST['password'];
}

Antwoord 6

Voeg het volgende kenmerk toe aan het invoertekstformulier: required="required".
Als het formulier niet is ingevuld, staat de gebruiker niet toe om het formulier in te dienen.

Uw nieuwe code is:

<form name="new user" method="post" action="step2_check.php"> 
<input type="text" name="mail" required="required"/> <br />
<input type="password" name="password" required="required"/><br />
<input type="submit"  value="continue"/>
if (isset($_POST["mail"])) {
    echo "Yes, mail is set";    
}

Antwoord 7

Misschien kun je deze proberen:

if (isset($_POST['mail']) && ($_POST['mail'] !=0)) { echo "Yes, mail is set"; } else { echo "No, mail is not set"; }


Antwoord 8

<?php
    if(isset($_POST['mail']) && $_POST['mail']!='') {
        echo "Yes, mail is set";
    }else{
        echo "N0, mail is not set";
    }
?>

Antwoord 9

Laten we denken dat dit je HTML-formulier is in step2.php

step2.php

<form name="new user" method="post" action="step2_check.php"> 
    <input type="text" name="mail"/> <br />
    <input type="password" name="password"/><br />
    <input type="submit"  value="continue"/>
</form>

Ik denk dat je het nodig hebt voor je database, dus je kunt je HTML-formulierwaarde toewijzen aan php-variabele, nu kun je Real Escape String gebruiken en hieronder moet je

step2_check.php

if(isset($_POST['mail']) && !empty($_POST['mail']))
{
$mail = mysqli_real_escape_string($db, $_POST['mail']);
}

Waar $db uw databaseverbinding is.


Antwoord 10

Controleer eerst of het FORMULIER is ingediend en daarna het veld. U moet ook het veld ontsmetten om hackers te voorkomen.

form name="new user" method="post" action="step2_check.php"> 
    <input type="text" name="mail"/> <br />
    <input type="password" name="password"/><br />
    <input type="submit"  id="SubmitForm" name= "SubmitForm" value="continue"/>
</form>

Step2_Check:


if (isset($_POST["SubmitForm"]))
   {
   $Email =  sanitize_text_field(stripslashes($_POST["SubmitForm"]));
   if(!empty($Email))
     echo "Yes, mail is set"; 
   else
     echo "N0, mail is not set";
   } 
}

Antwoord 11

Om de geposte vraag te beantwoorden: Isset en Lege samen geeft drie voorwaarden. Dit kan ook door Javascript worden gebruikt met een AJAX-opdracht.

$errMess="Didn't test";   // This message should not show
if(isset($_POST["foo"])){ // does it exist or not
    $foo = $_POST["foo"]; // save $foo from POST made by HTTP request
    if(empty($foo)){      // exist but it's null
        $errMess="Empty"; // #1 Nothing in $foo it's emtpy
    } else {              // exist and has data
        $errMess="None";  // #2 Something in $foo use it now
      }
} else {                  // couldn't find ?foo=dataHere
     $errMess="Missing";  // #3 There's no foo in request data
  }
echo "Was there a problem: ".$errMess."!";

Antwoord 12

U kunt dit proberen:

if (isset($_POST["mail"]) !== false) {
    echo "Yes, mail is set";    
}else{  
    echo "N0, mail is not set";
}

Antwoord 13

<form name="new user" method="post" action="step2_check.php"> 
  <input type="text" name="mail" required="required"/> <br />
  <input type="password" name="password" required="required"/><br />
  <input type="submit"  value="continue"/>
</form>
<?php
if (!empty($_POST["mail"])) {
    echo "Yes, mail is set";    
}else{  
    echo "N0, mail is not set";
}
?>

Antwoord 14

U kunt het proberen,

<?php
     if (isset($_POST["mail"])) {
            echo "Yes, mail is set";    
        }else{  
            echo "N0, mail is not set";
        }
  ?>

Antwoord 15

$ – postmethode:
Als we postmethode gebruiken in het formulier-tag om gegevens door te geven, kunnen we gegevens vinden in de server met behulp van $ _post array. Deze arraynaam die we gegevens van de server halen. ($ _ post [‘naam’]) Informatie verzonden vanuit een formulier De postmethode is onzichtbaar voor anderen (alle namen / waarden zijn ingebed in het lichaam van het HTTP-verzoek) en heeft geen limieten n de hoeveelheid informatie die moet worden verzonden.
Voorbeeldcode:

<html>
<head>
</head>
<body>
<?php
if(isset($_POST['submit']))
{if(isset($_POST['name']) && isset($_POST['roll']))
{echo"<h1>form submitted</h1>";echo"your name is". $_POST['name']."<br>";
echo "your roll number is". $_POST['roll']."<br>";}}
else{?>
<form action="" method="POST">
Name:<input type="text" name="name"><br><br>
Roll:<input type="text" name="roll"><br>
<br><input type="submit" value="submit" name="submit">
</form>
<?php}?>
</body>
</html>

Other episodes