0

これらのデータをさらに進める前に、データベースにある値といくつかの値をクロスチェックしようとしています。

私はフォームを持っており、このフォームで私は投稿しています

pid, Name, size, category and qty.

の検証はすでに行っていqtyます。

私が投稿しているこれらのデータでは、それらを使用して で価格を見つけていdatabaseます。私は価格を掲載していません。

私はこれらの投稿データを使用して、誰かが台無しにしたいかもしれない価格を見つけているので、たとえば、カテゴリまたはサイズの値を何でも変更します。彼らがこれを行うと、それはまだ投稿され、ページはレンダリングされ、次のようになります

Name:     qty:      unit price:         total item price:
size:

これらのテーブル名のショーNOTHINGは表示されていますが、これはページがレンダリングされているだけであることを意味します。「人が値をいじるのなら、それは彼らのせいだ」と思う人もいるかもしれません。私は完全に同意しますが、それでもページのレンダリングを停止したい

投稿されたすべてがその製品 ID ( ) のアイテムのいずれにも関連していない場合Pid

他のページでレンダリングする前に ajax を使用してそれらを検証するにはどうすればよいですか?

私はすでに次のようなajaxを持っています

$(document).ready(function(){
    $('#selected').hide();
    $('#button').click(function(){
        var pid = $('#pid').val();
        var size = $('#size').val();
         var qty = $('#Qty').val();
        var price = '\u00A3' + parseInt($('#pricetag').text().replace(/^\D/, ''), 10) * qty;
        if (!/^[1-9]\d?$/.test(Qty)){
            alert('Quantity should not be below 1 or null');
            return false; // don't continue
        } 
        else {
        $('#sprice').text(price);
        $('#ssize').text(size);
        $('#selected').slideDown();
        }
        $.ajax({
            url: 'cart.php',
            type: 'POST',
            data: { pid:pid, 
            size:size, 
            Qty:Qty, 
            Category:Category },
            success: function(data)
            {

            }
        });
    });
});

cart.php

これらの値を投稿する場所です。

どうすればこれを行うことができますか?

4

1 に答える 1

1

サーバーにデータが有効かどうかを確認するように依頼します。フォーム データとは別に、これが AJAX 検証であることを PHP に通知するフラグも投稿して、AJAX 投稿と通常のフォーム送信を区別できるようにします。

PHP では、データの有効性が判断された後は、true または false を返すことができます。その後、Javascript はその時点から何をすべきかを決定できます。

ただし、これについては他の方法があると思います。ユーザーがこれらのフィールドを変更できないようにするか、フォームを投稿して、ユーザーが無効なデータを送信した場合にフォームを再度レンダリングすることができます。もう 1 つの方法は、ユーザーが実行できる選択肢を制限して、ユーザーの入力が常に有効になるようにすることです。

于 2013-07-26T02:48:15.183 に答える