0

私は約1年前に小さな注文フォームのアプリケーションを作成しました。これにより、ユーザーはいくつかのアイテムを選択し、送信ボタンをクリックして送信ボタンをクリックし、phpスクリプトを起動して、注文者と会社の両方の電子メール請求書を作成します。製品を供給します。

今でも私はPHPに非常に慣れていないので、PHPに戻ってきたので、書いた内容をたくさん忘れてしまいました。何らかの理由でメールにエラーが発生し、誰かが見つけてくれることを願っています。

これは私の注文フォームページがどのように見えるかです

ここに画像の説明を入力してください

これはそのページのコードです

<p><i>Required fields are marked with</i> <b>*</b></p>

<form action="orderformDNP.php" method="post"
onsubmit="document.getElementById('myButton').disabled=true;
document.getElementById('myButton').value='Submitting...';"
>

<table width="496" border="0" style="border-width: 1px; border-color:#E5E5E5;
border-style: solid;">
    <tr>
        <td width="40%">
            Name: *
        </td>
        <td width="60%">
            <input type="text" name="yourname" />
        </td>
    </tr>
    <tr>
        <td width="40%">
            Phone Number: *
        </td>
        <td width="60%">
            <input type="text" name="phonenumber" />
        </td>
    </tr>
    <tr>
        <td width="40%">
            Mobile Number: 
        </td>
        <td width="60%">
            <input type="text" name="mobilenumber" />
        </td>
    </tr>
    <tr>
        <td width="40%">
            E-mail: *
        </td>
        <td width="60%">
            <input type="text" name="email" />
        </td>
    </tr>
    <tr>
        <td width="40%">
            Deliver Address: *
        </td>
        <td width="60%">
            <textarea name="deliveryaddress" rows="3" cols="40"></textarea>
        </td>
    </tr>
 </table>
 </br>


<!-- this is the ordering part of the form --!>

 <h3>Duvets</h3>

<?php

//Start session
    //session_start();

    //Include database connection details
    require_once('config.php');

    //Array to store validation errors
    $errmsg_arr = array();

    //Validation error flag
    $errflag = false;

    //Connect to mysql server
    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if(!$link) {
        die('Failed to connect to server: ' . mysql_error());
    }

    //Select database
    $db = mysql_select_db(DB_DATABASE);
    if(!$db) {
        die("Unable to select database");
    }



$result = mysql_query("SELECT * FROM 5050goosedown ORDER BY price ASC");

echo "<table border='0' width='496'>
<tr>
<th width='30%'><b>50/50 Goose Down:</b></th>
<th width='30%'><i>Normal Fill / Our Fill</i></th>
<th width='12.5%'><i>Old Price</i></th>
<th width='12.5%'><i>Price</i></th>
<th width='12.5%'><i>Quantity</i></th>
</tr>";

$i = 1;
while($row = mysql_fetch_array($result)){
    echo "<tr bgcolor='#F5F5F5'>";
  if($i%2 == 0){
      echo "<tr bgcolor='#E5E5E5'>";
  }
  $i++;

  if (($row['width'] ==0) && ($row['height']== 0)){
    echo "<td>" . $row['name'] . "</td>";
  }
  else {
    echo "<td>" . $row['name'] . "   -" . $row['width'] . "/" . $row['height'] .  "</td>";
  }
  echo "<td>" . $row['normal_fill'] . "/" . $row['our_fill'] . "</td>";
  if ($row['old_price'] !=0){
    echo "<td>" . $row['old_price'] . "</td>";
  }
  else {
    echo "<td></td>";
  }
  echo "<td>" . $row['price'] . "</td>";
  echo "<td><select name=". $row['goosedown_id'] .">
                <option value=''> 0 </option>
                <option>1</option>
                <option>2</option>
                <option>3</option>
                <option>4</option>
                <option>5</option>
                <option>6</option>
                <option>7</option>
                <option>8</option>
            </select>
        </td>";
  echo "</tr>";
  }
echo "</table>";

?>
</br></br>
<?php

//Start session
    //session_start();

    //Include database connection details
    require_once('config.php');

    //Array to store validation errors
    $errmsg_arr = array();

    //Validation error flag
    $errflag = false;

    //Connect to mysql server
    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if(!$link) {
        die('Failed to connect to server: ' . mysql_error());
    }

    //Select database
    $db = mysql_select_db(DB_DATABASE);
    if(!$db) {
        die("Unable to select database");
    }


$result = mysql_query("SELECT * FROM 5050duckdown ORDER BY price ASC");

echo "<table border='0' width='496'>
<tr>
<th width='30%'><b>50/50 Duck Down:</b></th>
<th width='30%'><i>Normal Fill / Our Fill</i></th>
<th width='12.5%'><i>Price</i></th>
<th width='12.5%'><i>Quantity</i></th>
</tr>";

$i = 1;
while($row = mysql_fetch_array($result)){
    echo "<tr bgcolor='#F5F5F5'>";
  if($i%2 == 0){
      echo "<tr bgcolor='#E5E5E5'>";
  }
  $i++;

  if (($row['width'] ==0) && ($row['height']== 0)){
    echo "<td>" . $row['name'] . "</td>";
  }
  else {
    echo "<td>" . $row['name'] . "   -" . $row['width'] . "/" . $row['height'] .  "</td>";
  }
  echo "<td>" . $row['normal_fill'] . "/" . $row['our_fill'] . "</td>";
  echo "<td>" . $row['price'] . "</td>";
  echo "<td><select name=". $row['duckdown_id'] .">
                <option value=''> 0 </option>
                <option>1</option>
                <option>2</option>
                <option>3</option>
                <option>4</option>
                <option>5</option>
                <option>6</option>
                <option>7</option>
                <option>8</option>
            </select>
        </td>";
  echo "</tr>";
  }
echo "</table>";

?>
</br></br>
<?php

//Start session
    //session_start();

    //Include database connection details
    require_once('config.php');

    //Array to store validation errors
    $errmsg_arr = array();

    //Validation error flag
    $errflag = false;

    //Connect to mysql server
    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if(!$link) {
        die('Failed to connect to server: ' . mysql_error());
    }

    //Select database
    $db = mysql_select_db(DB_DATABASE);
    if(!$db) {
        die("Unable to select database");
    }


$result = mysql_query("SELECT * FROM 955goosedown ORDER BY price ASC");

echo "<table border='0' width='496'>
<tr>
<th width='30%'><b>95/5 Goose Down:</b></th>
<th width='30%'><i>Normal Fill / Our Fill</i></th>
<th width='12.5%'><i>Old Price</i></th>
<th width='12.5%'><i>Price</i></th>
<th width='12.5%'><i>Quantity</i></th>
</tr>";

$i = 1;
while($row = mysql_fetch_array($result)){
    echo "<tr bgcolor='#F5F5F5'>";
  if($i%2 == 0){
      echo "<tr bgcolor='#E5E5E5'>";
  }
  $i++;

  if (($row['width'] ==0) && ($row['height']== 0)){
    echo "<td>" . $row['name'] . "</td>";
  }
  else {
    echo "<td>" . $row['name'] . "   -" . $row['width'] . "/" . $row['height'] .  "</td>";
  }
  echo "<td>" . $row['normal_fill'] . "/" . $row['our_fill'] . "</td>";
  if ($row['old_price'] !=0){
    echo "<td>" . $row['old_price'] . "</td>";
  }
  else {
    echo "<td></td>";
  }
  echo "<td>" . $row['price'] . "</td>";
  echo "<td><select name=". $row['955goosedown_id'] .">
                <option value=''> 0 </option>
                <option>1</option>
                <option>2</option>
                <option>3</option>
                <option>4</option>
                <option>5</option>
                <option>6</option>
                <option>7</option>
                <option>8</option>
            </select>
        </td>";
  echo "</tr>";
  }
echo "</table>";

?>
</br>
<h3>Pillows</h3>

<?php

//Start session
    //session_start();

    //Include database connection details
    require_once('config.php');

    //Array to store validation errors
    $errmsg_arr = array();

    //Validation error flag
    $errflag = false;

    //Connect to mysql server
    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if(!$link) {
        die('Failed to connect to server: ' . mysql_error());
    }

    //Select database
    $db = mysql_select_db(DB_DATABASE);
    if(!$db) {
        die("Unable to select database");
    }


$result = mysql_query("SELECT * FROM goosedownpillows ORDER BY price ASC");

echo "<table border='0' width='496'>
<tr>
<th width='62.5%'><b>Goose Down Pillows:</b></th>
<th width='12.5%'><i>Price</i></th>
<th width='12.5%'><i>Quantity</i></th>
</tr>";

$i = 1;
while($row = mysql_fetch_array($result)){
    echo "<tr bgcolor='#F5F5F5'>";
  if($i%2 == 0){
      echo "<tr bgcolor='#E5E5E5'>";
  }
  $i++;

  echo "<td>" . $row['name'] ."</td>";
  echo "<td>" . $row['price'] . "</td>";
  echo "<td><select name=". $row['goosedownpillows_id'] .">
                <option value=''> 0 </option>
                <option>1</option>
                <option>2</option>
                <option>3</option>
                <option>4</option>
                <option>5</option>
                <option>6</option>
                <option>7</option>
                <option>8</option>
            </select>
        </td>";
  echo "</tr>";
  }
echo "</table>";

?>
</br>
<h3>Feather Mattress Toppers</h3>

<?php

//Start session
    //session_start();

    //Include database connection details
    require_once('config.php');

    //Array to store validation errors
    $errmsg_arr = array();

    //Validation error flag
    $errflag = false;

    //Connect to mysql server
    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if(!$link) {
        die('Failed to connect to server: ' . mysql_error());
    }

    //Select database
    $db = mysql_select_db(DB_DATABASE);
    if(!$db) {
        die("Unable to select database");
    }


$result = mysql_query("SELECT * FROM feathermattresstoppers ORDER BY price ASC");

echo "<table border='0' width='496'>
<tr>
<th width='62.5%'><b>95/5 Mattress Toppers:</b></th>
<th width='12.5%'><i>Old Price</i></th>
<th width='12.5%'><i>Price</i></th>
<th width='12.5%'><i>Quantity</i></th>
</tr>";

$i = 1;
while($row = mysql_fetch_array($result)){
    echo "<tr bgcolor='#F5F5F5'>";
  if($i%2 == 0){
      echo "<tr bgcolor='#E5E5E5'>";
  }
  $i++;

  if (($row['width'] ==0) && ($row['height']== 0)){
    echo "<td>" . $row['name'] . "</td>";
  }
  else {
    echo "<td>" . $row['name'] . "   -" . $row['width'] . "/" . $row['height'] .  "</td>";
  }
  if ($row['old_price'] !=0){
    echo "<td>" . $row['old_price'] . "</td>";
  }
  else {
    echo "<td></td>";
  }
  echo "<td>" . $row['price'] . "</td>";
  echo "<td><select name=". $row['feathermattresstoppers_id'] .">
                <option value=''> 0 </option>
                <option>1</option>
                <option>2</option>
                <option>3</option>
                <option>4</option>
                <option>5</option>
                <option>6</option>
                <option>7</option>
                <option>8</option>
            </select>
        </td>";
  echo "</tr>";
  }
echo "</table>";

?>





<p><b>Additional Info:</b><br />
<textarea name="comments" rows="10" cols="40"></textarea></p>
</br></br>496

Access code: <input type="text" name="code" /><br />
Please enter <i>MYCODE</i> above. </br></br>

<input type="submit" value="Submit" id="myButton" />

        </td>

    </tr>
</table>

</td>

これはorderformDNPであり、正しく機能していないようです。理由はわかりません。

<?php
    session_start();

    $body_items = '';
    $total_price = 0;


    /* Set Redgraves Email address, so they receive the orders  */
    $myemail  = "clientsEmail@gmail.com";

    /* Check all form inputs using check_input function */
    $yourname = check_input($_POST['yourname'], "Enter your name");
    $phonenumber = check_input($_POST['phonenumber'], "Enter your phone number");
    $mobilenumber = check_input($_POST['mobilenumber']);
    $email    = check_input($_POST['email'], "Enter your E-mail address");
    $deliveryaddress = check_input($_POST['deliveryaddress'], "Enter your delivery address");

    $comments = check_input($_POST['comments']);

    $random = substr(number_format(time() * rand(),0,'',''),0,10);

    $goosedown_id = ($_POST[$row['goosedown_id']]); 




    if (strtolower($_POST['code']) != 'mycode') 
    {
        die('Wrong access code');
    }

    /* If e-mail is not valid show error message */
    if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
    {
        show_error("E-mail address not valid");
    }

    /* If phone number has characters show error message */
    if (preg_match("/\D/",$phonenumber))
    {
        die("Please enter numbers only for Phone Number");
    }

    /* If mobile number has characters show error message */
    if (preg_match("/\D/",$mobilenumber))
    {
        die("Please enter numbers only for Mobile Number");
    }


    // 5050duckdown
    $flag = 0;
    $i = 1;
    $order_content = '';
    foreach ($_POST['5050goosedown'] as $key => $value ) {
        if ($value > 0) {
            $flag = 1;
            if($i%2 == 0)
                $order_content .= "<tr bgcolor='#E5E5E5'>";
            else
                $order_content .= "<tr bgcolor='#F5F5F5'>";
            $i++;

            if (($row['width'] ==0) && ($row['height']== 0))
                $order_content .=  "<td>" . $_SESSION['5050goosedown'][$key]['name'] . "</td>";
            else
                $order_content .=  "<td>" . $_SESSION['5050goosedown'][$key]['name'] . "   -" . $_SESSION['5050goosedown'][$key]['width'] . "/" . $_SESSION['5050goosedown'][$key]['height'] .  "</td>";

            $order_content .= "<td>" . $_SESSION['5050goosedown'][$key]['price'] . "</td>";

            $order_content .= "<td>" . $value . "</td>";

            $sub = $_SESSION['5050goosedown'][$key]['price'] * $value;
            $total_price += $sub;
            $order_content .= "<td>" . $sub . "</td></tr>";
        }
    }

    if ($flag == 1) {
        $body_items .= "<table border='0' width='600'>
                            <tr>
                                <th width='30%'><b>50/50 Goose Down:</b></th>
                                <th width='12.5%'><i>Item Price</i></th>
                                <th width='12.5%'><i>Quantity</i></th>
                                <th width='12.5%'><i>Price</i></th>
                            </tr>";
        $body_items .= $order_content;
        $body_items .= '</table><br /><br />';
    }

    //////////////
    $flag = 0;
    $i = 1;
    $order_content = '';
    foreach ($_POST['5050duckdown'] as $key => $value ) {
        if ($value > 0) {
            $flag = 1;
            if($i%2 == 0)
                $order_content .= "<tr bgcolor='#E5E5E5'>";
            else
                $order_content .= "<tr bgcolor='#F5F5F5'>";
            $i++;

            if (($row['width'] ==0) && ($row['height']== 0))
                $order_content .=  "<td>" . $_SESSION['5050duckdown'][$key]['name'] . "</td>";
            else
                $order_content .=  "<td>" . $_SESSION['5050duckdown'][$key]['name'] . "   -" . $_SESSION['5050duckdown'][$key]['width'] . "/" . $_SESSION['5050duckdown'][$key]['height'] .  "</td>";

            $order_content .= "<td>" . $_SESSION['5050duckdown'][$key]['price'] . "</td>";

            $order_content .= "<td>" . $value . "</td>";

            $sub = $_SESSION['5050duckdown'][$key]['price'] * $value;
            $total_price += $sub;
            $order_content .= "<td>" . $sub . "</td></tr>";
        }
    }

    if ($flag == 1) {
        $body_items .= "<table border='0' width='600'>
                            <tr>
                                <th width='30%'><b>50/50 Duck Down:</b></th>
                                <th width='12.5%'><i>Item Price</i></th>
                                <th width='12.5%'><i>Quantity</i></th>
                                <th width='12.5%'><i>Price</i></th>
                            </tr>";
        $body_items .= $order_content;
        $body_items .= '</table><br /><br />';
    }

    /////////////////
    $flag = 0;
    $i = 1;
    $order_content = '';
    foreach ($_POST['955goosedown'] as $key => $value ) {
        if ($value > 0) {
            $flag = 1;
            if($i%2 == 0)
                $order_content .= "<tr bgcolor='#E5E5E5'>";
            else
                $order_content .= "<tr bgcolor='#F5F5F5'>";
            $i++;

            if (($row['width'] ==0) && ($row['height']== 0))
                $order_content .=  "<td>" . $_SESSION['955goosedown'][$key]['name'] . "</td>";
            else
                $order_content .=  "<td>" . $_SESSION['955goosedown'][$key]['name'] . "   -" . $_SESSION['955goosedown'][$key]['width'] . "/" . $_SESSION['955goosedown'][$key]['height'] .  "</td>";

            $order_content .= "<td>" . $_SESSION['955goosedown'][$key]['price'] . "</td>";

            $order_content .= "<td>" . $value . "</td>";

            $sub = $_SESSION['955goosedown'][$key]['price'] * $value;
            $total_price += $sub;
            $order_content .= "<td>" . $sub . "</td></tr>";
        }
    }

    if ($flag == 1) {
        $body_items .= "<table border='0' width='600'>
                            <tr>
                                <th width='30%'><b>95/5 Goose Down:</b></th>
                                <th width='12.5%'><i>Item Price</i></th>
                                <th width='12.5%'><i>Quantity</i></th>
                                <th width='12.5%'><i>Price</i></th>
                            </tr>";
        $body_items .= $order_content;
        $body_items .= '</table><br /><br />';
    }

    //////
    $flag = 0;
    $i = 1;
    $order_content = '';
    foreach ($_POST['goosedownpillows'] as $key => $value ) {
        if ($value > 0) {
            $flag = 1;
            if($i%2 == 0)
                $order_content .= "<tr bgcolor='#E5E5E5'>";
            else
                $order_content .= "<tr bgcolor='#F5F5F5'>";
            $i++;

            if (($row['width'] ==0) && ($row['height']== 0))
                $order_content .=  "<td>" . $_SESSION['goosedownpillows'][$key]['name'] . "</td>";
            else
                $order_content .=  "<td>" . $_SESSION['goosedownpillows'][$key]['name'] . "   -" . $_SESSION['goosedownpillows'][$key]['width'] . "/" . $_SESSION['goosedownpillows'][$key]['height'] .  "</td>";

            $order_content .= "<td>" . $_SESSION['goosedownpillows'][$key]['price'] . "</td>";

            $order_content .= "<td>" . $value . "</td>";

            $sub = $_SESSION['goosedownpillows'][$key]['price'] * $value;
            $total_price += $sub;
            $order_content .= "<td>" . $sub . "</td></tr>";
        }
    }

    if ($flag == 1) {
        $body_items .= "<table border='0' width='600'>
                            <tr>
                                <th width='30%'><b>Goose Down Pillows:</b></th>
                                <th width='12.5%'><i>Item Price</i></th>
                                <th width='12.5%'><i>Quantity</i></th>
                                <th width='12.5%'><i>Price</i></th>
                            </tr>";
        $body_items .= $order_content;
        $body_items .= '</table><br /><br />';
    }

    //////
    $flag = 0;
    $i = 1;
    $order_content = '';
    foreach ($_POST['feathermattresstoppers'] as $key => $value ) {
        if ($value > 0) {
            $flag = 1;
            if($i%2 == 0)
                $order_content .= "<tr bgcolor='#E5E5E5'>";
            else
                $order_content .= "<tr bgcolor='#F5F5F5'>";
            $i++;

            if (($row['width'] ==0) && ($row['height']== 0))
                $order_content .=  "<td>" . $_SESSION['feathermattresstoppers'][$key]['name'] . "</td>";
            else
                $order_content .=  "<td>" . $_SESSION['feathermattresstoppers'][$key]['name'] . "   -" . $_SESSION['feathermattresstoppers'][$key]['width'] . "/" . $_SESSION['feathermattresstoppers'][$key]['height'] .  "</td>";

            $order_content .= "<td>" . $_SESSION['feathermattresstoppers'][$key]['price'] . "</td>";

            $order_content .= "<td>" . $value . "</td>";

            $sub = $_SESSION['feathermattresstoppers'][$key]['price'] * $value;
            $total_price += $sub;
            $order_content .= "<td>" . $sub . "</td></tr>";
        }
    }

    if ($flag = 1) {
        $body_items .= "<table border='0' width='600'>
                            <tr>
                                <th width='30%'><b>95/5 Mattress Toppers:</b></th>
                                <th width='12.5%'><i>Item Price</i></th>
                                <th width='12.5%'><i>Quantity</i></th>
                                <th width='12.5%'><i>Price</i></th>
                            </tr>";
        $body_items .= $order_content;
        $body_items .= '</table><br /><br />';
    }
    $body_items .= "<br /><b>Total: $total_price</b></b></b>";



/*-------------------First Email--------------------*/

    /* Set Email for Redgraves, so they can for-full the order form */
    $message = "A order form has been submitted by: $yourname<br /><br />

    Order number :<u>$random</u><br /><br />

    <b>Name:</b> $yourname<br />
    <b>E-mail:</b> $email<br />
    <b>Phone Number:</b> $phonenumber<br />
    <b>Mobile Number:</b> $mobilenumber<br />
    <b>Delivery Address:</b> $deliveryaddress<br />
    <b>Comments:</b> $comments<br /><br />

    $body_items


    <br /><br />**End of message**
    ";

/* Send the message using mail() function */
    $header= "MIME-Version: 1.0\r\n";
    $header.= "Content-type: text/html\r\n";
    mail($myemail, "Order Submitted", $message, $header);

    /* Send the message using mail() function */
    //mail($myemail, "Order Submitted", $message);

/*---------------Second Email---------------------*/    

    /* This email is to confirm the order and act as a receipt to the purchaser */
    $respond_message = "Order Completed<br /><br />

    Your order has been submitted! details are as follows<br /><br />

    <b>Name:</b> $yourname<br />
    <b>E-mail:</b> $email<br />
    <b>Phone Number:</b> $phonenumber<br />
    <b>Mobile Number:</b> $mobilenumber<br />
    <b>Delivery Address:</b> $deliveryaddress<br />
    <b>Comments:</b> $comments<br /><br />

    $body_items


    <br /><b>Reference Number:</b> <u>$random</u><br /><br />

    Please make payment using the refrence number above within 7 working days or your order will be canceled <br />
    ASB 000-0000-0000-00 ";

    /* Send the message using mail() function */
    $headers= "MIME-Version: 1.0\r\n";
    $headers.= "Content-type: text/html\r\n";
    mail($email, "Thank you for your order", $respond_message, $headers);


    /* Redirect visitor to the thank you page */
    header('Location: thankyou.html');
exit();




/* Functions we used */
function check_input($data, $problem='')
{
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    if ($problem && strlen($data) == 0)
    {
        show_error($problem);
    }
    return $data;
}




function show_error($myError)
{
?>
    <html>
    <body>

    <b>Please correct the following error:</b><br />
    <?php echo $myError; ?>

    </body>
    </html>
<?php
exit();
}
?>

これがメールに起こっていることです...:(

A order form has been submitted by: kc

Order number :8674170468

Name: kc
E-mail: testing@gmail.com
Phone Number: 0941
Mobile Number: 64215
Delivery Address: japan
Comments: 

95/5 Mattress Toppers:  Item Price  Quantity    Price



Total: 0 

**End of message**

私はこれを数日間続けていますが、データベースのphpバージョンなどが原因でこのエラーが発生する可能性があります。

どんな助けでも大歓迎です

更新:これはprint_r($ _ POST);から生成されたものです。

Array ( [yourname] => kc 
        [phonenumber] => 987 
        [mobilenumber] => 987 
        [email] => test@gmail.com 
        [deliveryaddress] => testing 66 
        [1] => 
        [2] => 
        [comments] => sdsdf 
        [code] => MYCODE )

更新2:価格と他のいくつかの値を出力しない電子メール出力

ここに画像の説明を入力してください

4

1 に答える 1

2

if ($flag = 1)

おそらくif ($flag == 1)

ほとんどの条件文では後者として正しく記述されていますが、マットレストッパーのものではありません。これが、空のマットレストッパーセクションが常に表示される理由です。

表示されている内容に基づく$_POSTと、実際のフォームフィールドの名前とPHPが検出することを期待している名前の間に不一致があるように見えます。たとえば、50/50グースダウンセクションが探しています: $_POST['5050goosedown']しかし、私が想定しているドロップダウンはこれに関連付けられている<select name=". $row['goosedown_id'] .">ため、$_POSTに任意のキーと同じキーで表示され$row['goosedown_id']ます。これらは数値のようです($_POSTfor1と。の空の値のエントリ2

なぜ彼らは空ですか?私の推測では、これらのIDは複数のフィールドで共有されているため、同じ名前の複数の選択があり、送信時に互いに競合しています。

選択を次のように変更してみてください(最初の例):

echo '<td><select name="5050goosedown[' . $row['goosedown_id'] . ']">'
. "<option>1</option>
<option>2</option>
and so on

これにより$_POST、ネストされた配列として表示されます。

array(
    [5050goosedown] => array( 
        [1] => 2, 
        [2] => 
    )
)

ここでの特定のアイテムIDは1と2です。これはPHPコードが期待していることのようです。

于 2013-03-26T07:04:15.370 に答える