从mail.php获取从function.js解析到manage.html的信息

时间:2012-06-17 22:36:07

标签: php javascript html email

您在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中获取信息。

由于manage.html中的<script>cartShow(); fillInForm();</script>正在显示表格中的信息,因此我不知道如何将其转换为MAIL.PHP。

我希望有人可以帮助我,我正在尝试最后5个小时来解决这个问题。

1 个答案:

答案 0 :(得分:1)

在您的代码中,输入字段的“名称”属性类似于"Brand&nbsp;1"。要在PHP(作为数组)中更轻松地访问它们,您可以使用"Brand[]"

mail.php中的var_dump($_GET)对于调试实际发送的数据肯定是有用的。