1

home.html で製品を選択すると、JS の Cookie と関数が情報を解析して manage.html に変換し、manage.html で情報を入力して mail.php に送信すると、mail.php は顧客がすでにデータベースにあり、そうでない場合は追加されます。次に、注文をデータベースに追加します。

他のすべては機能しますが、注文をデータベースに追加する最後のステップのみが機能しません。これは、manage.html の JS を mail.php に取得する方法がわからないためです。

$_GET["something"]; のようなものを使用しようとしています。mail.php で、manage.html に解析される JavaScript から情報を取得します。

COOKIES.JS のコード

function readCookies(name){
    var nameCookie = name + "=";
    var cookieArray = document.cookie.split(';');
    for (var i=0; i < cookieArray.length; i++){
        var thisCookie = cookieArray[i]
        while (thisCookie.charAt(0) ==' '){
            thisCookie = thisCookie.substring(1,thisCookie.length);
        }
        if (thisCookie.indexOf(nameCookie) == 0){
            return thisCookie.substring(nameCookie.length,thisCookie.length);
        }
    }
    return null;
}

FUNCTION.JS のコード:

function cartShow(){
    NumberOrdered = 0;
    NumberOrdered = readCookies("NumberOrdered");
    tableRow = "";
    for (i = 1; i <= NumberOrdered; i++){
        NewOrder = "Order" + i;
        thisCookie = readCookies(NewOrder);
        fields = new Array();
        fields = thisCookie.split("|");
        tableRow += "<tr>"
            + "<td>" + fields[0] + "</td>"
            + "<td>" + fields[1] + "</td>"
            + "<td>" + fields[2] + "</td>"
            + "<td>" + fields[3] + "</td>"
            + "<td>" + fields[4] + "</td>"
            + "<td>" + fields[3] * fields[4] + "</td>"
            + "<td>" + "<img src=\"includes/images/delete.png\"/ OnClick=\"DeleteItem(" + i + ")\">" + "</td>"
            + "</tr>";
    }
    document.write(tableRow);
}

    function fillInForm(){

    NumberOrdered = 0;
    NumberOrdered = readCookies("NumberOrdered");

    for (i = 1; i <= NumberOrdered; i++){
        NewOrder = "Order" + i;
        thisCookie = "";
        thisCookie = readCookies(NewOrder);;
        fields = new Array();
        fields = thisCookie.split("|");
        document.write("<input type=hidden name=\"Product ID " + "&nbsp;" + i + "\" value=\"" + "&nbsp;" + fields[0] + "\">");
        document.write("<input type=hidden name=\"Brand " + "&nbsp;" + i + "\" value=\"" + "&nbsp;" + fields[1] + "\">");
        document.write("<input type=hidden name=\"Model " + "&nbsp;" + i + "\" value=\"" + "&nbsp;" + fields[2] + "\">");
        document.write("<input type=hidden name=\"Price " + "&nbsp;" + i + "\" value=\"" + "&nbsp;" + fields[3] + "\">");
        document.write("<input type=hidden name=\"Amount products " + "&nbsp;" + i + "\" value=\"" + "&nbsp;" + fields[4] + "\">");
        document.write("<input type=hidden name=\"Total cost " + "&nbsp;" + i + "\" value=\"" + "&nbsp;" + fields[3] * fields[4] + "\">");
        document.write("<input type=hidden name=\" " + "\" value=\"" + "\">");

    }
}

これは、MANAGE.HTML にいくつかの製品情報を表示するために使用されます。

<form action="mail.php" enctype="text/plain" onSubmit="return checkForm(this);" method="get">
            <table border=1 summary="">
                <tr>
                    <td bgcolor=#cccccc><b><p name="id"> id</p></b></td>
                    <td bgcolor=#cccccc><b> brand</b></td>
                    <td bgcolor=#cccccc><b> model</b></td>
                    <td bgcolor=#cccccc><b> price</b></td>
                    <td bgcolor=#cccccc><b> number</b></td>
                    <td bgcolor=#cccccc><b> total</b></td>
                    <td bgcolor=#cccccc><b> delete</b></td>
                </tr>
                <script>
                    cartShow();
                    fillInForm();
                </script>
            </table>
<input type="image" src="includes/images/checkout.png" alt="" value="send" />
            </form>

この後、MAIL.PHP で情報を取得する必要があります。

in manage.html はテーブルの情報を表示しているため<script>cartShow(); fillInForm();</script>、MAIL.PHP にどのように取得できるかわかりません。

誰かが私を助けてくれることを願っています.私はこれを理解するために過去5時間努力しています.

4

1 に答える 1

1

コードでは、入力フィールドの「名前」属性は次のようなものです"Brand&nbsp;1"。PHP でより簡単に (配列として) アクセスするには、"Brand[]".

var_dump($_GET)mail.phpの Aは、実際に送信されているデータをデバッグするのに役立ちます。

于 2012-06-17T23:03:52.470 に答える