首页 > 解决方案 > PHP实时更改变量

问题描述

我有问题。我有一个写入 name, surname, birth, church, phone, mail 数据库的代码。但是,当用户未满 18 岁时,我需要使用 phonep, mailp 变量与我的父母取得联系。

这是JS中的计数器:

    if (birth_date2 <= new Date()) {
            if (birth_date <= new Date()) {
            $(document).ready(function(){
                $("#par").slideUp();
            });
            <?php $more = 0;?>;
        } else {
            $(document).ready(function(){
                $("#par").slideDown();
            });
            <?php $more = 1;?>;
        }
    } else {
        alert("Minimum age is 12!");
        document.getElementById("birth").value = "";
    }

此代码确定用户是否为成人:

<?php $more = 0;?>;

然后我有我尝试使用变量的方向修改的 PHP 代码:

   if($more === 1) {
       if(!($_POST["mailp"])) {
           $err++;
           $echo_er .= "Není vyplněno pole s Emailem rodičů! ";
       } else {
           $mailp = htmlspecialchars($_POST["mailp"]);
       }
       if(!($_POST["phonep"])) {
           $err++;
           $echo_er .= "Není vyplněno pole s telefonním číslem rodičů! ";
       } else {
           $phonep = htmlspecialchars($_POST["phonep"]);
       }
   }
   $sql = "SELECT * FROM registrace";
   $conn->query($sql);
   if($more === 1) {
       if($err === 0) {
           $sql = "INSERT INTO registrace (name, surname, birth, church, phone, mail, phonep, mailp)
           VALUES ('$name', '$surname', '$birth', '$church', '$phone', '$mail', '$phone', '$mailp')";
           $conn->query($sql);
           echo "<p class='pyes'> Registration comlete! </p>";
       } else {
           echo "<p class='pno'>" . $echo_er . "</p>";
       }
   } else {
       if($err === 0) {
           $sql = "INSERT INTO registrace (name, surname, birth, church, phone, mail, phonep, mailp)
           VALUES ('$name', '$surname', '$birth', '$church', '$phone', '$mail', '', '')";
           $conn->query($sql);
           echo "<p class='pyes'> Registration comlete! </p>";
       } else {
           echo "<p class='pno'>" . $echo_er . "</p>";
       }
   }

对于其他变量(姓名、电话等),我上面有代码 - 不需要把它放在这里。我的目标是让 PHP 在第一种情况下发送所有数据并检查所有数据。在第二个示例中,我想发送并检查除 mailp 和 phonep 之外的所有内容。我尝试使用print变量$more,所以它的值仍然是 1 并且不会改变。也许是因为 JS 的函数来自这里: <input type="date" name="birth" id="birth" onchange="adult()">

在这两种情况下,它都会发送并检查所有数据(包括 mailp 和 phonep)。

请问有谁知道如何解决这个问题?

标签: javascriptphpsqlvariablesregistration

解决方案


推荐阅读