0

JQueryがsanitize関数を起動しません。入力フィールド名から値を取得し、(santize関数を使用して)サニタイズして、パス入力フィールドに表示する必要があります。なぜ機能しないのですか?PHP5.3とHEIDISQLを使用しています

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <?php 

    include('conect.php');
    if(($_POST)&&(!empty($_POST['name']))&&(!empty($_POST['path'])) ){
    $name=$_POST['name'];
    $path=$_POST['path'];

    function sanitize($title) {
        $title = strip_tags($title);
        // Preserve escaped octets.
        $title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $title);
        // Remove percent signs that are not part of an octet.
        $title = str_replace('%', '', $title);
        // Restore octets.
        $title = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|', '%$1', $title);

        if (seems_utf8($title)) {
            if (function_exists('mb_strtolower')) {
                $title = mb_strtolower($title, 'UTF-8');
            }
            $title = utf8_uri_encode($title, 200);
        }

        $title = strtolower($title);
        $title = preg_replace('/&.+?;/', '', $title); // kill entities
        $title = str_replace('.', '-', $title);
        $title = preg_replace('/[^%a-z0-9 _-]/', '', $title);
        $title = preg_replace('/\s+/', '-', $title);
        $title = preg_replace('|-+|', '-', $title);
        $title = trim($title, '-');

        return $title;
    }   

    mysql_query("UPDATE menus SET name='$name' , path='$path'");
    }

    ?>
    <html>
    <head>

    <script>


$(document).ready(
function(){
          $("#name").change(function(){
             $("#path").sanitize("name").val();             

          });
} );


</script>

    </head>

    <body>
            <form action="<?php $_PHP_SELF ?>" method="post">
            <label for="nume">Name</label><input type="text" name="name" />
            <label for="cale">Path</label><input type="text" name="path" />
            <input type="submit" name="submit"/>
    </form>
    </body>
    </html>
4

2 に答える 2

1

残りはPHPコードであるため、Javascriptとして実行します

于 2013-01-14T13:27:31.047 に答える
1

PHPで記述されており、JavaScriptであるかのようにクライアント側で実行しようとしているため、機能していません。

クライアントがサニタイズされたデータを送信することを信頼することはできません。クライアントを制御することはできません。

于 2013-01-14T13:28:42.057 に答える