• Как сделать post запрос с двух разных форм в две разные таблицы react php sql?

    @ManaNedau Автор вопроса
    Дмитрий, Привет) По образу и подобию сделал, хотя правильнее будет сказать "вымучал", такое вот апи.

    include 'DbConnect.php';
        $objDb = new DbConnect;
        $conn = $objDb->connect();
    
        $user = file_get_contents('php://input');
        $method = $_SERVER['REQUEST_METHOD'];
        switch($method) {
            case "GET":
                $sql = "SELECT * FROM diplom";
                $stmt = $conn->prepare($sql);
                $stmt->execute();
                $diplom = $stmt->fetchAll(PDO::FETCH_ASSOC);
                echo json_encode($diplom);
                break;
            case "POST":
                if (isset($_POST['type'] == 'submit')) {
                    $user = json_decode(file_get_contents('php://input'));
                    $sql = "INSERT INTO diplom(id, SecondName, Name, Surname, Email, Phone, Birthday, About) VALUES(null, :SecondName, :Name, :Surname, :Email, :Phone, :Birthday, :About)";
                    $stmt = $conn->prepare($sql);
                    $stmt->bindParam(':SecondName', $user->SecondName);
                    $stmt->bindParam(':Name', $user->Name);
                    $stmt->bindParam(':Surname', $user->Surname);
                    $stmt->bindParam(':Email', $user->Email);
                    $stmt->bindParam(':Phone', $user->Phone);
                    $stmt->bindParam(':Birthday', $user->Birthday);
                    $stmt->bindParam(':About', $user->About);
                    break;
                } elseif (isset($_POST['type']) && $_POST['type'] == 2) {
                    $user = json_decode(file_get_contents('php://input'));
                    $sql = "INSERT INTO users(id, l_email, password) VALUES(null, :sign_email, :sign_pass)";
                    $stmt = $conn->prepare($sql);
                    $stmt->bindParam(':l_email', $user->sign_email);
                    $stmt->bindParam(':password', $user->sign_pass);
                    break;
                } 
                else {
                    if($stmt->execute()) {
                        $response = ['status' => 1, "message" => "record created successfully"];
                    } else {
                        $response = ['status' => 0, "message" => "failed to create record"];
                    } 
                    break;
                }
                break;
        }


    Так же пробовал заменить условие в if на:
    (isset($_POST['type'] == 'submit'))

    как результат ошибка axios 500. Я посмотрел решения и выяснил, что проблема именно в бекэнде, так как все ошибки, связанные именно с модулем axios я перепроверил.

    запись в консоли при ошибке:
    6448bd53e2fba619975675.png

    запись в консоли, если не делаю подключение к php:
    6448bd743c189857173823.png

    Заранее благодарю за помощь!
  • Как сделать post запрос с двух разных форм в две разные таблицы react php sql?

    @ManaNedau Автор вопроса
    Дмитрий, так это имя класса одинаковое, а просто имена разные. submit и submit1 соответственно
  • Как сделать post запрос с двух разных форм в две разные таблицы react php sql?

    @ManaNedau Автор вопроса
    Дмитрий, сделал так:

    case "POST":
                if (isset($_POST['type'] == 'submit')) {
                    $user = json_decode( file_get_contents('php://input') );
                    $sql = "INSERT INTO diplom(id, SecondName, Name, Surname, Email, Phone, Birthday, About) VALUES(null, :SecondName, :Name, :Surname, :Email, :Phone, :Birthday, :About)";
                    $stmt = $conn->prepare($sql);
                    $stmt->bindParam(':SecondName', $user->SecondName);
                    $stmt->bindParam(':Name', $user->Name);
                    $stmt->bindParam(':Surname', $user->Surname);
                    $stmt->bindParam(':Email', $user->Email);
                    $stmt->bindParam(':Phone', $user->Phone);
                    $stmt->bindParam(':Birthday', $user->Birthday);
                    $stmt->bindParam(':About', $user->About);
                } else if (isset($_POST['type'] == 'submit1')) {
                    $user = json_decode( file_get_contents('php://input') );
                    $sql = "INSERT INTO users(id, email, password) VALUES(null, :sign_email, :sign_pass)";
                    $stmt = $conn->prepare($sql);
                    $stmt->bindParam(':email', $user->sign_email);
                    $stmt->bindParam(':password', $user->sign_pass);
                } else {
                    if($stmt->execute()) {
                        $response = ['status' => 1, "message" => "record created successfully"];
                    } else {
                        $response = ['status' => 0, "message" => "failed to create record"];
                    } 
                    break;
                }
                break;


    кнопки в реакт изменил вот таким образом:

    первая
    <Button className="Checkedbtn cb1" type='submit' value="submit" name='submit' disabled={!agreement}>Отправить заявку</Button>


    и вторая
    <Button className="Checkedbtn" type='submit1' name="submit1" value='submit1'>Отправить заявку</Button>


    как результат при заполнении обеих форм выдаётся ошибка 500 от axios. Посмотрел решения в интернете, в основном это пара строчек в реакте, либо говорят, что проблема в бэкенде
  • Как сделать post запрос с двух разных форм в две разные таблицы react php sql?

    @ManaNedau Автор вопроса
    Дмитрий,

    <Button className="Checkedbtn" type='submit'>Отправить заявку</Button>


    ты имеешь в виду, что в php должно быть:

    if (isset($_POST['type'] == "submit") {
            // тут первый запрос
        }


    Всё верно?
  • Как сделать post запрос с двух разных форм в две разные таблицы react php sql?

    @ManaNedau Автор вопроса
    Дмитрий, Понял, спасибо. Мне нужно сделать два запроса НЕ одновременно. Можете, пожалуйста кодом показать пример проверки источника запроса
  • Как сделать post запрос с двух разных форм в две разные таблицы react php sql?

    @ManaNedau Автор вопроса
    Да, если после break написать код, который выше в комментариях записан, будет такая же ошибка
  • Как сделать post запрос с двух разных форм в две разные таблицы react php sql?

    @ManaNedau Автор вопроса
    Это не коммерческий проект, а простой дипломный. Возможно позже сделаю хеширование паролей и т.д., но пока что мне нужно отправить в разные таблицы данные из разных форм. Пожалуйста, можете показать примером, если не сложно. Я не очень разбираюсь в php, а времени осталось совсем немного