Pop-upvenster in PHP? [gesloten]

hier is een korte vraag:

Hoe laat je een venster verschijnen voor je foutafhandeling in php?
Is javascript de enige manier om dit te doen of is er een manier om dit in PHP te doen?

ik heb een PHP-bestand, en een van de regels code is de volgende:

 echo implode('<br />', $errors);

Deze regel code vangt alle fouten op die uit mijn formulier komen, als volgt:

 if (strlen($_POST['name'])<3) $errors[] = 'De naam van uw bedrijf moet minstens 3 letters bevatten';
  if (strlen($_POST['number'])<9) $errors[] = 'Uw nummer moet minstens 9 nummers bevatten';
  if (!preg_match($regexp_mail, $_POST['email'])) $errors[] = 'Onjuist E-mailadres';

wanneer iemand op verzenden drukt op mijn formulier, zullen de fouten zich op een aparte pagina tonen, ik wil dit in een pop-upvenster.
Bij voorbaat dank


Antwoord 1, autoriteit 100%

Voor een pop-up is javascript vereist. Zet dit in je kop:

<script>
function myFunction()
{
alert("I am an alert box!"); // this is the message in ""
}
</script>

En dit in je lichaam:

<input type="button" onclick="myFunction()" value="Show alert box">

Als de knop wordt ingedrukt, verschijnt er een vak met het bericht in de koptekst.

Dit kan in elk html- of php-bestand worden geplaatst zonder de php-tags.

—–BEWERKEN—–

Probeer dit als volgt om het weer te geven met php:

<?php echo '<script>myfunction()</script>'; ?>

Het is misschien niet 100% correct, maar het principe is hetzelfde.

Om verschillende berichten weer te geven, kun je veel functies maken of je kunt een variabele doorgeven aan de functie wanneer je deze aanroept.


Antwoord 2, autoriteit 100%

Je moet JS gebruiken om de pop-up te openen, hoewel je het voorwaardelijk op de pagina kunt plaatsen met PHP, je hebt gelijk dat je een JavaScript-functie moet gebruiken.


Antwoord 3, autoriteit 20%

PHP draait op de server, dus u moet een client-side technologie gebruiken die pop-upvensters kan tonen: JavaScript.

Dus je moet een specifiek JS-blok uitvoeren via PHP als je formulier fouten bevat en je die pop-up wilt tonen.


Antwoord 4, autoriteit 20%

if (isset($_POST['Register']))
    {
        $ErrorArrays = array (); //Empty array for input errors 
        $Input_Username = $_POST['Username'];
        $Input_Password = $_POST['Password'];
        $Input_Confirm = $_POST['ConfirmPass'];
        $Input_Email = $_POST['Email'];
        if (empty($Input_Username))
        {
            $ErrorArrays[] = "Username Is Empty";
        }
        if (empty($Input_Password))
        {
            $ErrorArrays[] = "Password Is Empty";
        }
        if ($Input_Password !== $Input_Confirm)
        {
            $ErrorArrays[] = "Passwords Do Not Match!";
        }
        if (!filter_var($Input_Email, FILTER_VALIDATE_EMAIL))
        {
            $ErrorArrays[] = "Incorrect Email Formatting";
        }
        if (count($ErrorArrays) == 0)
        {
            // No Errors
        }
        else
        {
            foreach ($ErrorArrays AS $Errors)
            {
                echo "<font color='red'><b>".$Errors."</font></b><br>";
            }
        }
    }
?>
    <form method="POST"> 
        Username: <input type='text' name='Username'> <br>
        Password: <input type='password' name='Password'><br>
        Confirm Password: <input type='password' name='ConfirmPass'><br>
        Email: <input type='text' name='Email'> <br><br>
        <input type='submit' name='Register' value='Register'>
    </form> 

Dit is een zeer eenvoudige PHP-formuliervalidatie. Dit kan in een try-blok worden geplaatst, maar voor basisreferentie zie ik dit passen na ons gesprek in het opmerkingenveld.

Wat dit script zal doen, is elk van de post-elementen verwerken en dienovereenkomstig handelen, bijvoorbeeld:

    if (!filter_var($Input_Email, FILTER_VALIDATE_EMAIL))
        {
            $ErrorArrays[] = "Incorrect Email Formatting";
        }

Dit controleert:

als $Input_Email geen geldig e-mailadres is. Als dit geen geldige e-mail is, wordt een bericht toegevoegd aan een lege array.

Verder in het script ziet u:

    if (count($ErrorArrays) == 0)
    {
        // No Errors
    }
    else
    {
        foreach ($ErrorArrays AS $Errors)
        {
            echo "<font color='red'><b>".$Errors."</font></b><br>";
        }
    }

In principe. als het aantal arrays niet 0 is, zijn er fouten gevonden. Dan zal het script de fouten afdrukken.

Onthoud dat dit een referentie is op basis van ons gesprek in het opmerkingenveld en als zodanig moet worden gebruikt.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

13 + seven =

Other episodes