Как я могу обновить данные в таблице MySQL через PHP - PullRequest
0 голосов
/ 13 июля 2020

Кажется, я не могу вызвать условие if(isset($_POST['schedule'])) при нажатии кнопки ввода формы. Как я могу обновить переменную $schedule_one с помощью следующего кода?

    if(isset($_POST['login'])){
    $password=$_POST['password'];
    $email=$_POST['email'];
    $ret= mysqli_query($con,"SELECT * FROM maid_marketplace_users WHERE email='$email' and password='$password'");
    $num=mysqli_fetch_array($ret);
    $nomee = $num['full_name'];
    $schedOne = $num['schedule_one'];
    echo "<p align=center>You are entitled to <b>%10 off</b> for the next <b>12 months.</b></p> ";
?>       
     <div class="uk-child-width-expand@s uk-text-center" uk-grid>
           <center> <div class="uk-card uk-card-default uk-card-body">Welcome <b>
            <?php
            echo "<br>";
            if (is_null($schedule_one)){
                echo "You don't have any maid services scheduled";
                if(isset($_POST['schedule']))
                {
                    $id = $_SESSION['id'];
                    $schedule_one = $_POST['schedule_one'];
                    $sql=mysqli_query($con,"UPDATE maid_marketplace_users Set schedule_one='$schedule_one' WHERE id='$id'");
                    echo "<script>alert('$id Succes! your next schedule is on $schedule_one');</script>";

                    
                }
            }
            else
            {
                $schedule_one =  $_POST['schedule_one'];
                echo "Your next schedule is at $schedule_one";
            }
            ?>
            <!--Click here to <a href="logout.php" tite="Logout">Logout. -->
                <form name="schedule" action="" method="post">
                    <div class="uk-width-1-1@s">
                        <div class="uk-inline">
                            <input class="uk-input" name="schedule_one" type="datetime-local">
                        </div>
                    </div>
                    <div class="uk-width-1-1@s">
                        <input type="submit" name="schedule" value="Schedule" >
                    </div>
                </form>                
            </div></center>
     </div>
    <?php
        die();
        }

ПРИМЕЧАНИЕ. Я знаю, что вы не должны добавлять пароль непосредственно в базу данных Mysql, я зашифрую его, как только это будет сделано.

Ответы [ 2 ]

1 голос
/ 14 июля 2020

Вы не можете иметь if(isset($_POST['schedule'])) внутри другого условного оператора if(isset($_POST['login'])). Вы должны вывести его из первого условия следующим образом;

if(isset($_POST['login']))
{
 ....
}

и добавить другой условный оператор if

if(isset($_POST['schedule']))

{
 ....
}

Один должен завершить sh перед запуском другой оператор if.

0 голосов
/ 13 июля 2020

Хорошо, что вы знаете, что создаете уязвимости в системе безопасности.

Единственное, что вам нужно сделать, это не сделать ваше обновление SQL логически недоступным.

В этом:

                echo "You don't have any maid services scheduled";
                die();
                if(isset($_POST['schedule']))
                {
                    $id = $_SESSION['id'];
                    $schedule_one = $_POST['schedule_one'];
                    $sql=mysqli_query($con,"UPDATE maid_marketplace_users Set schedule_one='$schedule_one' WHERE id='$id'");
                    echo "<script>alert('$id Succes! your next schedule is on $schedule_one');</script>";

                    
                }

die() всегда прерывает ваш код, прежде чем он достигнет обновления SQL.

...