0

我有以下 php 代码:

<?php
if (isset($_POST['submitLogin'])) {
    $password = $_POST['password'] ;
    $username = $_POST['username'];
    if (invalidChars($username, $password) > 0){
        echo '<script type="text/javascript">'
                , 'alert(fejl);'
                        , '</script>';

    }
}


function invalidChars($user, $password){
    $invalidPattern = "/[^A-Za-z0-9]/";

    return preg_match($invalidPattern, $user) + preg_match($invalidPattern, $password);
}
?>

但是,当函数 invalidChars > 0 时,不会显示警报。

谁能告诉我我做错了什么?我对 Web 开发比较陌生

4

3 回答 3

2

您传入警报的对象fejl不存在。这应该会导致 javascript 错误。我认为您想传入作为"fejl"警报将呈现的字符串的对象。

于 2013-05-07T02:05:50.113 回答
2

在双引号中传递字符串 fejl

if (invalidChars($username, $password) > 0){
        echo '<script type="text/javascript">' , 'alert("fejl");' , '</script>';
}
于 2013-05-07T02:07:42.757 回答
0

在要警告的字符串周围加上双引号: alert("fejl"),否则它只是一个语法错误。在浏览器中按 F12 并打开错误控制台以轻松发现此类问题。

于 2013-05-07T02:06:33.150 回答