Added PHP to JavaScript but isn't working

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Onaylı Üye
Katılım
16 Ocak 2021
Mesajlar
50
Tepki puanı
2
Ödüller
1
Yaş
25
5 HİZMET YILI
I had a validation form made in javascript and then I added PHP to do the same thing and now nothing works.
PHP:
<?php



$forename = $surname = $username = $password = $age = $email = "";



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

    $forename = fix_string($_POST['forename']);

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

    $surname = fix_string($_POST['surname']);

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

    $username = fix_string($_POST['username']);

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

    $password = fix_string($_POST['password']);

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

    $age = fix_string($_POST['age']);

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

    $email = fix_string($_POST['email']);

  

$fail  = validate_forename($forename);

$fail .= validate_surname($surname);

$fail .= validate_username($username);

$fail .= validate_password($password);

$fail .= validate_age($age);

$fail .= validate_email($email);



echo "<!DOCTYPE html>\n<html><head><title>An example form</title>";



if ($fail =="")

{

    echo "</head><body> Form data succesfully validated:

        $forename , $surname, $username, $password, $age, $email.</body></html>";

      

    exit;

}



echo <<<_END



        <style>

            .signup {

                border: 1px solid #999999;

                font: normal 14px helvetica;

                color: #444444;

            }

        </style>

        <script>

            function validate(form)

            {

                fail = validateForename(form.forename.value)

                fail += validateSurname(form.surname.value)

                fail += validateUsername(form.username.value)

                fail += validatePassword(form.password.value)

                fail += validateAge(form.age.value)

                fail += validateEmail(form.email.value)

              

                if (fail =="") return true

                else { alert(fail); return false}

            }

        </script>   

    <head>

    <body>

        <table border = "0" cellpadding="2" cellspacing="5" bgcolor="#eeeeee">

            <th colspan="2" align="center"> Sign up form</th>

            <form method="post" action+"adduser.php" onsubmit="return validate(this)">

                <tr><td>Forename</td>

                    <td><input type="text" maxlength="32" name="forename" value="$forename"></td></tr>

                <tr><td>Surname</td>

                    <td><input type="text" maxlength="32" name="surname" value="$surname"></td></tr>

                <tr><td>Username</td>

                    <td><input type="text" maxlength="32" name="username" value="$username"></td></tr>

                <tr><td>Password</td>

                    <td><input type="text" maxlength="32" name="password" value="$password"></td></tr>

                <tr><td>Age</td>

                    <td><input type="text" maxlength="32" name="age" value="$age"></td></tr>

                <tr><td>Email</td>

                    <td><input type="text" maxlength="32" name="email" value="$email"></td></tr>

                <tr><td colspan="2" align="center"><input type="submit" value="Signup"></td></tr>

            </form>

        </table>   

    </body>

</html>



_END;





function validate_forename($field)

{

    return($field == "") ? "No forename was entered<br>": "";

}



function validate_surname($field)

{

    return($field == "") ? "No surname was entered<br>" : "";

}



function validate_username($field)

{

    if ($field == "") return "No Username was entered<br>";

    else if (strlen($field) < 5)

        return "Usernames must be at least 5 characters<br>";

    else if (preg_match("/[^a-zA-Z0-9_-]/", $field))

        return "Only letters, numbers, - and _ in usernames<br>";

    return "";

}



function validate_password($field)

{

    if ($field == "") return "No Password was entered<br>";

    else if (strlen($field) < 6)

        return "Passwords must be at least 6 characters<br>";

    else if (!preg_match("/[a-z]/", $field) || !preg_match("/[A-Z]/", $field) || !preg_match("/[0-9]/", $field))

        return "Passwords require 1 each of a-z, A-Z and 0-9<br>";

    return "";

}



function validate_age($field)

{

    if ($field == "") return "No Age was entered<br>";

    else if ($field < 18 || $field > 110)

        return "Age must be between 18 and 110<br>";

    return "";

}



function validate_email($field)

{

    if ($field == "") return "No Email was entered<br>";

        else if (!((strpos($field, ".") > 0) && (strpos($field, "@") > 0)) || preg_match("/[^a-zA-Z0-9.@_-]/", $field))

        return "The Email address is invalid<br>";

    return    "";

}



function fix_string($string)

{

    if (get_magic_quotes_gpc()) $string = stripslashes($string);

    return htmlentities ($string);

}

?>



I know the javascript worked because I tested it, but now when I push the signup button nothing happens. It's as if the function are not getting called, but from my point of view it's supposed to work.
I don't understand. the variables are empty, the code checks the posts, assign it to the variables and calls the functions. I can't see the bug and I checked the code online.

Thank you
 
Son düzenleme:
Süper Üye
Katılım
7 Ocak 2021
Mesajlar
659
Çözümler
21
Tepki puanı
72
Ödüller
3
5 HİZMET YILI
I can find anything wrong with the code. Try checking it through any of the available software, try running it on one of the online platforms(that run php scripts).

could it be that your browser is blocking the embedded javascript
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst