PHP не работает должным образом с html, js / jquery и ajax - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть простая форма регистрации в html, которая предназначена для «пошаговой» формы.Для этого я использую javascript с ajax для вызова php, который должен отправить электронное письмо со значениями, введенными во входные данные.Но вчера он отправляет электронную почту без этих значений и обновление каталога не работает.Сегодня произошло то, что те же самые коды больше не работают (и ничего не изменилось).Ajax возвращает только сообщение об ошибке, которое помещается в предупреждение.

Вот коды:

HTML-форма:

<form id="regForm" action="doneregister.php" method="post" enctype="multipart/form-data">
            <div class="tab">
                <h1 class="reg">Kapitán tímu</h1><br>
                <p><input type="text" name="meno" placeholder="Meno a priezvisko" oninput="this.className = ''"></p>
                <p><input type="text" name="nick" placeholder="Nick v hre" oninput="this.className = ''"></p>
                <p><input type="email" name="email" placeholder="Email" oninput="this.className = ''"></p>
                <p><input type="text" name="steamID" placeholder="Steam ID" oninput="this.className = ''"></p>
            </div>
            <div class="tab">
                <h1 class="reg">Hráč 2</h1><br>
                <p><input type="text" name="meno2" placeholder="Meno a priezvisko" oninput="this.className = ''"></p>
                <p><input type="text" name="nick2" placeholder="Nick v hre" oninput="this.className = ''"></p>
                <p><input type="text" name="steamID2" placeholder="Steam ID" oninput="this.className = ''"></p>
            </div>
            <div class="tab">
                <h1 class="reg">Hráč 3</h1><br>
                <p><input type="text" name="meno3" placeholder="Meno a priezvisko" oninput="this.className = ''"></p>
                <p><input type="text" name="nick3" placeholder="Nick v hre" oninput="this.className = ''"></p>
                <p><input type="text" name="steamID3" placeholder="Steam ID" oninput="this.className = ''"></p>
            </div>
            <div class="tab">
                <h1 class="reg">Hráč 4</h1><br>
                <p><input type="text" name="meno4" placeholder="Meno a priezvisko" oninput="this.className = ''"></p>
                <p><input type="text" name="nick4" placeholder="Nick v hre" oninput="this.className = ''"></p>
                <p><input type="text" name="steamID4" placeholder="Steam ID" oninput="this.className = ''"></p>
            </div>
            <div class="tab">
                <h1 class="reg">Hráč 5</h1><br>
                <p><input type="text" name="meno5" placeholder="Meno a priezvisko" oninput="this.className = ''"></p>
                <p><input type="text" name="nick5" placeholder="Nick v hre" oninput="this.className = ''"></p>
                <p><input type="text" name="steamID5" placeholder="Steam ID" oninput="this.className = ''"></p>
            </div>
            <div class="tab">
                <h1 class="reg">Tím</h1><br>
                <p><input type="text" name="nazov" placeholder="Názov tímu" oninput="this.className = ''"></p>
                <p><input type="text" name="skratka" placeholder="Skratka tímu" oninput="this.className = ''"></p>
                <input type="file" name="file" required>
                <p>S odoslaním registrácie súhlasíte s <a href="9wk4l81Gmo2PYYVvGa1c.php" target="_blank">Pravidlami a podmienkami</a></p>
            </div>
            <div style="text-align:center;margin-top:40px;">
                <div style="float:right;">
                    <button type="button" id="firstBtn" onclick="redirect();">Späť na WindCup</button>
                    <button type="button" id="prevBtn" onclick="nextPrev(-1)">Späť</button>
                    <button type="button" id="nextBtn" onclick="nextPrev(1)">Ďalej</button>
                </div>
            </div>
            <div style="text-align:left;margin-top:50px;">
                <span class="step"></span>
                <span class="step"></span>
                <span class="step"></span>
                <span class="step"></span>
                <span class="step"></span>
                <span class="step"></span>
            </div>
        </form>

JS / jQuery и Ajax для вызова php:

function nextPrev(n) {
                var x = document.getElementsByClassName("tab");
                if (n == 1 && !validateForm()) return false;
                x[currentTab].style.display = "none";
                currentTab = currentTab + n;
                if (currentTab >= x.length) {
                    jQuery.ajax({
                        type: "POST",
                        url: "doneregister.php",
                        data: jQuery("#regForm").serialize(),
                        success: function(response) {
                            if (response) {
                                jQuery(location).attr('href', "www.windcup.sk/?register=1");
                            } else {
                                alert("Error");
                            }
                        }
                    });
                    return false;
                }
                showTab(currentTab);
            }

И php код:

if(isset($_POST)) {
    //kapitan
    $meno = $_POST["meno"];
    $nick = $_POST["nick"];
    $email = $_POST["email"];
    $steamID =  $_POST["steamID"];

    //hrac 2
    $meno2 = $_POST["meno2"];
    $nick2 = $_POST["nick2"];
    $steamID2 =  $_POST["steamID2"];

    //hrac 3
    $meno3 = $_POST["meno3"];
    $nick3 = $_POST["nick3"];
    $steamID3 =  $_POST["steamID3"];

    //hrac 4
    $meno4 = $_POST["meno4"];
    $nick4 = $_POST["nick4"];
    $steamID4 =  $_POST["steamID4"];

    //hrac 5
    $meno5 = $_POST["meno5"];
    $nick5 = $_POST["nick5"];
    $steamID5 =  $_POST["steamID5"];

    //Tim
    $nazov = $_POST["nazov"];
    $skratka = $_POST["skratka"];

    //poslanie emailu
    $destination = 'info@windcup.sk';
    $predmet = 'Registrácia tímu';
    $obrazok = basename($_FILES["file"]["name"]);
    $sprava = "Kapitán tímu: $meno Nick: $nick Email: $email SteamID: $steamID\n Hráč2: $meno2 Nick: $nick2 SteamID: $steamID2\n Hráč3: $meno3 Nick: $nick3 SteamID: $steamID3\n Hráč4: $meno4 Nick: $nick4 SteamID: $steamID4\n Hráč5: $meno5 Nick: $nick5 SteamID: $steamID5\n Tím: $nazov Skratka: $skratka Názov obrázku: $obrazok";
    $mail = mail($destination, $predmet, $sprava);

    //obrazok
    $target_dir = "style/img/teams/";
    $target_file = $target_dir . basename($_FILES["file"]["name"]);
    $upload_ok = 1;
    $imageType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
    $check = getimagesize($_FILES["file"]["tmp_name"]);

    if($check !== false) {
        //je to obrazok
        $upload_ok = 1;
    } else {
        //nie je to obrazok
        $upload_ok = 0;
    }

    if($_FILES["file"]["size"] > 500000) {
        $upload_ok = 0;
    }

    if($imageType != "jpg" && $imageType != "jpeg" && $imageType != "png" && $imageType != "gif") {
        $upload_ok = 0;
    }

    if($upload_ok == 0) {
        echo "Error";
    } else {
        if(move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
            //nic
        } else {
            echo "Error";
        }
    }
}

Спасибо за помощь!

1 Ответ

0 голосов
/ 25 сентября 2018

Сначала вам нужно определить currentTab: var currentTab = 0;// может сделать трюк

Во-вторых, вы не перечислили весь JS, так как я не вижу функции showTab () или инициализации nextPrev ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...